[dali_1.2.36] Merge branch 'devel/master' 50/126450/1
authoradam.b <adam.b@samsung.com>
Fri, 21 Apr 2017 11:30:32 +0000 (12:30 +0100)
committeradam.b <adam.b@samsung.com>
Fri, 21 Apr 2017 11:30:32 +0000 (12:30 +0100)
Change-Id: Ied3db40ab93fc8d57b4f6a3204369585d4ea5b4c

387 files changed:
automated-tests/src/dali-toolkit/utc-Dali-ImageView.cpp
dali-toolkit/devel-api/controls/control-devel.cpp [new file with mode: 0644]
dali-toolkit/devel-api/controls/control-devel.h
dali-toolkit/devel-api/file.list
dali-toolkit/internal/controls/control/control-data-impl.cpp [new file with mode: 0644]
dali-toolkit/internal/controls/control/control-data-impl.h [new file with mode: 0644]
dali-toolkit/internal/file.list
dali-toolkit/internal/visuals/animated-image/animated-image-visual.cpp
dali-toolkit/internal/visuals/border/border-visual.cpp
dali-toolkit/internal/visuals/color/color-visual.cpp
dali-toolkit/internal/visuals/gradient/gradient-visual.cpp
dali-toolkit/internal/visuals/image/image-visual.cpp
dali-toolkit/internal/visuals/mesh/mesh-visual.cpp
dali-toolkit/internal/visuals/npatch/npatch-visual.cpp
dali-toolkit/internal/visuals/primitive/primitive-visual.cpp
dali-toolkit/internal/visuals/svg/svg-visual.cpp
dali-toolkit/internal/visuals/text/text-visual.cpp
dali-toolkit/internal/visuals/visual-base-data-impl.cpp
dali-toolkit/internal/visuals/visual-base-data-impl.h
dali-toolkit/internal/visuals/visual-base-impl.cpp
dali-toolkit/internal/visuals/visual-base-impl.h
dali-toolkit/internal/visuals/visual-resource-observer.h [new file with mode: 0644]
dali-toolkit/internal/visuals/wireframe/wireframe-visual.cpp
dali-toolkit/public-api/controls/control-impl.cpp
dali-toolkit/public-api/controls/control-impl.h
dali-toolkit/public-api/dali-toolkit-version.cpp
packaging/dali-toolkit.spec
plugins/dali-sharp/build/Makefile.am [new file with mode: 0644]
plugins/dali-sharp/build/configure.ac [new file with mode: 0644]
plugins/dali-sharp/dali-bindings/common.h [new file with mode: 0644]
plugins/dali-sharp/dali-bindings/dali_wrap.cpp [new file with mode: 0644]
plugins/dali-sharp/dali-bindings/dali_wrap.h [new file with mode: 0644]
plugins/dali-sharp/dali-bindings/devel-property-wrap.cpp [new file with mode: 0755]
plugins/dali-sharp/dali-bindings/event-thread-callback-wrap.cpp [new file with mode: 0644]
plugins/dali-sharp/dali-bindings/keyboard_focus_manager_wrap.cpp [new file with mode: 0644]
plugins/dali-sharp/dali-bindings/view-wrapper-impl-wrap.cpp [new file with mode: 0644]
plugins/dali-sharp/dali-bindings/view-wrapper-impl-wrap.h [new file with mode: 0644]
plugins/dali-sharp/examples/control-dashboard.cs [new file with mode: 0755]
plugins/dali-sharp/examples/custom-control.cs [new file with mode: 0644]
plugins/dali-sharp/examples/dali-test.cs [new file with mode: 0755]
plugins/dali-sharp/examples/date-picker-using-json.cs [new file with mode: 0644]
plugins/dali-sharp/examples/date-picker.cs [new file with mode: 0644]
plugins/dali-sharp/examples/hello-test.cs [new file with mode: 0644]
plugins/dali-sharp/examples/hello-world.cs [new file with mode: 0755]
plugins/dali-sharp/examples/image-view.cs [new file with mode: 0755]
plugins/dali-sharp/examples/images/arrow.png [new file with mode: 0644]
plugins/dali-sharp/examples/images/gallery-0.jpg [new file with mode: 0644]
plugins/dali-sharp/examples/images/gallery-1.jpg [new file with mode: 0644]
plugins/dali-sharp/examples/images/gallery-2.jpg [new file with mode: 0644]
plugins/dali-sharp/examples/images/gallery-3.jpg [new file with mode: 0644]
plugins/dali-sharp/examples/images/gallery-4.jpg [new file with mode: 0644]
plugins/dali-sharp/examples/images/gallery-5.jpg [new file with mode: 0644]
plugins/dali-sharp/examples/images/gallery-small-43.jpg [new file with mode: 0644]
plugins/dali-sharp/examples/images/image-1.jpg [new file with mode: 0644]
plugins/dali-sharp/examples/images/image-2.jpg [new file with mode: 0644]
plugins/dali-sharp/examples/images/image-3.jpg [new file with mode: 0644]
plugins/dali-sharp/examples/images/not_yet_sign.png [new file with mode: 0644]
plugins/dali-sharp/examples/images/star-dim.png [new file with mode: 0644]
plugins/dali-sharp/examples/images/star-highlight.png [new file with mode: 0644]
plugins/dali-sharp/examples/images/star-mod.png [new file with mode: 0644]
plugins/dali-sharp/examples/json-loader.cs [new file with mode: 0644]
plugins/dali-sharp/examples/json/control-dashboard.json [new file with mode: 0644]
plugins/dali-sharp/examples/json/date-picker-template.json [new file with mode: 0644]
plugins/dali-sharp/examples/json/date-picker.json [new file with mode: 0644]
plugins/dali-sharp/examples/json/spin.json [new file with mode: 0644]
plugins/dali-sharp/examples/scroll-view.cs [new file with mode: 0755]
plugins/dali-sharp/examples/user-alphafunction.cs [new file with mode: 0755]
plugins/dali-sharp/examples/visuals-example.cs [new file with mode: 0755]
plugins/dali-sharp/examples/visuals-using-custom-view/ContactData.cs [new file with mode: 0644]
plugins/dali-sharp/examples/visuals-using-custom-view/ContactView.cs [new file with mode: 0644]
plugins/dali-sharp/examples/visuals-using-custom-view/visuals-using-custom-view.cs [new file with mode: 0755]
plugins/dali-sharp/sharp/internal/AccessibilityActionSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/AccessibilityFocusOvershotSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/AccessibilityManager.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Actor.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ActorContainer.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ActorHoverSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ActorSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ActorTouchDataSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ActorWheelSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/AlignType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Alignment.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/AlphaFunction.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/AngleAxis.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/AngleThresholdPair.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/AnimatablePropertyComponentRegistration.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/AnimatablePropertyRegistration.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Animation.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/AnimationSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Any.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Application.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ApplicationControlSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ApplicationExtensions.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ApplicationSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/AsyncImageLoader.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/BaseHandle.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/BaseObject.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/BlendEquationType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/BlendFactorType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/BlendModeType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/BufferImage.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Builder.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Button.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ButtonSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/CameraActor.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/CameraType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/CheckBoxButton.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ChildPropertyRegistration.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ClampState.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ClampState2D.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ClippingModeType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Color.cs [new file with mode: 0755]
plugins/dali-sharp/sharp/internal/ColorMode.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ConnectionTracker.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ConnectionTrackerInterface.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ControlKeySignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ControlOrientationType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/CustomActor.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/CustomActorImpl.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/CustomAlgorithmInterface.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/CustomView.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/DaliEnumConstants.cs [new file with mode: 0755]
plugins/dali-sharp/sharp/internal/DaliEventHandler.cs [new file with mode: 0755]
plugins/dali-sharp/sharp/internal/DaliException.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/DefaultItemLayoutProperty.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/DefaultItemLayoutType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/DefaultRuler.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Degree.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/DepthFunctionType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/DepthTestModeType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/DepthWriteModeType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/DimensionType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/DirectionBias.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/DirectionType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/DisposeQueue.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/DragAndDropDetector.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/DrawModeType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/EncodedBufferImage.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/EventThreadCallback.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/FaceCullingModeType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/FilterModeType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/FittingModeType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/FixedRuler.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/FlexContainer.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/FloatSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/FocusChangedSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/FocusGroupChangedSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/FocusManager.cs [new file with mode: 0755]
plugins/dali-sharp/sharp/internal/FrameBuffer.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/FrameBufferImage.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/GaussianBlurView.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/GaussianBlurViewSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Geometry.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Gesture.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/GestureDetector.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/GradientVisualSpreadMethodType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/GradientVisualUnitsType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Handle.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/HorizontalAlignmentType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Hover.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Image.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ImageSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ImageView.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Item.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ItemContainer.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ItemFactory.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ItemIdContainer.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ItemLayout.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ItemRange.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ItemView.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Key.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/KeyEventSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/KeyFrames.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/KeyInputFocusManager.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/KeyInputFocusSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/KeyboardPreFocusChangeSignal.cs [new file with mode: 0755]
plugins/dali-sharp/sharp/internal/Layer.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/LinearConstrainer.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/LoadingState.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/LongPressGesture.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/LongPressGestureDetectedSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/LongPressGestureDetector.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ManualPINVOKE.cs [new file with mode: 0755]
plugins/dali-sharp/sharp/internal/Matrix.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Matrix3.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/MeshVisualShadingModeValue.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Meta.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Model3dView.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/NDalic.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/NDalicPINVOKE.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/NativeImage.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/NativeImageInterface.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/NinePatchImage.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ObjectCreatedSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ObjectDestroyedSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ObjectRegistry.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PaddingType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PageFactory.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PagePanSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PageTurnLandscapeView.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PageTurnPortraitView.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PageTurnSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PageTurnView.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PanGesture.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PanGestureDetectedSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PanGestureDetector.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Path.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PathConstrainer.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PinchGesture.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PinchGestureDetectedSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PinchGestureDetector.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PixelData.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PixelFormat.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PointStateType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Popup.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Position.cs [new file with mode: 0755]
plugins/dali-sharp/sharp/internal/Position2D.cs [new file with mode: 0755]
plugins/dali-sharp/sharp/internal/PositionInheritanceMode.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PrimitiveVisualShapeType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ProgressBar.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ProgressBarValueChangedSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ProjectionMode.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Property.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PropertyBuffer.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PropertyCondition.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PropertyNotification.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PropertyNotifySignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PropertyRangeManager.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PropertyRanges.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PropertyRegistration.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/PushButton.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Radian.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/RadioButton.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Rectangle.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/RefObject.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/RelayoutContainer.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/RenderBufferFormat.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/RenderModeType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/RenderTask.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/RenderTaskList.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/RenderTaskSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Renderer.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/RenderingType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ResizePolicyType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ResourceImage.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ResourceImageSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Rotation.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Ruler.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/RulerDomain.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/RulerPtr.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_CallbackBase.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Configuration__ContextLoss.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__CallbackBase.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Constraint.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__CustomActorImpl__Extension.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__FunctorDelegate.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Internal__Texture.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Internal__TypeRegistry.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__IntrusivePtrT_Dali__Toolkit__ItemLayout_t.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__RectT_unsigned_int_t.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__SignalT_bool_fDali__Actor_Dali__TouchEvent_const_RF_t.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__SignalT_bool_fDali__Toolkit__AccessibilityManager_R_Dali__TouchEvent_const_RF_t.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__Control_Dali__Toolkit__ControlF_t.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__SignalT_void_fuint32_t_Dali__PixelDataF_t.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Toolkit__ClampState.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Toolkit__Internal__AsyncImageLoader.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Toolkit__Internal__Control__Extension.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Toolkit__Internal__TransitionData.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Toolkit__Internal__Visual__Base.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Toolkit__ItemFactory__Extension.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__TouchEvent.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_FunctorDelegate.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_KeyboardFocusManager.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_PropertyInputContainer.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_double.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_float__float.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_p_Dali__BaseObject_Dali__Property__Index__Dali__Property__Value.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_p_Dali__BaseObject_int_r_q_const__Dali__Property__Value__void.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_p_Dali__BaseObject_p_Dali__ConnectionTrackerInterface_r_q_const__std__string_p_Dali__FunctorDelegate__bool.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_p_Dali__BaseObject_r_q_const__std__string_r_q_const__Dali__Property__Map__bool.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_p_q_const__Dali__Any__AnyContainerBase__void.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_r_Dali__Vector2__bool.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_r_q_const__Dali__Any__AnyContainerBase__p_Dali__Any__AnyContainerBase.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_r_q_const__Dali__Vector3__float.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_float.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_int.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_std__type_info.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_uint8_t.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_unsigned_char.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_unsigned_int.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SWIGTYPE_p_unsigned_short.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Sampler.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SamplingModeType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ScrollBar.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ScrollView.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ScrollViewEffect.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ScrollViewPagePathEffect.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ScrollViewSnapStartedSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Scrollable.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ScrollableSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Shader.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SignalConnectorType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SignalObserver.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Size.cs [new file with mode: 0755]
plugins/dali-sharp/sharp/internal/Size2D.cs [new file with mode: 0755]
plugins/dali-sharp/sharp/internal/SizeScalePolicyType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Slider.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SliderMarkReachedSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SliderValueChangedSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SlotObserver.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/SnapType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Stage.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/StageWheelSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/StencilFunctionType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/StencilOperationType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/StringValuePair.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/StyleChangeType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/StyleChangedSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/StyleManager.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/TableView.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/TapGesture.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/TapGestureDetectedSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/TapGestureDetector.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/TextEditor.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/TextEditorSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/TextField.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/TextFieldSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/TextLabel.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Texture.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/TextureSet.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/TextureType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/TimePeriod.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Timer.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/TimerSignalType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ToggleButton.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ToolkitPropertyRange.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/TooltipPositionType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Touch.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/TouchPoint.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/TouchPointContainer.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/TouchSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/TransitionData.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/TypeAction.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/TypeInfo.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/TypeRegistration.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/TypeRegistry.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Uint16Pair.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Vector2.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Vector3.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Vector4.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/VectorBase.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/VectorFloat.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/VectorInteger.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/VectorUint16Pair.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/VectorUnsignedChar.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/VerticalAlignmentType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/VideoView.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/VideoViewSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/View.cs [new file with mode: 0755]
plugins/dali-sharp/sharp/internal/ViewImpl.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ViewMode.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ViewRegistry.cs [new file with mode: 0755]
plugins/dali-sharp/sharp/internal/ViewRegistryHelper.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ViewWrapper.cs [new file with mode: 0755]
plugins/dali-sharp/sharp/internal/ViewWrapperImpl.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/VisualBase.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/VisualFactory.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/VisualTransformPolicyType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/VisualTransformPropertyType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/VisualType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/VoidSignal.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Wheel.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/Window.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/WindowFocusSignalType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/WrapModeType.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/doublep.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/floatp.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/intp.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/uintp.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/internal/ushortp.cs [new file with mode: 0644]
plugins/dali-sharp/sharp/public/README.txt [new file with mode: 0644]
plugins/dali-swig/SWIG/dali-core.i
plugins/dali-swig/SWIG/dali.i
plugins/dali-swig/SWIG/gestures/key.i

index 596d09a..d1beb09 100644 (file)
@@ -24,6 +24,7 @@
 #include <dali-toolkit/dali-toolkit.h>
 #include <dali/devel-api/scripting/scripting.h>
 #include <dali-toolkit/devel-api/visuals/image-visual-properties-devel.h>
+#include <dali-toolkit/devel-api/controls/control-devel.h>
 #include <dali/public-api/rendering/renderer.h>
 
 #include <test-native-image.h>
@@ -840,6 +841,46 @@ int UtcDaliImageViewSetImageOffstageP(void)
   END_TEST;
 }
 
+bool gResourceReadySignalFired = false;
+
+void ResourceReadySignal( Control control )
+{
+  gResourceReadySignalFired = true;
+}
+
+int UtcDaliImageViewCheckResourceReady(void)
+{
+  ToolkitTestApplication application;
+
+  gResourceReadySignalFired = false;
+
+
+  int width = 100;
+  int height = 200;
+  Image image = CreateBufferImage( width, height, Vector4(1.f, 1.f, 1.f, 1.f) );
+
+  // Check ImageView with background and main image, to ensure both visuals are marked as loaded
+  ImageView imageView = ImageView::New( TEST_GIF_FILE_NAME );
+
+  imageView.SetBackgroundImage( image );
+
+  DALI_TEST_EQUALS( Toolkit::DevelControl::IsResourceReady( imageView ), false, TEST_LOCATION );
+
+  Toolkit::DevelControl::ResourceReadySignal( imageView ).Connect( &ResourceReadySignal);
+
+  Stage::GetCurrent().Add( imageView );
+
+  application.SendNotification();
+  application.Render(16);
+
+
+  DALI_TEST_EQUALS( Toolkit::DevelControl::IsResourceReady( imageView ), true, TEST_LOCATION );
+
+  DALI_TEST_EQUALS( gResourceReadySignalFired, true, TEST_LOCATION );
+
+  END_TEST;
+}
+
 int UtcDaliImageViewSetImageOffstageN(void)
 {
   ToolkitTestApplication application;
diff --git a/dali-toolkit/devel-api/controls/control-devel.cpp b/dali-toolkit/devel-api/controls/control-devel.cpp
new file mode 100644 (file)
index 0000000..648602f
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * 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.
+ *
+ */
+
+// CLASS HEADER
+#include "control-devel.h"
+
+// INTERNAL INCLUDES
+#include <dali-toolkit/internal/controls/control/control-data-impl.h>
+#include <dali-toolkit/public-api/controls/control-impl.h>
+
+namespace Dali
+{
+
+namespace Toolkit
+{
+
+namespace DevelControl
+{
+
+ResourceReadySignalType&  ResourceReadySignal( Control& control )
+{
+
+  Internal::Control& internalControl = Toolkit::Internal::GetImplementation(control);
+  Internal::Control::Impl& controlImpl = Internal::Control::Impl::Get( internalControl );
+
+  return controlImpl.mResourceReadySignal;
+}
+
+bool IsResourceReady( const Control& control )
+{
+  const Internal::Control& internalControl = Toolkit::Internal::GetImplementation(control);
+  const Internal::Control::Impl& controlImpl = Internal::Control::Impl::Get( internalControl );
+
+  return controlImpl.IsResourceReady();
+}
+
+
+} // namespace DevelControl
+
+} // namespace Toolkit
+
+} // namespace Dali
index b6ddd7e..63f5cf9 100644 (file)
@@ -108,6 +108,29 @@ enum
 
 } // namespace Property
 
+/// @brief ResourceReady signal type;
+typedef Signal<void ( Control ) > ResourceReadySignalType;
+
+/**
+ * @brief This signal is emitted after all resources required
+ * by a control are loaded and ready.
+ * Most resources are only loaded when the control is placed on stage.
+ *
+ * A callback of the following type may be connected:
+ * @code
+ *   void YourCallbackName( Control control );
+ * @endcode
+ */
+ResourceReadySignalType& ResourceReadySignal( Control& control );
+
+/**
+ * @brief Query if all resources required by a control are loaded and ready.
+ * Most resources are only loaded when the control is placed on stage.
+ * @return true if the resources are loaded and ready, false otherwise
+ *
+ */
+bool IsResourceReady( const Control& control );
+
 } // namespace DevelControl
 
 } // namespace Toolkit
index d7c45f5..a434aef 100644 (file)
@@ -4,6 +4,7 @@ devel_api_src_files = \
   $(devel_api_src_dir)/builder/builder.cpp \
   $(devel_api_src_dir)/builder/json-parser.cpp \
   $(devel_api_src_dir)/builder/tree-node.cpp \
+  $(devel_api_src_dir)/controls/control-devel.cpp \
   $(devel_api_src_dir)/controls/control-wrapper.cpp \
   $(devel_api_src_dir)/controls/control-wrapper-impl.cpp \
   $(devel_api_src_dir)/controls/bloom-view/bloom-view.cpp \
diff --git a/dali-toolkit/internal/controls/control/control-data-impl.cpp b/dali-toolkit/internal/controls/control/control-data-impl.cpp
new file mode 100644 (file)
index 0000000..38c9a57
--- /dev/null
@@ -0,0 +1,934 @@
+/*
+ * 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.
+ *
+ */
+
+// CLASS HEADER
+#include "control-data-impl.h"
+
+// EXTERNAL INCLUDES
+#include <dali/public-api/common/dali-common.h>
+#include <dali/integration-api/debug.h>
+#include <dali/devel-api/scripting/enum-helper.h>
+#include <dali/devel-api/scripting/scripting.h>
+#include <dali/integration-api/debug.h>
+#include <dali/public-api/object/type-registry-helper.h>
+#include <cstring>
+
+// INTERNAL INCLUDES
+#include <dali-toolkit/internal/visuals/visual-base-impl.h>
+#include <dali-toolkit/devel-api/controls/control-depth-index-ranges.h>
+#include <dali-toolkit/internal/styling/style-manager-impl.h>
+#include <dali-toolkit/public-api/visuals/image-visual-properties.h>
+#include <dali-toolkit/devel-api/visuals/visual-properties-devel.h>
+#include <dali-toolkit/internal/visuals/visual-string-constants.h>
+#include <dali-toolkit/devel-api/controls/control-devel.h>
+
+namespace Dali
+{
+
+namespace Toolkit
+{
+
+namespace Internal
+{
+
+extern const Dali::Scripting::StringEnum ControlStateTable[];
+extern const unsigned int ControlStateTableCount;
+
+
+// Not static or anonymous - shared with other translation units
+const Scripting::StringEnum ControlStateTable[] = {
+  { "NORMAL",   Toolkit::DevelControl::NORMAL   },
+  { "FOCUSED",  Toolkit::DevelControl::FOCUSED  },
+  { "DISABLED", Toolkit::DevelControl::DISABLED },
+};
+const unsigned int ControlStateTableCount = sizeof( ControlStateTable ) / sizeof( ControlStateTable[0] );
+
+
+
+namespace
+{
+
+#if defined(DEBUG_ENABLED)
+Debug::Filter* gLogFilter = Debug::Filter::New( Debug::NoLogging, false, "LOG_CONTROL_VISUALS");
+#endif
+
+
+template<typename T>
+void Remove( Dictionary<T>& keyValues, const std::string& name )
+{
+  keyValues.Remove(name);
+}
+
+void Remove( DictionaryKeys& keys, const std::string& name )
+{
+  DictionaryKeys::iterator iter = std::find( keys.begin(), keys.end(), name );
+  if( iter != keys.end())
+  {
+    keys.erase(iter);
+  }
+}
+
+Toolkit::DevelVisual::Type GetVisualTypeFromMap( const Property::Map& map )
+{
+  Property::Value* typeValue = map.Find( Toolkit::DevelVisual::Property::TYPE, VISUAL_TYPE  );
+  Toolkit::DevelVisual::Type type = Toolkit::DevelVisual::IMAGE;
+  if( typeValue )
+  {
+    Scripting::GetEnumerationProperty( *typeValue, VISUAL_TYPE_TABLE, VISUAL_TYPE_TABLE_COUNT, type );
+  }
+  return type;
+}
+
+void FindChangableVisuals( Dictionary<Property::Map>& stateVisualsToAdd,
+                           Dictionary<Property::Map>& stateVisualsToChange,
+                           DictionaryKeys& stateVisualsToRemove)
+{
+  DictionaryKeys copyOfStateVisualsToRemove = stateVisualsToRemove;
+
+  for( DictionaryKeys::iterator iter = copyOfStateVisualsToRemove.begin();
+       iter != copyOfStateVisualsToRemove.end(); ++iter )
+  {
+    const std::string& visualName = (*iter);
+    Property::Map* toMap = stateVisualsToAdd.Find( visualName );
+    if( toMap )
+    {
+      stateVisualsToChange.Add( visualName, *toMap );
+      stateVisualsToAdd.Remove( visualName );
+      Remove( stateVisualsToRemove, visualName );
+    }
+  }
+}
+
+/**
+ * Performs actions as requested using the action name.
+ * @param[in] object The object on which to perform the action.
+ * @param[in] actionName The action to perform.
+ * @param[in] attributes The attributes with which to perfrom this action.
+ * @return true if action has been accepted by this control
+ */
+const char* ACTION_ACCESSIBILITY_ACTIVATED = "accessibilityActivated";
+static bool DoAction( BaseObject* object, const std::string& actionName, const Property::Map& attributes )
+{
+  bool ret = false;
+
+  if( object && ( 0 == strcmp( actionName.c_str(), ACTION_ACCESSIBILITY_ACTIVATED ) ) )
+  {
+    Toolkit::Control control = Toolkit::Control::DownCast( BaseHandle( object ) );
+    if( control )
+    {
+      // if cast succeeds there is an implementation so no need to check
+      ret = Internal::GetImplementation( control ).OnAccessibilityActivated();
+    }
+  }
+
+  return ret;
+}
+
+/**
+ * Connects a callback function with the object's signals.
+ * @param[in] object The object providing the signal.
+ * @param[in] tracker Used to disconnect the signal.
+ * @param[in] signalName The signal to connect to.
+ * @param[in] functor A newly allocated FunctorDelegate.
+ * @return True if the signal was connected.
+ * @post If a signal was connected, ownership of functor was passed to CallbackBase. Otherwise the caller is responsible for deleting the unused functor.
+ */
+const char* SIGNAL_KEY_EVENT = "keyEvent";
+const char* SIGNAL_KEY_INPUT_FOCUS_GAINED = "keyInputFocusGained";
+const char* SIGNAL_KEY_INPUT_FOCUS_LOST = "keyInputFocusLost";
+const char* SIGNAL_TAPPED = "tapped";
+const char* SIGNAL_PANNED = "panned";
+const char* SIGNAL_PINCHED = "pinched";
+const char* SIGNAL_LONG_PRESSED = "longPressed";
+static bool DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor )
+{
+  Dali::BaseHandle handle( object );
+
+  bool connected( false );
+  Toolkit::Control control = Toolkit::Control::DownCast( handle );
+  if ( control )
+  {
+    Internal::Control& controlImpl( Internal::GetImplementation( control ) );
+    connected = true;
+
+    if ( 0 == strcmp( signalName.c_str(), SIGNAL_KEY_EVENT ) )
+    {
+      controlImpl.KeyEventSignal().Connect( tracker, functor );
+    }
+    else if( 0 == strcmp( signalName.c_str(), SIGNAL_KEY_INPUT_FOCUS_GAINED ) )
+    {
+      controlImpl.KeyInputFocusGainedSignal().Connect( tracker, functor );
+    }
+    else if( 0 == strcmp( signalName.c_str(), SIGNAL_KEY_INPUT_FOCUS_LOST ) )
+    {
+      controlImpl.KeyInputFocusLostSignal().Connect( tracker, functor );
+    }
+    else if( 0 == strcmp( signalName.c_str(), SIGNAL_TAPPED ) )
+    {
+      controlImpl.EnableGestureDetection( Gesture::Tap );
+      controlImpl.GetTapGestureDetector().DetectedSignal().Connect( tracker, functor );
+    }
+    else if( 0 == strcmp( signalName.c_str(), SIGNAL_PANNED ) )
+    {
+      controlImpl.EnableGestureDetection( Gesture::Pan );
+      controlImpl.GetPanGestureDetector().DetectedSignal().Connect( tracker, functor );
+    }
+    else if( 0 == strcmp( signalName.c_str(), SIGNAL_PINCHED ) )
+    {
+      controlImpl.EnableGestureDetection( Gesture::Pinch );
+      controlImpl.GetPinchGestureDetector().DetectedSignal().Connect( tracker, functor );
+    }
+    else if( 0 == strcmp( signalName.c_str(), SIGNAL_LONG_PRESSED ) )
+    {
+      controlImpl.EnableGestureDetection( Gesture::LongPress );
+      controlImpl.GetLongPressGestureDetector().DetectedSignal().Connect( tracker, functor );
+    }
+  }
+  return connected;
+}
+
+/**
+ * Creates control through type registry
+ */
+BaseHandle Create()
+{
+  return Internal::Control::New();
+}
+// Setup signals and actions using the type-registry.
+DALI_TYPE_REGISTRATION_BEGIN( Control, CustomActor, Create );
+
+// Note: Properties are registered separately below.
+
+SignalConnectorType registerSignal1( typeRegistration, SIGNAL_KEY_EVENT, &DoConnectSignal );
+SignalConnectorType registerSignal2( typeRegistration, SIGNAL_KEY_INPUT_FOCUS_GAINED, &DoConnectSignal );
+SignalConnectorType registerSignal3( typeRegistration, SIGNAL_KEY_INPUT_FOCUS_LOST, &DoConnectSignal );
+SignalConnectorType registerSignal4( typeRegistration, SIGNAL_TAPPED, &DoConnectSignal );
+SignalConnectorType registerSignal5( typeRegistration, SIGNAL_PANNED, &DoConnectSignal );
+SignalConnectorType registerSignal6( typeRegistration, SIGNAL_PINCHED, &DoConnectSignal );
+SignalConnectorType registerSignal7( typeRegistration, SIGNAL_LONG_PRESSED, &DoConnectSignal );
+
+TypeAction registerAction( typeRegistration, ACTION_ACCESSIBILITY_ACTIVATED, &DoAction );
+
+DALI_TYPE_REGISTRATION_END()
+
+
+
+} // unnamed namespace
+
+
+// Properties registered without macro to use specific member variables.
+const PropertyRegistration Control::Impl::PROPERTY_1( typeRegistration, "styleName",              Toolkit::Control::Property::STYLE_NAME,                   Property::STRING,  &Control::Impl::SetProperty, &Control::Impl::GetProperty );
+const PropertyRegistration Control::Impl::PROPERTY_2( typeRegistration, "backgroundColor",        Toolkit::Control::Property::BACKGROUND_COLOR,             Property::VECTOR4, &Control::Impl::SetProperty, &Control::Impl::GetProperty );
+const PropertyRegistration Control::Impl::PROPERTY_3( typeRegistration, "backgroundImage",        Toolkit::Control::Property::BACKGROUND_IMAGE,             Property::MAP,     &Control::Impl::SetProperty, &Control::Impl::GetProperty );
+const PropertyRegistration Control::Impl::PROPERTY_4( typeRegistration, "keyInputFocus",          Toolkit::Control::Property::KEY_INPUT_FOCUS,              Property::BOOLEAN, &Control::Impl::SetProperty, &Control::Impl::GetProperty );
+const PropertyRegistration Control::Impl::PROPERTY_5( typeRegistration, "background",             Toolkit::Control::Property::BACKGROUND,                   Property::MAP,     &Control::Impl::SetProperty, &Control::Impl::GetProperty );
+const PropertyRegistration Control::Impl::PROPERTY_6( typeRegistration, "tooltip",                Toolkit::DevelControl::Property::TOOLTIP,                 Property::MAP,     &Control::Impl::SetProperty, &Control::Impl::GetProperty );
+const PropertyRegistration Control::Impl::PROPERTY_7( typeRegistration, "state",                  Toolkit::DevelControl::Property::STATE,                   Property::STRING,  &Control::Impl::SetProperty, &Control::Impl::GetProperty );
+const PropertyRegistration Control::Impl::PROPERTY_8( typeRegistration, "subState",               Toolkit::DevelControl::Property::SUB_STATE,               Property::STRING,  &Control::Impl::SetProperty, &Control::Impl::GetProperty );
+const PropertyRegistration Control::Impl::PROPERTY_9( typeRegistration, "leftFocusableActorId",   Toolkit::DevelControl::Property::LEFT_FOCUSABLE_ACTOR_ID, Property::INTEGER, &Control::Impl::SetProperty, &Control::Impl::GetProperty );
+const PropertyRegistration Control::Impl::PROPERTY_10( typeRegistration, "rightFocusableActorId", Toolkit::DevelControl::Property::RIGHT_FOCUSABLE_ACTOR_ID,Property::INTEGER, &Control::Impl::SetProperty, &Control::Impl::GetProperty );
+const PropertyRegistration Control::Impl::PROPERTY_11( typeRegistration, "upFocusableActorId",    Toolkit::DevelControl::Property::UP_FOCUSABLE_ACTOR_ID,   Property::INTEGER, &Control::Impl::SetProperty, &Control::Impl::GetProperty );
+const PropertyRegistration Control::Impl::PROPERTY_12( typeRegistration, "downFocusableActorId",  Toolkit::DevelControl::Property::DOWN_FOCUSABLE_ACTOR_ID, Property::INTEGER, &Control::Impl::SetProperty, &Control::Impl::GetProperty );
+
+
+
+Control::Impl::Impl( Control& controlImpl )
+: mControlImpl( controlImpl ),
+  mState( Toolkit::DevelControl::NORMAL ),
+  mSubStateName(""),
+  mLeftFocusableActorId( -1 ),
+  mRightFocusableActorId( -1 ),
+  mUpFocusableActorId( -1 ),
+  mDownFocusableActorId( -1 ),
+  mStyleName(""),
+  mBackgroundColor(Color::TRANSPARENT),
+  mStartingPinchScale( NULL ),
+  mKeyEventSignal(),
+  mPinchGestureDetector(),
+  mPanGestureDetector(),
+  mTapGestureDetector(),
+  mLongPressGestureDetector(),
+  mFlags( Control::ControlBehaviour( CONTROL_BEHAVIOUR_DEFAULT ) ),
+  mIsKeyboardNavigationSupported( false ),
+  mIsKeyboardFocusGroup( false )
+{
+
+}
+
+Control::Impl::~Impl()
+{
+  // All gesture detectors will be destroyed so no need to disconnect.
+  delete mStartingPinchScale;
+}
+
+Control::Impl& Control::Impl::Get( Internal::Control& internalControl )
+{
+  return *internalControl.mImpl;
+}
+
+const Control::Impl& Control::Impl::Get( const Internal::Control& internalControl )
+{
+  return *internalControl.mImpl;
+}
+
+
+
+
+Toolkit::Visual::Base Control::Impl::GetVisualByName(
+   RegisteredVisualContainer& visuals,
+  const std::string& visualName )
+{
+  Toolkit::Visual::Base visualHandle;
+
+  RegisteredVisualContainer::Iterator iter;
+  for ( iter = visuals.Begin(); iter != visuals.End(); iter++ )
+  {
+    Toolkit::Visual::Base visual = (*iter)->visual;
+    if( visual && visual.GetName() == visualName )
+    {
+      visualHandle = visual;
+      break;
+    }
+  }
+  return visualHandle;
+}
+
+// Gesture Detection Methods
+void Control::Impl::PinchDetected(Actor actor, const PinchGesture& pinch)
+{
+  mControlImpl.OnPinch(pinch);
+}
+
+void Control::Impl::PanDetected(Actor actor, const PanGesture& pan)
+{
+  mControlImpl.OnPan(pan);
+}
+
+void Control::Impl::TapDetected(Actor actor, const TapGesture& tap)
+{
+  mControlImpl.OnTap(tap);
+}
+
+void Control::Impl::LongPressDetected(Actor actor, const LongPressGesture& longPress)
+{
+  mControlImpl.OnLongPress(longPress);
+}
+
+// Called by a Visual when it's resource is ready
+void Control::Impl::ResourceReady( Visual::Base& object)
+{
+
+  // go through and check if all the visuals are ready, if they are emit a signal
+  for ( RegisteredVisualContainer::ConstIterator visualIter = mVisuals.Begin();
+        visualIter != mVisuals.End(); ++visualIter )
+  {
+    const Toolkit::Visual::Base visual = (*visualIter)->visual;
+    const Internal::Visual::Base& visualImpl = Toolkit::GetImplementation( visual );
+
+    // one of the visuals is not ready
+    if( !visualImpl.IsResourceReady() )
+    {
+      return;
+    }
+  }
+
+  // all the visuals are ready
+  Dali::Toolkit::Control handle( mControlImpl.GetOwner() );
+  mResourceReadySignal.Emit( handle );
+
+}
+
+bool Control::Impl::IsResourceReady() const
+{
+  // go through and check all the visuals are ready
+  for ( RegisteredVisualContainer::ConstIterator visualIter = mVisuals.Begin();
+         visualIter != mVisuals.End(); ++visualIter )
+   {
+     const Toolkit::Visual::Base visual = (*visualIter)->visual;
+     const Internal::Visual::Base& visualImpl = Toolkit::GetImplementation( visual );
+
+     // one of the visuals is not ready
+     if( !visualImpl.IsResourceReady()  )
+     {
+       return false;
+     }
+   }
+  return true;
+}
+void Control::Impl::StopObservingVisual( Toolkit::Visual::Base& visual )
+{
+  Internal::Visual::Base& visualImpl = Toolkit::GetImplementation( visual );
+
+  // Stop observing the visual
+  visualImpl.RemoveResourceObserver( *this );
+}
+
+void Control::Impl::StartObservingVisual( Toolkit::Visual::Base& visual)
+{
+  Internal::Visual::Base& visualImpl = Toolkit::GetImplementation( visual );
+
+  // start observing the visual for resource ready
+  visualImpl.AddResourceObserver( *this );
+}
+
+// Properties
+
+/**
+ * Called when a property of an object of this type is set.
+ * @param[in] object The object whose property is set.
+ * @param[in] index The property index.
+ * @param[in] value The new property value.
+ */
+void Control::Impl::SetProperty( BaseObject* object, Property::Index index, const Property::Value& value )
+{
+  Toolkit::Control control = Toolkit::Control::DownCast( BaseHandle( object ) );
+
+  if ( control )
+  {
+    Control& controlImpl( GetImplementation( control ) );
+
+    switch ( index )
+    {
+      case Toolkit::Control::Property::STYLE_NAME:
+      {
+        controlImpl.SetStyleName( value.Get< std::string >() );
+        break;
+      }
+
+      case Toolkit::DevelControl::Property::STATE:
+      {
+        bool withTransitions=true;
+        const Property::Value* valuePtr=&value;
+        Property::Map* map = value.GetMap();
+        if(map)
+        {
+          Property::Value* value2 = map->Find("withTransitions");
+          if( value2 )
+          {
+            withTransitions = value2->Get<bool>();
+          }
+
+          valuePtr = map->Find("state");
+        }
+
+        if( valuePtr )
+        {
+          Toolkit::DevelControl::State state( controlImpl.mImpl->mState );
+          if( Scripting::GetEnumerationProperty< Toolkit::DevelControl::State >( *valuePtr, ControlStateTable, ControlStateTableCount, state ) )
+          {
+            controlImpl.mImpl->SetState( state, withTransitions );
+          }
+        }
+      }
+      break;
+
+      case Toolkit::DevelControl::Property::SUB_STATE:
+      {
+        std::string subState;
+        if( value.Get( subState ) )
+        {
+          controlImpl.mImpl->SetSubState( subState );
+        }
+      }
+      break;
+
+      case Toolkit::DevelControl::Property::LEFT_FOCUSABLE_ACTOR_ID:
+      {
+        int focusId;
+        if( value.Get( focusId ) )
+        {
+          controlImpl.mImpl->mLeftFocusableActorId = focusId;
+        }
+      }
+      break;
+
+      case Toolkit::DevelControl::Property::RIGHT_FOCUSABLE_ACTOR_ID:
+      {
+        int focusId;
+        if( value.Get( focusId ) )
+        {
+          controlImpl.mImpl->mRightFocusableActorId = focusId;
+        }
+      }
+      break;
+
+      case Toolkit::DevelControl::Property::UP_FOCUSABLE_ACTOR_ID:
+      {
+        int focusId;
+        if( value.Get( focusId ) )
+        {
+          controlImpl.mImpl->mUpFocusableActorId = focusId;
+        }
+      }
+      break;
+
+      case Toolkit::DevelControl::Property::DOWN_FOCUSABLE_ACTOR_ID:
+      {
+        int focusId;
+        if( value.Get( focusId ) )
+        {
+          controlImpl.mImpl->mDownFocusableActorId = focusId;
+        }
+      }
+      break;
+
+      case Toolkit::Control::Property::BACKGROUND_COLOR:
+      {
+        DALI_LOG_WARNING( "BACKGROUND_COLOR property is deprecated. Use BACKGROUND property instead\n" );
+        controlImpl.SetBackgroundColor( value.Get< Vector4 >() );
+        break;
+      }
+
+      case Toolkit::Control::Property::BACKGROUND_IMAGE:
+      {
+        DALI_LOG_WARNING( "BACKGROUND_IMAGE property is deprecated. Use BACKGROUND property instead\n" );
+        Image image = Scripting::NewImage( value );
+        if ( image )
+        {
+          controlImpl.SetBackgroundImage( image );
+        }
+        else
+        {
+          // An empty image means the background is no longer required
+          controlImpl.ClearBackground();
+        }
+        break;
+      }
+
+      case Toolkit::Control::Property::KEY_INPUT_FOCUS:
+      {
+        if ( value.Get< bool >() )
+        {
+          controlImpl.SetKeyInputFocus();
+        }
+        else
+        {
+          controlImpl.ClearKeyInputFocus();
+        }
+        break;
+      }
+
+      case Toolkit::Control::Property::BACKGROUND:
+      {
+        std::string url;
+        Vector4 color;
+        const Property::Map* map = value.GetMap();
+        if( map && !map->Empty() )
+        {
+          controlImpl.SetBackground( *map );
+        }
+        else if( value.Get( url ) )
+        {
+          // don't know the size to load
+          Toolkit::Visual::Base visual = Toolkit::VisualFactory::Get().CreateVisual( url, ImageDimensions() );
+          if( visual )
+          {
+            controlImpl.RegisterVisual( Toolkit::Control::Property::BACKGROUND, visual );
+            visual.SetDepthIndex( DepthIndex::BACKGROUND );
+          }
+        }
+        else if( value.Get( color ) )
+        {
+          controlImpl.SetBackgroundColor(color);
+        }
+        else
+        {
+          // The background is an empty property map, so we should clear the background
+          controlImpl.ClearBackground();
+        }
+        break;
+      }
+
+      case Toolkit::DevelControl::Property::TOOLTIP:
+      {
+        TooltipPtr& tooltipPtr = controlImpl.mImpl->mTooltip;
+        if( ! tooltipPtr )
+        {
+          tooltipPtr = Tooltip::New( control );
+        }
+        tooltipPtr->SetProperties( value );
+      }
+    }
+  }
+}
+
+/**
+ * Called to retrieve a property of an object of this type.
+ * @param[in] object The object whose property is to be retrieved.
+ * @param[in] index The property index.
+ * @return The current value of the property.
+ */
+Property::Value Control::Impl::GetProperty( BaseObject* object, Property::Index index )
+{
+  Property::Value value;
+
+  Toolkit::Control control = Toolkit::Control::DownCast( BaseHandle( object ) );
+
+  if ( control )
+  {
+    Control& controlImpl( GetImplementation( control ) );
+
+    switch ( index )
+    {
+      case Toolkit::Control::Property::STYLE_NAME:
+      {
+        value = controlImpl.GetStyleName();
+        break;
+      }
+
+      case Toolkit::DevelControl::Property::STATE:
+      {
+        value = controlImpl.mImpl->mState;
+        break;
+      }
+
+      case Toolkit::DevelControl::Property::SUB_STATE:
+      {
+        value = controlImpl.mImpl->mSubStateName;
+        break;
+      }
+
+      case Toolkit::DevelControl::Property::LEFT_FOCUSABLE_ACTOR_ID:
+      {
+        value = controlImpl.mImpl->mLeftFocusableActorId;
+        break;
+      }
+
+      case Toolkit::DevelControl::Property::RIGHT_FOCUSABLE_ACTOR_ID:
+      {
+        value = controlImpl.mImpl->mRightFocusableActorId;
+        break;
+      }
+
+      case Toolkit::DevelControl::Property::UP_FOCUSABLE_ACTOR_ID:
+      {
+        value = controlImpl.mImpl->mUpFocusableActorId;
+        break;
+      }
+
+      case Toolkit::DevelControl::Property::DOWN_FOCUSABLE_ACTOR_ID:
+      {
+        value = controlImpl.mImpl->mDownFocusableActorId;
+        break;
+      }
+
+      case Toolkit::Control::Property::BACKGROUND_COLOR:
+      {
+        DALI_LOG_WARNING( "BACKGROUND_COLOR property is deprecated. Use BACKGROUND property instead\n" );
+        value = controlImpl.GetBackgroundColor();
+        break;
+      }
+
+      case Toolkit::Control::Property::BACKGROUND_IMAGE:
+      {
+        DALI_LOG_WARNING( "BACKGROUND_IMAGE property is deprecated. Use BACKGROUND property instead\n" );
+        Property::Map map;
+        Toolkit::Visual::Base visual = controlImpl.GetVisual( Toolkit::Control::Property::BACKGROUND );
+        if( visual )
+        {
+          visual.CreatePropertyMap( map );
+        }
+        value = map;
+        break;
+      }
+
+      case Toolkit::Control::Property::KEY_INPUT_FOCUS:
+      {
+        value = controlImpl.HasKeyInputFocus();
+        break;
+      }
+
+      case Toolkit::Control::Property::BACKGROUND:
+      {
+        Property::Map map;
+        Toolkit::Visual::Base visual = controlImpl.GetVisual( Toolkit::Control::Property::BACKGROUND );
+        if( visual )
+        {
+          visual.CreatePropertyMap( map );
+        }
+
+        value = map;
+        break;
+      }
+
+      case Toolkit::DevelControl::Property::TOOLTIP:
+      {
+        Property::Map map;
+        if( controlImpl.mImpl->mTooltip )
+        {
+          controlImpl.mImpl->mTooltip->CreatePropertyMap( map );
+        }
+        value = map;
+        break;
+      }
+
+    }
+  }
+
+  return value;
+}
+
+
+void  Control::Impl::CopyInstancedProperties( RegisteredVisualContainer& visuals, Dictionary<Property::Map>& instancedProperties )
+{
+  for(RegisteredVisualContainer::Iterator iter = visuals.Begin(); iter!= visuals.End(); iter++)
+  {
+    if( (*iter)->visual )
+    {
+      Property::Map instanceMap;
+      Toolkit::GetImplementation((*iter)->visual).CreateInstancePropertyMap(instanceMap);
+      instancedProperties.Add( (*iter)->visual.GetName(), instanceMap );
+    }
+  }
+}
+
+
+void Control::Impl::RemoveVisual( RegisteredVisualContainer& visuals, const std::string& visualName )
+{
+  Actor self( mControlImpl.Self() );
+
+  for ( RegisteredVisualContainer::Iterator visualIter = visuals.Begin();
+        visualIter != visuals.End(); ++visualIter )
+  {
+    Toolkit::Visual::Base visual = (*visualIter)->visual;
+    if( visual && visual.GetName() == visualName )
+    {
+      Toolkit::GetImplementation(visual).SetOffStage( self );
+      (*visualIter)->visual.Reset();
+      visuals.Erase( visualIter );
+      break;
+    }
+  }
+}
+
+void Control::Impl::RemoveVisuals( RegisteredVisualContainer& visuals, DictionaryKeys& removeVisuals )
+{
+  Actor self( mControlImpl.Self() );
+  for( DictionaryKeys::iterator iter = removeVisuals.begin(); iter != removeVisuals.end(); ++iter )
+  {
+    const std::string visualName = *iter;
+    RemoveVisual( visuals, visualName );
+  }
+}
+
+
+/**
+ * Go through the list of visuals that are common to both states.
+ * If they are different types, or are both image types with different
+ * URLs, then the existing visual needs moving and the new visual creating
+ */
+void Control::Impl::RecreateChangedVisuals( Dictionary<Property::Map>& stateVisualsToChange,
+                             Dictionary<Property::Map>& instancedProperties )
+{
+  Dali::CustomActor handle( mControlImpl.GetOwner() );
+  for( Dictionary<Property::Map>::iterator iter = stateVisualsToChange.Begin();
+       iter != stateVisualsToChange.End(); ++iter )
+  {
+    const std::string& visualName = (*iter).key;
+    const Property::Map& toMap = (*iter).entry;
+
+    // is it a candidate for re-creation?
+    bool recreate = false;
+
+    Toolkit::Visual::Base visual = GetVisualByName( mVisuals, visualName );
+    if( visual )
+    {
+      Property::Map fromMap;
+      visual.CreatePropertyMap( fromMap );
+
+      Toolkit::DevelVisual::Type fromType = GetVisualTypeFromMap( fromMap );
+      Toolkit::DevelVisual::Type toType = GetVisualTypeFromMap( toMap );
+
+      if( fromType != toType )
+      {
+        recreate = true;
+      }
+      else
+      {
+        if( fromType == Toolkit::DevelVisual::IMAGE || fromType == Toolkit::DevelVisual::N_PATCH
+            || fromType == Toolkit::DevelVisual::SVG || fromType == Toolkit::DevelVisual::ANIMATED_IMAGE )
+        {
+          Property::Value* fromUrl = fromMap.Find( Toolkit::ImageVisual::Property::URL, IMAGE_URL_NAME );
+          Property::Value* toUrl = toMap.Find( Toolkit::ImageVisual::Property::URL, IMAGE_URL_NAME );
+
+          if( fromUrl && toUrl )
+          {
+            std::string fromUrlString;
+            std::string toUrlString;
+            fromUrl->Get(fromUrlString);
+            toUrl->Get(toUrlString);
+
+            if( fromUrlString != toUrlString )
+            {
+              recreate = true;
+            }
+          }
+        }
+      }
+
+      const Property::Map* instancedMap = instancedProperties.FindConst( visualName );
+      if( recreate || instancedMap )
+      {
+        RemoveVisual( mVisuals, visualName );
+        Style::ApplyVisual( handle, visualName, toMap, instancedMap );
+      }
+      else
+      {
+        // @todo check to see if we can apply toMap without recreating the visual
+        // e.g. by setting only animatable properties
+        // For now, recreate all visuals, but merge in instance data.
+        RemoveVisual( mVisuals, visualName );
+        Style::ApplyVisual( handle, visualName, toMap, instancedMap );
+      }
+    }
+  }
+}
+
+void Control::Impl::ReplaceStateVisualsAndProperties( const StylePtr oldState, const StylePtr newState, const std::string& subState )
+{
+  // Collect all old visual names
+  DictionaryKeys stateVisualsToRemove;
+  if( oldState )
+  {
+    oldState->visuals.GetKeys( stateVisualsToRemove );
+    if( ! subState.empty() )
+    {
+      const StylePtr* oldSubState = oldState->subStates.FindConst(subState);
+      if( oldSubState )
+      {
+        DictionaryKeys subStateVisualsToRemove;
+        (*oldSubState)->visuals.GetKeys( subStateVisualsToRemove );
+        Merge( stateVisualsToRemove, subStateVisualsToRemove );
+      }
+    }
+  }
+
+  // Collect all new visual properties
+  Dictionary<Property::Map> stateVisualsToAdd;
+  if( newState )
+  {
+    stateVisualsToAdd = newState->visuals;
+    if( ! subState.empty() )
+    {
+      const StylePtr* newSubState = newState->subStates.FindConst(subState);
+      if( newSubState )
+      {
+        stateVisualsToAdd.Merge( (*newSubState)->visuals );
+      }
+    }
+  }
+
+  // If a name is in both add/remove, move it to change list.
+  Dictionary<Property::Map> stateVisualsToChange;
+  FindChangableVisuals( stateVisualsToAdd, stateVisualsToChange, stateVisualsToRemove);
+
+  // Copy instanced properties (e.g. text label) of current visuals
+  Dictionary<Property::Map> instancedProperties;
+  CopyInstancedProperties( mVisuals, instancedProperties );
+
+  // For each visual in remove list, remove from mVisuals
+  RemoveVisuals( mVisuals, stateVisualsToRemove );
+
+  // For each visual in add list, create and add to mVisuals
+  Dali::CustomActor handle( mControlImpl.GetOwner() );
+  Style::ApplyVisuals( handle, stateVisualsToAdd, instancedProperties );
+
+  // For each visual in change list, if it requires a new visual,
+  // remove old visual, create and add to mVisuals
+  RecreateChangedVisuals( stateVisualsToChange, instancedProperties );
+}
+
+void Control::Impl::SetState( DevelControl::State newState, bool withTransitions )
+{
+  DevelControl::State oldState = mState;
+  Dali::CustomActor handle( mControlImpl.GetOwner() );
+  DALI_LOG_INFO(gLogFilter, Debug::Concise, "Control::Impl::SetState: %s\n",
+                (mState == DevelControl::NORMAL ? "NORMAL" :(
+                  mState == DevelControl::FOCUSED ?"FOCUSED" : (
+                    mState == DevelControl::DISABLED?"DISABLED":"NONE" ))));
+
+  if( mState != newState )
+  {
+    // If mState was Disabled, and new state is Focused, should probably
+    // store that fact, e.g. in another property that FocusManager can access.
+    mState = newState;
+
+    // Trigger state change and transitions
+    // Apply new style, if stylemanager is available
+    Toolkit::StyleManager styleManager = Toolkit::StyleManager::Get();
+    if( styleManager )
+    {
+      const StylePtr stylePtr = GetImpl( styleManager ).GetRecordedStyle( Toolkit::Control( mControlImpl.GetOwner() ) );
+
+      if( stylePtr )
+      {
+        std::string oldStateName = Scripting::GetEnumerationName< Toolkit::DevelControl::State >( oldState, ControlStateTable, ControlStateTableCount );
+        std::string newStateName = Scripting::GetEnumerationName< Toolkit::DevelControl::State >( newState, ControlStateTable, ControlStateTableCount );
+
+        const StylePtr* newStateStyle = stylePtr->subStates.Find( newStateName );
+        const StylePtr* oldStateStyle = stylePtr->subStates.Find( oldStateName );
+        if( oldStateStyle && newStateStyle )
+        {
+          // Only change if both state styles exist
+          ReplaceStateVisualsAndProperties( *oldStateStyle, *newStateStyle, mSubStateName );
+        }
+      }
+    }
+  }
+}
+
+void Control::Impl::SetSubState( const std::string& subStateName, bool withTransitions )
+{
+  if( mSubStateName != subStateName )
+  {
+    // Get existing sub-state visuals, and unregister them
+    Dali::CustomActor handle( mControlImpl.GetOwner() );
+
+    Toolkit::StyleManager styleManager = Toolkit::StyleManager::Get();
+    if( styleManager )
+    {
+      const StylePtr stylePtr = GetImpl( styleManager ).GetRecordedStyle( Toolkit::Control( mControlImpl.GetOwner() ) );
+      if( stylePtr )
+      {
+        // Stringify state
+        std::string stateName = Scripting::GetEnumerationName< Toolkit::DevelControl::State >( mState, ControlStateTable, ControlStateTableCount );
+
+        const StylePtr* state = stylePtr->subStates.Find( stateName );
+        if( state )
+        {
+          StylePtr stateStyle(*state);
+
+          const StylePtr* newStateStyle = stateStyle->subStates.Find( subStateName );
+          const StylePtr* oldStateStyle = stateStyle->subStates.Find( mSubStateName );
+          if( oldStateStyle && newStateStyle )
+          {
+            std::string empty;
+            ReplaceStateVisualsAndProperties( *oldStateStyle, *newStateStyle, empty );
+          }
+        }
+      }
+    }
+
+    mSubStateName = subStateName;
+  }
+}
+
+} // namespace Internal
+
+} // namespace Toolkit
+
+} // namespace Dali
diff --git a/dali-toolkit/internal/controls/control/control-data-impl.h b/dali-toolkit/internal/controls/control/control-data-impl.h
new file mode 100644 (file)
index 0000000..4adfe65
--- /dev/null
@@ -0,0 +1,171 @@
+#ifndef DALI_TOOLKIT_CONTROL_DATA_IMPL_H
+#define DALI_TOOLKIT_CONTROL_DATA_IMPL_H
+
+/*
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * 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.
+ *
+ */
+
+// EXTERNAL INCLUDES
+#include <dali/public-api/object/type-registry.h>
+#include <dali-toolkit/devel-api/controls/control-devel.h>
+#include <string>
+
+// INTERNAL INCLUDES
+#include <dali-toolkit/internal/visuals/visual-resource-observer.h>
+#include <dali-toolkit/public-api/controls/control-impl.h>
+#include <dali/devel-api/common/owner-container.h>
+#include <dali-toolkit/devel-api/visual-factory/visual-base.h>
+#include <dali-toolkit/internal/controls/tooltip/tooltip.h>
+#include <dali-toolkit/internal/builder/style.h>
+#include <dali-toolkit/internal/builder/dictionary.h>
+
+namespace Dali
+{
+
+namespace Toolkit
+{
+
+namespace Internal
+{
+
+/**
+  * Struct used to store Visual within the control, index is a unique key for each visual.
+  */
+ struct RegisteredVisual
+ {
+   Property::Index index;
+   Toolkit::Visual::Base visual;
+   bool enabled;
+
+   RegisteredVisual( Property::Index aIndex, Toolkit::Visual::Base &aVisual, bool aEnabled)
+   : index(aIndex), visual(aVisual), enabled(aEnabled)
+   {
+   }
+ };
+
+typedef Dali::OwnerContainer< RegisteredVisual* > RegisteredVisualContainer;
+
+
+/**
+ * Holds the Implementation for the internal control class
+ */
+class Control::Impl : public ConnectionTracker, public Visual::ResourceObserver
+{
+
+public:
+
+  static Control::Impl& Get( Internal::Control& internalControl );
+
+  static const Control::Impl& Get( const Internal::Control& internalControl );
+
+
+  Impl( Control& controlImpl );
+
+  ~Impl();
+
+  void PinchDetected(Actor actor, const PinchGesture& pinch);
+
+  void PanDetected(Actor actor, const PanGesture& pan);
+
+  void TapDetected(Actor actor, const TapGesture& tap);
+
+  void LongPressDetected(Actor actor, const LongPressGesture& longPress);
+
+  void ResourceReady( Visual::Base& object);
+
+  void StopObservingVisual( Toolkit::Visual::Base& visual );
+
+  void StartObservingVisual( Toolkit::Visual::Base& visual);
+
+  static void SetProperty( BaseObject* object, Property::Index index, const Property::Value& value );
+
+  static Property::Value GetProperty( BaseObject* object, Property::Index index );
+
+  void SetState( DevelControl::State newState, bool withTransitions=true );
+
+  void SetSubState( const std::string& subStateName, bool withTransitions=true );
+
+  void ReplaceStateVisualsAndProperties( const StylePtr oldState, const StylePtr newState, const std::string& subState );
+
+  void RemoveVisual( RegisteredVisualContainer& visuals, const std::string& visualName );
+
+  void RemoveVisuals( RegisteredVisualContainer& visuals, DictionaryKeys& removeVisuals );
+
+  void  CopyInstancedProperties( RegisteredVisualContainer& visuals, Dictionary<Property::Map>& instancedProperties );
+
+  void RecreateChangedVisuals( Dictionary<Property::Map>& stateVisualsToChange, Dictionary<Property::Map>& instancedProperties );
+
+  Toolkit::Visual::Base GetVisualByName( RegisteredVisualContainer& visuals, const std::string& visualName );
+
+  bool IsResourceReady() const;
+
+  Control& mControlImpl;
+  DevelControl::State mState;
+  std::string mSubStateName;
+
+  int mLeftFocusableActorId;       ///< Actor ID of Left focusable control.
+  int mRightFocusableActorId;      ///< Actor ID of Right focusable control.
+  int mUpFocusableActorId;         ///< Actor ID of Up focusable control.
+  int mDownFocusableActorId;       ///< Actor ID of Down focusable control.
+
+
+  RegisteredVisualContainer mVisuals;     ///< Stores visuals needed by the control, non trivial type so std::vector used.
+  std::string mStyleName;
+  Vector4 mBackgroundColor;               ///< The color of the background visual
+  Vector3* mStartingPinchScale;           ///< The scale when a pinch gesture starts, TODO: consider removing this
+  Toolkit::Control::KeyEventSignalType mKeyEventSignal;
+  Toolkit::Control::KeyInputFocusSignalType mKeyInputFocusGainedSignal;
+  Toolkit::Control::KeyInputFocusSignalType mKeyInputFocusLostSignal;
+
+  Toolkit::DevelControl::ResourceReadySignalType mResourceReadySignal;
+
+  // Gesture Detection
+  PinchGestureDetector mPinchGestureDetector;
+  PanGestureDetector mPanGestureDetector;
+  TapGestureDetector mTapGestureDetector;
+  LongPressGestureDetector mLongPressGestureDetector;
+
+  // Tooltip
+  TooltipPtr mTooltip;
+
+  ControlBehaviour mFlags : CONTROL_BEHAVIOUR_FLAG_COUNT;    ///< Flags passed in from constructor.
+  bool mIsKeyboardNavigationSupported :1;  ///< Stores whether keyboard navigation is supported by the control.
+  bool mIsKeyboardFocusGroup :1;           ///< Stores whether the control is a focus group.
+
+  // Properties - these need to be members of Internal::Control::Impl as they access private methods/data of Internal::Control and Internal::Control::Impl.
+  static const PropertyRegistration PROPERTY_1;
+  static const PropertyRegistration PROPERTY_2;
+  static const PropertyRegistration PROPERTY_3;
+  static const PropertyRegistration PROPERTY_4;
+  static const PropertyRegistration PROPERTY_5;
+  static const PropertyRegistration PROPERTY_6;
+  static const PropertyRegistration PROPERTY_7;
+  static const PropertyRegistration PROPERTY_8;
+  static const PropertyRegistration PROPERTY_9;
+  static const PropertyRegistration PROPERTY_10;
+  static const PropertyRegistration PROPERTY_11;
+  static const PropertyRegistration PROPERTY_12;
+
+};
+
+
+} // namespace Internal
+
+} // namespace Toolkit
+
+} // namespace Dali
+
+#endif // DALI_TOOLKIT_CONTROL_DATA_IMPL_H
index c0dd44b..67b6c9e 100644 (file)
@@ -46,6 +46,7 @@ toolkit_src_files = \
    $(toolkit_src_dir)/controls/buttons/push-button-impl.cpp \
    $(toolkit_src_dir)/controls/buttons/radio-button-impl.cpp \
    $(toolkit_src_dir)/controls/buttons/toggle-button-impl.cpp \
+   $(toolkit_src_dir)/controls/control/control-data-impl.cpp \
    $(toolkit_src_dir)/controls/effects-view/effects-view-impl.cpp \
    $(toolkit_src_dir)/controls/flex-container/flex-container-impl.cpp \
    $(toolkit_src_dir)/controls/gaussian-blur-view/gaussian-blur-view-impl.cpp \
index 217994e..0ba7833 100644 (file)
@@ -186,6 +186,9 @@ void AnimatedImageVisual::DoSetOnStage( Actor& actor )
     }
 
     actor.AddRenderer( mImpl->mRenderer );
+
+    // Animated Image loaded and ready to display
+    ResourceReady();
   }
 }
 
index 2329167..0adfa8d 100644 (file)
@@ -215,6 +215,9 @@ void BorderVisual::DoSetOnStage( Actor& actor )
   mBorderSizeIndex = DevelHandle::RegisterProperty( mImpl->mRenderer, Toolkit::BorderVisual::Property::SIZE, SIZE_NAME, mBorderSize );
 
   actor.AddRenderer( mImpl->mRenderer );
+
+  // Border Visual Generated and ready to display
+  ResourceReady();
 }
 
 void BorderVisual::DoCreatePropertyMap( Property::Map& map ) const
index 1691888..31922ba 100644 (file)
@@ -129,6 +129,9 @@ void ColorVisual::DoSetOnStage( Actor& actor )
   InitializeRenderer();
 
   actor.AddRenderer( mImpl->mRenderer );
+
+  // Color Visual generated and ready to display
+  ResourceReady();
 }
 
 void ColorVisual::DoCreatePropertyMap( Property::Map& map ) const
index fbce369..b75b359 100644 (file)
@@ -278,6 +278,9 @@ void GradientVisual::DoSetOnStage( Actor& actor )
   InitializeRenderer();
 
   actor.AddRenderer( mImpl->mRenderer );
+
+  // Gradient Visual generated and ready to display
+  ResourceReady();
 }
 
 void GradientVisual::DoCreatePropertyMap( Property::Map& map ) const
index 06a9601..27c91e2 100644 (file)
@@ -754,6 +754,9 @@ void ImageVisual::DoSetOnStage( Actor& actor )
   {
     actor.AddRenderer( mImpl->mRenderer );
     mPlacementActor.Reset();
+
+    // Image loaded and ready to display
+    ResourceReady();
   }
 }
 
@@ -925,6 +928,8 @@ void ImageVisual::UploadComplete( bool loadingSuccess, TextureSet textureSet, bo
         Image brokenImage = VisualFactoryCache::GetBrokenVisualImage();
         ApplyImageToSampler( brokenImage );
       }
+      // Image loaded and ready to display
+      ResourceReady();
     }
   }
   mTextureLoading = false;
index 190c457..76e8558 100644 (file)
@@ -518,6 +518,9 @@ void MeshVisual::DoSetOnStage( Actor& actor )
   InitializeRenderer();
 
   actor.AddRenderer( mImpl->mRenderer );
+
+  // Mesh loaded and ready to display
+  ResourceReady();
 }
 
 void MeshVisual::DoCreatePropertyMap( Property::Map& map ) const
index 36700fe..599546f 100644 (file)
@@ -317,6 +317,9 @@ void NPatchVisual::DoSetOnStage( Actor& actor )
   ApplyTextureAndUniforms();
 
   actor.AddRenderer( mImpl->mRenderer );
+
+  // npatch loaded and ready to display
+  ResourceReady();
 }
 
 void NPatchVisual::DoSetOffStage( Actor& actor )
index 9d306be..ede8ce0 100644 (file)
@@ -418,6 +418,9 @@ void PrimitiveVisual::DoSetOnStage( Actor& actor )
   InitializeRenderer();
 
   actor.AddRenderer( mImpl->mRenderer );
+
+  // Primitive generated and ready to display
+  ResourceReady();
 }
 
 void PrimitiveVisual::DoCreatePropertyMap( Property::Map& map ) const
index 7fc1cf2..a1da87f 100644 (file)
@@ -228,6 +228,9 @@ void SvgVisual::ApplyRasterizedImage( PixelData rasterizedPixelData )
       // reset the weak handle so that the renderer only get added to actor once
       mPlacementActor.Reset();
     }
+
+   // Svg loaded and ready to display
+   ResourceReady();
   }
 }
 
index 77a680f..473abf5 100644 (file)
@@ -510,6 +510,9 @@ void TextVisual::UpdateRenderer( bool initializeRendererAndTexture )
       mImpl->mRenderer.SetTextures( textureSet );
 
       control.AddRenderer( mImpl->mRenderer );
+
+      // Text rendered and ready to display
+      ResourceReady();
     }
   }
 }
index f79afe6..4b14eca 100644 (file)
@@ -117,13 +117,15 @@ bool GetPolicyFromValue( const Property::Value& value, Vector2& policy )
 Internal::Visual::Base::Impl::Impl()
 : mCustomShader( NULL ),
   mBlendSlotDelegate( NULL ),
+  mResourceObserver( NULL ),
   mTransform(),
   mMixColor( Color::WHITE ),
   mControlSize( Vector2::ZERO ),
   mDepthIndex( 0.0f ),
   mMixColorIndex( Property::INVALID_INDEX ),
   mOpacityIndex( Property::INVALID_INDEX ),
-  mFlags( 0 )
+  mFlags( 0 ),
+  mResourceReady( false )
 {
 }
 
index 8b235f8..c31037f 100644 (file)
@@ -24,6 +24,7 @@
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/internal/visuals/visual-base-impl.h>
+#include <dali-toolkit/internal/visuals/visual-resource-observer.h>
 #include <dali-toolkit/devel-api/align-enums.h>
 
 namespace Dali
@@ -115,6 +116,7 @@ struct Base::Impl
   Renderer        mRenderer;
   CustomShader*   mCustomShader;
   SlotDelegate<Visual::Base>* mBlendSlotDelegate; ///< Used to own mix color animation connection
+  ResourceObserver* mResourceObserver;  ///< Allows controls to observe when the visual resources are loaded and ready
   std::string     mName;
   Transform       mTransform;
   Vector4         mMixColor;
@@ -123,6 +125,7 @@ struct Base::Impl
   Property::Index mMixColorIndex;
   Property::Index mOpacityIndex;
   int             mFlags;
+  bool            mResourceReady:1;
 };
 
 } // namespace Visual
index c61aeba..275f569 100644 (file)
@@ -401,6 +401,37 @@ const Vector4& Visual::Base::GetMixColor() const
   return mImpl->mMixColor;
 }
 
+void Visual::Base::AddResourceObserver( Visual::ResourceObserver& observer)
+{
+  mImpl->mResourceObserver = &observer;
+}
+
+void Visual::Base::RemoveResourceObserver( Visual::ResourceObserver& observer )
+{
+  mImpl->mResourceObserver = NULL;
+}
+
+void Visual::Base::ResourceReady()
+{
+  if( mImpl->mResourceReady )
+  {
+    // only inform the observer the first time the resource is ready
+    return;
+  }
+  mImpl->mResourceReady = true;
+
+  if( mImpl->mResourceObserver )
+  {
+    // observer is currently a control impl
+    mImpl->mResourceObserver->ResourceReady( *this );
+  }
+}
+
+bool Visual::Base::IsResourceReady() const
+{
+  return mImpl->mResourceReady;
+}
+
 Renderer Visual::Base::GetRenderer()
 {
   return mImpl->mRenderer;
index ae8a35f..b671c15 100644 (file)
@@ -44,6 +44,8 @@ namespace Internal
 namespace Visual
 {
 
+class ResourceObserver;
+
 /**
  * Base class for all Control rendering logic. A control may have multiple visuals.
  *
@@ -208,6 +210,29 @@ public:
   void AnimateProperty( Dali::Animation& transition,
                         Internal::TransitionData::Animator& animator );
 
+  /**
+   * @brief Add an observer to watch for when the Visuals resources are loaded.
+   * Currently only supports a single observer
+   *
+   */
+  void AddResourceObserver( Visual::ResourceObserver& observer );
+
+  /**
+   * @brief Remove an observer
+   */
+  void RemoveResourceObserver( Visual::ResourceObserver& observer );
+
+  /**
+   * @brief Called when the visuals resources are loaded / ready
+   */
+  void ResourceReady();
+
+  /**
+   * @brief Called when the visuals resources are loaded / ready
+   * @return true if ready, false otherwise
+   */
+  bool IsResourceReady() const;
+
 protected:
 
   /**
diff --git a/dali-toolkit/internal/visuals/visual-resource-observer.h b/dali-toolkit/internal/visuals/visual-resource-observer.h
new file mode 100644 (file)
index 0000000..f671adc
--- /dev/null
@@ -0,0 +1,74 @@
+#ifndef DALI_INTERNAL_TOOLKIT_VISUAL_RESOURCE_OBSERVER_H
+#define DALI_INTERNAL_TOOLKIT_VISUAL_RESOURCE_OBSERVER_H
+
+/*
+ * 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 Dali
+{
+namespace Toolkit
+{
+namespace Internal
+{
+namespace Visual
+{
+
+class Base;
+
+
+/**
+ * Observer to be informed when a visuals resources are ready.
+ */
+class ResourceObserver
+{
+  public:
+
+    /**
+     * Inform the observer of the object that it's connections have changed
+     * @param[in] object The connection owner
+     */
+    virtual void ResourceReady( Visual::Base& object) = 0;
+
+  protected:
+
+    /**
+     * constructor
+     */
+    ResourceObserver()
+    {
+    };
+
+    /**
+     * virtual destructor
+     */
+    virtual ~ResourceObserver()
+    {
+    };
+
+    // Undefined copy constructor.
+    ResourceObserver( const ResourceObserver& );
+
+    // Undefined assignment operator.
+    ResourceObserver& operator=( const ResourceObserver& );
+};
+} // Visual
+} // Internal
+} // Toolkit
+} // Dali
+
+#endif // DALI_INTERNAL_TOOLKIT_VISUAL_RESOURCE_OBSERVER_H
index 990b25f..e674bf1 100644 (file)
@@ -174,6 +174,9 @@ void WireframeVisual::DoSetOnStage( Actor& actor )
   InitializeRenderer();
 
   actor.AddRenderer( mImpl->mRenderer );
+
+  // Wireframe generated and ready to display
+  ResourceReady();
 }
 
 void WireframeVisual::InitializeRenderer()
index fffbe69..525a02e 100644 (file)
 #include <stack>
 #include <typeinfo>
 #include <dali/public-api/animation/constraint.h>
-#include <dali/public-api/animation/constraints.h>
-#include <dali/public-api/object/type-registry.h>
 #include <dali/public-api/object/type-registry-helper.h>
-#include <dali/public-api/rendering/renderer.h>
 #include <dali/public-api/size-negotiation/relayout-container.h>
-#include <dali/devel-api/common/owner-container.h>
 #include <dali/devel-api/object/handle-devel.h>
-#include <dali/devel-api/scripting/enum-helper.h>
 #include <dali/devel-api/scripting/scripting.h>
 #include <dali/integration-api/debug.h>
 
 #include <dali-toolkit/public-api/controls/control.h>
 #include <dali-toolkit/public-api/styling/style-manager.h>
 #include <dali-toolkit/public-api/visuals/color-visual-properties.h>
-#include <dali-toolkit/public-api/visuals/image-visual-properties.h>
 #include <dali-toolkit/devel-api/controls/control-depth-index-ranges.h>
 #include <dali-toolkit/devel-api/controls/control-devel.h>
-#include <dali-toolkit/devel-api/visuals/text-visual-properties.h>
 #include <dali-toolkit/devel-api/visuals/visual-properties-devel.h>
-#include <dali-toolkit/devel-api/visual-factory/visual-factory.h>
 #include <dali-toolkit/devel-api/focus-manager/keyinput-focus-manager.h>
 #include <dali-toolkit/internal/styling/style-manager-impl.h>
 #include <dali-toolkit/internal/visuals/color/color-visual.h>
-#include <dali-toolkit/internal/visuals/transition-data-impl.h>
 #include <dali-toolkit/internal/visuals/visual-string-constants.h>
 #include <dali-toolkit/devel-api/align-enums.h>
-#include <dali-toolkit/internal/controls/tooltip/tooltip.h>
+#include <dali-toolkit/internal/controls/control/control-data-impl.h>
 
 namespace Dali
 {
@@ -63,19 +54,6 @@ namespace Toolkit
 namespace Internal
 {
 
-extern const Dali::Scripting::StringEnum ControlStateTable[];
-extern const unsigned int ControlStateTableCount;
-
-
-// Not static or anonymous - shared with other translation units
-const Scripting::StringEnum ControlStateTable[] = {
-  { "NORMAL",   Toolkit::DevelControl::NORMAL   },
-  { "FOCUSED",  Toolkit::DevelControl::FOCUSED  },
-  { "DISABLED", Toolkit::DevelControl::DISABLED },
-}; const unsigned int ControlStateTableCount = sizeof( ControlStateTable ) / sizeof( ControlStateTable[0] );
-
-} // Internal namespace
-
 namespace
 {
 
@@ -89,23 +67,6 @@ DALI_ENUM_TO_STRING_WITH_SCOPE( ClippingMode, CLIP_CHILDREN )
 DALI_ENUM_TO_STRING_TABLE_END( CLIPPING_MODE )
 
 /**
- * Struct used to store Visual within the control, index is a unique key for each visual.
- */
-struct RegisteredVisual
-{
-  Property::Index index;
-  Toolkit::Visual::Base visual;
-  bool enabled;
-
-  RegisteredVisual( Property::Index aIndex, Toolkit::Visual::Base &aVisual, bool aEnabled)
-  : index(aIndex), visual(aVisual), enabled(aEnabled)
-  {
-  }
-};
-
-typedef Dali::OwnerContainer< RegisteredVisual* > RegisteredVisualContainer;
-
-/**
  *  Finds visual in given array, returning true if found along with the iterator for that visual as a out parameter
  */
 bool FindVisual( Property::Index targetIndex, RegisteredVisualContainer& visuals, RegisteredVisualContainer::Iterator& iter )
@@ -139,825 +100,9 @@ Toolkit::Visual::Base GetVisualByName(
   return visualHandle;
 }
 
-/**
- * Creates control through type registry
- */
-BaseHandle Create()
-{
-  return Internal::Control::New();
-}
-
-/**
- * Performs actions as requested using the action name.
- * @param[in] object The object on which to perform the action.
- * @param[in] actionName The action to perform.
- * @param[in] attributes The attributes with which to perfrom this action.
- * @return true if action has been accepted by this control
- */
-const char* ACTION_ACCESSIBILITY_ACTIVATED = "accessibilityActivated";
-static bool DoAction( BaseObject* object, const std::string& actionName, const Property::Map& attributes )
-{
-  bool ret = false;
-
-  if( object && ( 0 == strcmp( actionName.c_str(), ACTION_ACCESSIBILITY_ACTIVATED ) ) )
-  {
-    Toolkit::Control control = Toolkit::Control::DownCast( BaseHandle( object ) );
-    if( control )
-    {
-      // if cast succeeds there is an implementation so no need to check
-      ret = Internal::GetImplementation( control ).OnAccessibilityActivated();
-    }
-  }
-
-  return ret;
-}
-
-/**
- * Connects a callback function with the object's signals.
- * @param[in] object The object providing the signal.
- * @param[in] tracker Used to disconnect the signal.
- * @param[in] signalName The signal to connect to.
- * @param[in] functor A newly allocated FunctorDelegate.
- * @return True if the signal was connected.
- * @post If a signal was connected, ownership of functor was passed to CallbackBase. Otherwise the caller is responsible for deleting the unused functor.
- */
-const char* SIGNAL_KEY_EVENT = "keyEvent";
-const char* SIGNAL_KEY_INPUT_FOCUS_GAINED = "keyInputFocusGained";
-const char* SIGNAL_KEY_INPUT_FOCUS_LOST = "keyInputFocusLost";
-const char* SIGNAL_TAPPED = "tapped";
-const char* SIGNAL_PANNED = "panned";
-const char* SIGNAL_PINCHED = "pinched";
-const char* SIGNAL_LONG_PRESSED = "longPressed";
-static bool DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor )
-{
-  Dali::BaseHandle handle( object );
-
-  bool connected( false );
-  Toolkit::Control control = Toolkit::Control::DownCast( handle );
-  if ( control )
-  {
-    Internal::Control& controlImpl( Internal::GetImplementation( control ) );
-    connected = true;
-
-    if ( 0 == strcmp( signalName.c_str(), SIGNAL_KEY_EVENT ) )
-    {
-      controlImpl.KeyEventSignal().Connect( tracker, functor );
-    }
-    else if( 0 == strcmp( signalName.c_str(), SIGNAL_KEY_INPUT_FOCUS_GAINED ) )
-    {
-      controlImpl.KeyInputFocusGainedSignal().Connect( tracker, functor );
-    }
-    else if( 0 == strcmp( signalName.c_str(), SIGNAL_KEY_INPUT_FOCUS_LOST ) )
-    {
-      controlImpl.KeyInputFocusLostSignal().Connect( tracker, functor );
-    }
-    else if( 0 == strcmp( signalName.c_str(), SIGNAL_TAPPED ) )
-    {
-      controlImpl.EnableGestureDetection( Gesture::Tap );
-      controlImpl.GetTapGestureDetector().DetectedSignal().Connect( tracker, functor );
-    }
-    else if( 0 == strcmp( signalName.c_str(), SIGNAL_PANNED ) )
-    {
-      controlImpl.EnableGestureDetection( Gesture::Pan );
-      controlImpl.GetPanGestureDetector().DetectedSignal().Connect( tracker, functor );
-    }
-    else if( 0 == strcmp( signalName.c_str(), SIGNAL_PINCHED ) )
-    {
-      controlImpl.EnableGestureDetection( Gesture::Pinch );
-      controlImpl.GetPinchGestureDetector().DetectedSignal().Connect( tracker, functor );
-    }
-    else if( 0 == strcmp( signalName.c_str(), SIGNAL_LONG_PRESSED ) )
-    {
-      controlImpl.EnableGestureDetection( Gesture::LongPress );
-      controlImpl.GetLongPressGestureDetector().DetectedSignal().Connect( tracker, functor );
-    }
-  }
-  return connected;
-}
-
-// Setup signals and actions using the type-registry.
-DALI_TYPE_REGISTRATION_BEGIN( Control, CustomActor, Create );
-
-// Note: Properties are registered separately below.
-
-SignalConnectorType registerSignal1( typeRegistration, SIGNAL_KEY_EVENT, &DoConnectSignal );
-SignalConnectorType registerSignal2( typeRegistration, SIGNAL_KEY_INPUT_FOCUS_GAINED, &DoConnectSignal );
-SignalConnectorType registerSignal3( typeRegistration, SIGNAL_KEY_INPUT_FOCUS_LOST, &DoConnectSignal );
-SignalConnectorType registerSignal4( typeRegistration, SIGNAL_TAPPED, &DoConnectSignal );
-SignalConnectorType registerSignal5( typeRegistration, SIGNAL_PANNED, &DoConnectSignal );
-SignalConnectorType registerSignal6( typeRegistration, SIGNAL_PINCHED, &DoConnectSignal );
-SignalConnectorType registerSignal7( typeRegistration, SIGNAL_LONG_PRESSED, &DoConnectSignal );
-
-TypeAction registerAction( typeRegistration, ACTION_ACCESSIBILITY_ACTIVATED, &DoAction );
-
-DALI_TYPE_REGISTRATION_END()
-
 } // unnamed namespace
 
-namespace Internal
-{
-
-class Control::Impl : public ConnectionTracker
-{
-public:
-
-  // Construction & Destruction
-  Impl(Control& controlImpl)
-  : mControlImpl( controlImpl ),
-    mState( Toolkit::DevelControl::NORMAL ),
-    mSubStateName(""),
-    mLeftFocusableActorId( -1 ),
-    mRightFocusableActorId( -1 ),
-    mUpFocusableActorId( -1 ),
-    mDownFocusableActorId( -1 ),
-    mStyleName(""),
-    mBackgroundColor(Color::TRANSPARENT),
-    mStartingPinchScale( NULL ),
-    mKeyEventSignal(),
-    mPinchGestureDetector(),
-    mPanGestureDetector(),
-    mTapGestureDetector(),
-    mLongPressGestureDetector(),
-    mFlags( Control::ControlBehaviour( CONTROL_BEHAVIOUR_DEFAULT ) ),
-    mIsKeyboardNavigationSupported( false ),
-    mIsKeyboardFocusGroup( false )
-  {
-  }
 
-  ~Impl()
-  {
-    // All gesture detectors will be destroyed so no need to disconnect.
-    delete mStartingPinchScale;
-  }
-
-  // Gesture Detection Methods
-
-  void PinchDetected(Actor actor, const PinchGesture& pinch)
-  {
-    mControlImpl.OnPinch(pinch);
-  }
-
-  void PanDetected(Actor actor, const PanGesture& pan)
-  {
-    mControlImpl.OnPan(pan);
-  }
-
-  void TapDetected(Actor actor, const TapGesture& tap)
-  {
-    mControlImpl.OnTap(tap);
-  }
-
-  void LongPressDetected(Actor actor, const LongPressGesture& longPress)
-  {
-    mControlImpl.OnLongPress(longPress);
-  }
-
-  // Properties
-
-  /**
-   * Called when a property of an object of this type is set.
-   * @param[in] object The object whose property is set.
-   * @param[in] index The property index.
-   * @param[in] value The new property value.
-   */
-  static void SetProperty( BaseObject* object, Property::Index index, const Property::Value& value )
-  {
-    Toolkit::Control control = Toolkit::Control::DownCast( BaseHandle( object ) );
-
-    if ( control )
-    {
-      Control& controlImpl( GetImplementation( control ) );
-
-      switch ( index )
-      {
-        case Toolkit::Control::Property::STYLE_NAME:
-        {
-          controlImpl.SetStyleName( value.Get< std::string >() );
-          break;
-        }
-
-        case Toolkit::DevelControl::Property::STATE:
-        {
-          bool withTransitions=true;
-          const Property::Value* valuePtr=&value;
-          Property::Map* map = value.GetMap();
-          if(map)
-          {
-            Property::Value* value2 = map->Find("withTransitions");
-            if( value2 )
-            {
-              withTransitions = value2->Get<bool>();
-            }
-
-            valuePtr = map->Find("state");
-          }
-
-          if( valuePtr )
-          {
-            Toolkit::DevelControl::State state( controlImpl.mImpl->mState );
-            if( Scripting::GetEnumerationProperty< Toolkit::DevelControl::State >( *valuePtr, ControlStateTable, ControlStateTableCount, state ) )
-            {
-              controlImpl.mImpl->SetState( state, withTransitions );
-            }
-          }
-        }
-        break;
-
-        case Toolkit::DevelControl::Property::SUB_STATE:
-        {
-          std::string subState;
-          if( value.Get( subState ) )
-          {
-            controlImpl.mImpl->SetSubState( subState );
-          }
-        }
-        break;
-
-        case Toolkit::DevelControl::Property::LEFT_FOCUSABLE_ACTOR_ID:
-        {
-          int focusId;
-          if( value.Get( focusId ) )
-          {
-            controlImpl.mImpl->mLeftFocusableActorId = focusId;
-          }
-        }
-        break;
-
-        case Toolkit::DevelControl::Property::RIGHT_FOCUSABLE_ACTOR_ID:
-        {
-          int focusId;
-          if( value.Get( focusId ) )
-          {
-            controlImpl.mImpl->mRightFocusableActorId = focusId;
-          }
-        }
-        break;
-
-        case Toolkit::DevelControl::Property::UP_FOCUSABLE_ACTOR_ID:
-        {
-          int focusId;
-          if( value.Get( focusId ) )
-          {
-            controlImpl.mImpl->mUpFocusableActorId = focusId;
-          }
-        }
-        break;
-
-        case Toolkit::DevelControl::Property::DOWN_FOCUSABLE_ACTOR_ID:
-        {
-          int focusId;
-          if( value.Get( focusId ) )
-          {
-            controlImpl.mImpl->mDownFocusableActorId = focusId;
-          }
-        }
-        break;
-
-        case Toolkit::Control::Property::BACKGROUND_COLOR:
-        {
-          DALI_LOG_WARNING( "BACKGROUND_COLOR property is deprecated. Use BACKGROUND property instead\n" );
-          controlImpl.SetBackgroundColor( value.Get< Vector4 >() );
-          break;
-        }
-
-        case Toolkit::Control::Property::BACKGROUND_IMAGE:
-        {
-          DALI_LOG_WARNING( "BACKGROUND_IMAGE property is deprecated. Use BACKGROUND property instead\n" );
-          Image image = Scripting::NewImage( value );
-          if ( image )
-          {
-            controlImpl.SetBackgroundImage( image );
-          }
-          else
-          {
-            // An empty image means the background is no longer required
-            controlImpl.ClearBackground();
-          }
-          break;
-        }
-
-        case Toolkit::Control::Property::KEY_INPUT_FOCUS:
-        {
-          if ( value.Get< bool >() )
-          {
-            controlImpl.SetKeyInputFocus();
-          }
-          else
-          {
-            controlImpl.ClearKeyInputFocus();
-          }
-          break;
-        }
-
-        case Toolkit::Control::Property::BACKGROUND:
-        {
-          std::string url;
-          Vector4 color;
-          const Property::Map* map = value.GetMap();
-          if( map && !map->Empty() )
-          {
-            controlImpl.SetBackground( *map );
-          }
-          else if( value.Get( url ) )
-          {
-            // don't know the size to load
-            Toolkit::Visual::Base visual = Toolkit::VisualFactory::Get().CreateVisual( url, ImageDimensions() );
-            if( visual )
-            {
-              controlImpl.RegisterVisual( Toolkit::Control::Property::BACKGROUND, visual );
-              visual.SetDepthIndex( DepthIndex::BACKGROUND );
-            }
-          }
-          else if( value.Get( color ) )
-          {
-            controlImpl.SetBackgroundColor(color);
-          }
-          else
-          {
-            // The background is an empty property map, so we should clear the background
-            controlImpl.ClearBackground();
-          }
-          break;
-        }
-
-        case Toolkit::DevelControl::Property::TOOLTIP:
-        {
-          TooltipPtr& tooltipPtr = controlImpl.mImpl->mTooltip;
-          if( ! tooltipPtr )
-          {
-            tooltipPtr = Tooltip::New( control );
-          }
-          tooltipPtr->SetProperties( value );
-        }
-      }
-    }
-  }
-
-  /**
-   * Called to retrieve a property of an object of this type.
-   * @param[in] object The object whose property is to be retrieved.
-   * @param[in] index The property index.
-   * @return The current value of the property.
-   */
-  static Property::Value GetProperty( BaseObject* object, Property::Index index )
-  {
-    Property::Value value;
-
-    Toolkit::Control control = Toolkit::Control::DownCast( BaseHandle( object ) );
-
-    if ( control )
-    {
-      Control& controlImpl( GetImplementation( control ) );
-
-      switch ( index )
-      {
-        case Toolkit::Control::Property::STYLE_NAME:
-        {
-          value = controlImpl.GetStyleName();
-          break;
-        }
-
-        case Toolkit::DevelControl::Property::STATE:
-        {
-          value = controlImpl.mImpl->mState;
-          break;
-        }
-
-        case Toolkit::DevelControl::Property::SUB_STATE:
-        {
-          value = controlImpl.mImpl->mSubStateName;
-          break;
-        }
-
-        case Toolkit::DevelControl::Property::LEFT_FOCUSABLE_ACTOR_ID:
-        {
-          value = controlImpl.mImpl->mLeftFocusableActorId;
-          break;
-        }
-
-        case Toolkit::DevelControl::Property::RIGHT_FOCUSABLE_ACTOR_ID:
-        {
-          value = controlImpl.mImpl->mRightFocusableActorId;
-          break;
-        }
-
-        case Toolkit::DevelControl::Property::UP_FOCUSABLE_ACTOR_ID:
-        {
-          value = controlImpl.mImpl->mUpFocusableActorId;
-          break;
-        }
-
-        case Toolkit::DevelControl::Property::DOWN_FOCUSABLE_ACTOR_ID:
-        {
-          value = controlImpl.mImpl->mDownFocusableActorId;
-          break;
-        }
-
-        case Toolkit::Control::Property::BACKGROUND_COLOR:
-        {
-          DALI_LOG_WARNING( "BACKGROUND_COLOR property is deprecated. Use BACKGROUND property instead\n" );
-          value = controlImpl.GetBackgroundColor();
-          break;
-        }
-
-        case Toolkit::Control::Property::BACKGROUND_IMAGE:
-        {
-          DALI_LOG_WARNING( "BACKGROUND_IMAGE property is deprecated. Use BACKGROUND property instead\n" );
-          Property::Map map;
-          Toolkit::Visual::Base visual = controlImpl.GetVisual( Toolkit::Control::Property::BACKGROUND );
-          if( visual )
-          {
-            visual.CreatePropertyMap( map );
-          }
-          value = map;
-          break;
-        }
-
-        case Toolkit::Control::Property::KEY_INPUT_FOCUS:
-        {
-          value = controlImpl.HasKeyInputFocus();
-          break;
-        }
-
-        case Toolkit::Control::Property::BACKGROUND:
-        {
-          Property::Map map;
-          Toolkit::Visual::Base visual = controlImpl.GetVisual( Toolkit::Control::Property::BACKGROUND );
-          if( visual )
-          {
-            visual.CreatePropertyMap( map );
-          }
-
-          value = map;
-          break;
-        }
-
-        case Toolkit::DevelControl::Property::TOOLTIP:
-        {
-          Property::Map map;
-          if( controlImpl.mImpl->mTooltip )
-          {
-            controlImpl.mImpl->mTooltip->CreatePropertyMap( map );
-          }
-          value = map;
-          break;
-        }
-
-      }
-    }
-
-    return value;
-  }
-
-
-  void CopyInstancedProperties( RegisteredVisualContainer& visuals, Dictionary<Property::Map>& instancedProperties )
-  {
-    for(RegisteredVisualContainer::Iterator iter = visuals.Begin(); iter!= visuals.End(); iter++)
-    {
-      if( (*iter)->visual )
-      {
-        Property::Map instanceMap;
-        Toolkit::GetImplementation((*iter)->visual).CreateInstancePropertyMap(instanceMap);
-        instancedProperties.Add( (*iter)->visual.GetName(), instanceMap );
-      }
-    }
-  }
-
-  template<typename T>
-  void Remove( Dictionary<T>& keyValues, const std::string& name )
-  {
-    keyValues.Remove(name);
-  }
-
-  void Remove( DictionaryKeys& keys, const std::string& name )
-  {
-    DictionaryKeys::iterator iter = std::find( keys.begin(), keys.end(), name );
-    if( iter != keys.end())
-    {
-      keys.erase(iter);
-    }
-  }
-
-  void FindChangableVisuals( Dictionary<Property::Map>& stateVisualsToAdd,
-                             Dictionary<Property::Map>& stateVisualsToChange,
-                             DictionaryKeys& stateVisualsToRemove)
-  {
-    DictionaryKeys copyOfStateVisualsToRemove = stateVisualsToRemove;
-
-    for( DictionaryKeys::iterator iter = copyOfStateVisualsToRemove.begin();
-         iter != copyOfStateVisualsToRemove.end(); ++iter )
-    {
-      const std::string& visualName = (*iter);
-      Property::Map* toMap = stateVisualsToAdd.Find( visualName );
-      if( toMap )
-      {
-        stateVisualsToChange.Add( visualName, *toMap );
-        stateVisualsToAdd.Remove( visualName );
-        Remove( stateVisualsToRemove, visualName );
-      }
-    }
-  }
-
-  void RemoveVisual( RegisteredVisualContainer& visuals, const std::string& visualName )
-  {
-    Actor self( mControlImpl.Self() );
-
-    for ( RegisteredVisualContainer::Iterator visualIter = visuals.Begin();
-          visualIter != visuals.End(); ++visualIter )
-    {
-      Toolkit::Visual::Base visual = (*visualIter)->visual;
-      if( visual && visual.GetName() == visualName )
-      {
-        Toolkit::GetImplementation(visual).SetOffStage( self );
-        (*visualIter)->visual.Reset();
-        visuals.Erase( visualIter );
-        break;
-      }
-    }
-  }
-
-  void RemoveVisuals( RegisteredVisualContainer& visuals, DictionaryKeys& removeVisuals )
-  {
-    Actor self( mControlImpl.Self() );
-    for( DictionaryKeys::iterator iter = removeVisuals.begin(); iter != removeVisuals.end(); ++iter )
-    {
-      const std::string visualName = *iter;
-      RemoveVisual( visuals, visualName );
-    }
-  }
-
-  Toolkit::DevelVisual::Type GetVisualTypeFromMap( const Property::Map& map )
-  {
-    Property::Value* typeValue = map.Find( Toolkit::DevelVisual::Property::TYPE, VISUAL_TYPE  );
-    Toolkit::DevelVisual::Type type = Toolkit::DevelVisual::IMAGE;
-    if( typeValue )
-    {
-      Scripting::GetEnumerationProperty( *typeValue, VISUAL_TYPE_TABLE, VISUAL_TYPE_TABLE_COUNT, type );
-    }
-    return type;
-  }
-
-  /**
-   * Go through the list of visuals that are common to both states.
-   * If they are different types, or are both image types with different
-   * URLs, then the existing visual needs moving and the new visual creating
-   */
-  void RecreateChangedVisuals( Dictionary<Property::Map>& stateVisualsToChange,
-                               Dictionary<Property::Map>& instancedProperties )
-  {
-    Dali::CustomActor handle( mControlImpl.GetOwner() );
-    for( Dictionary<Property::Map>::iterator iter = stateVisualsToChange.Begin();
-         iter != stateVisualsToChange.End(); ++iter )
-    {
-      const std::string& visualName = (*iter).key;
-      const Property::Map& toMap = (*iter).entry;
-
-      // is it a candidate for re-creation?
-      bool recreate = false;
-
-      Toolkit::Visual::Base visual = GetVisualByName( mVisuals, visualName );
-      if( visual )
-      {
-        Property::Map fromMap;
-        visual.CreatePropertyMap( fromMap );
-
-        Toolkit::DevelVisual::Type fromType = GetVisualTypeFromMap( fromMap );
-        Toolkit::DevelVisual::Type toType = GetVisualTypeFromMap( toMap );
-
-        if( fromType != toType )
-        {
-          recreate = true;
-        }
-        else
-        {
-          if( fromType == Toolkit::DevelVisual::IMAGE || fromType == Toolkit::DevelVisual::N_PATCH
-              || fromType == Toolkit::DevelVisual::SVG || fromType == Toolkit::DevelVisual::ANIMATED_IMAGE )
-          {
-            Property::Value* fromUrl = fromMap.Find( Toolkit::ImageVisual::Property::URL, IMAGE_URL_NAME );
-            Property::Value* toUrl = toMap.Find( Toolkit::ImageVisual::Property::URL, IMAGE_URL_NAME );
-
-            if( fromUrl && toUrl )
-            {
-              std::string fromUrlString;
-              std::string toUrlString;
-              fromUrl->Get(fromUrlString);
-              toUrl->Get(toUrlString);
-
-              if( fromUrlString != toUrlString )
-              {
-                recreate = true;
-              }
-            }
-          }
-        }
-
-        const Property::Map* instancedMap = instancedProperties.FindConst( visualName );
-        if( recreate || instancedMap )
-        {
-          RemoveVisual( mVisuals, visualName );
-          Style::ApplyVisual( handle, visualName, toMap, instancedMap );
-        }
-        else
-        {
-          // @todo check to see if we can apply toMap without recreating the visual
-          // e.g. by setting only animatable properties
-          // For now, recreate all visuals, but merge in instance data.
-          RemoveVisual( mVisuals, visualName );
-          Style::ApplyVisual( handle, visualName, toMap, instancedMap );
-        }
-      }
-    }
-  }
-
-  void ReplaceStateVisualsAndProperties( const StylePtr oldState, const StylePtr newState, const std::string& subState )
-  {
-    // Collect all old visual names
-    DictionaryKeys stateVisualsToRemove;
-    if( oldState )
-    {
-      oldState->visuals.GetKeys( stateVisualsToRemove );
-      if( ! subState.empty() )
-      {
-        const StylePtr* oldSubState = oldState->subStates.FindConst(subState);
-        if( oldSubState )
-        {
-          DictionaryKeys subStateVisualsToRemove;
-          (*oldSubState)->visuals.GetKeys( subStateVisualsToRemove );
-          Merge( stateVisualsToRemove, subStateVisualsToRemove );
-        }
-      }
-    }
-
-    // Collect all new visual properties
-    Dictionary<Property::Map> stateVisualsToAdd;
-    if( newState )
-    {
-      stateVisualsToAdd = newState->visuals;
-      if( ! subState.empty() )
-      {
-        const StylePtr* newSubState = newState->subStates.FindConst(subState);
-        if( newSubState )
-        {
-          stateVisualsToAdd.Merge( (*newSubState)->visuals );
-        }
-      }
-    }
-
-    // If a name is in both add/remove, move it to change list.
-    Dictionary<Property::Map> stateVisualsToChange;
-    FindChangableVisuals( stateVisualsToAdd, stateVisualsToChange, stateVisualsToRemove);
-
-    // Copy instanced properties (e.g. text label) of current visuals
-    Dictionary<Property::Map> instancedProperties;
-    CopyInstancedProperties( mVisuals, instancedProperties );
-
-    // For each visual in remove list, remove from mVisuals
-    RemoveVisuals( mVisuals, stateVisualsToRemove );
-
-    // For each visual in add list, create and add to mVisuals
-    Dali::CustomActor handle( mControlImpl.GetOwner() );
-    Style::ApplyVisuals( handle, stateVisualsToAdd, instancedProperties );
-
-    // For each visual in change list, if it requires a new visual,
-    // remove old visual, create and add to mVisuals
-    RecreateChangedVisuals( stateVisualsToChange, instancedProperties );
-  }
-
-  void SetState( DevelControl::State newState, bool withTransitions=true )
-  {
-    DevelControl::State oldState = mState;
-    Dali::CustomActor handle( mControlImpl.GetOwner() );
-    DALI_LOG_INFO(gLogFilter, Debug::Concise, "Control::Impl::SetState: %s\n",
-                  (mState == DevelControl::NORMAL ? "NORMAL" :(
-                    mState == DevelControl::FOCUSED ?"FOCUSED" : (
-                      mState == DevelControl::DISABLED?"DISABLED":"NONE" ))));
-
-    if( mState != newState )
-    {
-      // If mState was Disabled, and new state is Focused, should probably
-      // store that fact, e.g. in another property that FocusManager can access.
-      mState = newState;
-
-      // Trigger state change and transitions
-      // Apply new style, if stylemanager is available
-      Toolkit::StyleManager styleManager = Toolkit::StyleManager::Get();
-      if( styleManager )
-      {
-        const StylePtr stylePtr = GetImpl( styleManager ).GetRecordedStyle( Toolkit::Control( mControlImpl.GetOwner() ) );
-
-        if( stylePtr )
-        {
-          std::string oldStateName = Scripting::GetEnumerationName< Toolkit::DevelControl::State >( oldState, ControlStateTable, ControlStateTableCount );
-          std::string newStateName = Scripting::GetEnumerationName< Toolkit::DevelControl::State >( newState, ControlStateTable, ControlStateTableCount );
-
-          const StylePtr* newStateStyle = stylePtr->subStates.Find( newStateName );
-          const StylePtr* oldStateStyle = stylePtr->subStates.Find( oldStateName );
-          if( oldStateStyle && newStateStyle )
-          {
-            // Only change if both state styles exist
-            ReplaceStateVisualsAndProperties( *oldStateStyle, *newStateStyle, mSubStateName );
-          }
-        }
-      }
-    }
-  }
-
-  void SetSubState( const std::string& subStateName, bool withTransitions=true )
-  {
-    if( mSubStateName != subStateName )
-    {
-      // Get existing sub-state visuals, and unregister them
-      Dali::CustomActor handle( mControlImpl.GetOwner() );
-
-      Toolkit::StyleManager styleManager = Toolkit::StyleManager::Get();
-      if( styleManager )
-      {
-        const StylePtr stylePtr = GetImpl( styleManager ).GetRecordedStyle( Toolkit::Control( mControlImpl.GetOwner() ) );
-        if( stylePtr )
-        {
-          // Stringify state
-          std::string stateName = Scripting::GetEnumerationName< Toolkit::DevelControl::State >( mState, ControlStateTable, ControlStateTableCount );
-
-          const StylePtr* state = stylePtr->subStates.Find( stateName );
-          if( state )
-          {
-            StylePtr stateStyle(*state);
-
-            const StylePtr* newStateStyle = stateStyle->subStates.Find( subStateName );
-            const StylePtr* oldStateStyle = stateStyle->subStates.Find( mSubStateName );
-            if( oldStateStyle && newStateStyle )
-            {
-              std::string empty;
-              ReplaceStateVisualsAndProperties( *oldStateStyle, *newStateStyle, empty );
-            }
-          }
-        }
-      }
-
-      mSubStateName = subStateName;
-    }
-  }
-
-  // Data
-
-  Control& mControlImpl;
-  DevelControl::State mState;
-  std::string mSubStateName;
-
-  int mLeftFocusableActorId;       ///< Actor ID of Left focusable control.
-  int mRightFocusableActorId;      ///< Actor ID of Right focusable control.
-  int mUpFocusableActorId;         ///< Actor ID of Up focusable control.
-  int mDownFocusableActorId;       ///< Actor ID of Down focusable control.
-
-  RegisteredVisualContainer mVisuals; // Stores visuals needed by the control, non trivial type so std::vector used.
-  std::string mStyleName;
-  Vector4 mBackgroundColor;                       ///< The color of the background visual
-  Vector3* mStartingPinchScale;      ///< The scale when a pinch gesture starts, TODO: consider removing this
-  Toolkit::Control::KeyEventSignalType mKeyEventSignal;
-  Toolkit::Control::KeyInputFocusSignalType mKeyInputFocusGainedSignal;
-  Toolkit::Control::KeyInputFocusSignalType mKeyInputFocusLostSignal;
-
-  // Gesture Detection
-  PinchGestureDetector mPinchGestureDetector;
-  PanGestureDetector mPanGestureDetector;
-  TapGestureDetector mTapGestureDetector;
-  LongPressGestureDetector mLongPressGestureDetector;
-
-  // Tooltip
-  TooltipPtr mTooltip;
-
-  ControlBehaviour mFlags : CONTROL_BEHAVIOUR_FLAG_COUNT;    ///< Flags passed in from constructor.
-  bool mIsKeyboardNavigationSupported :1;  ///< Stores whether keyboard navigation is supported by the control.
-  bool mIsKeyboardFocusGroup :1;           ///< Stores whether the control is a focus group.
-
-  // Properties - these need to be members of Internal::Control::Impl as they access private methods/data of Internal::Control and Internal::Control::Impl.
-  static const PropertyRegistration PROPERTY_1;
-  static const PropertyRegistration PROPERTY_2;
-  static const PropertyRegistration PROPERTY_3;
-  static const PropertyRegistration PROPERTY_4;
-  static const PropertyRegistration PROPERTY_5;
-  static const PropertyRegistration PROPERTY_6;
-  static const PropertyRegistration PROPERTY_7;
-  static const PropertyRegistration PROPERTY_8;
-  static const PropertyRegistration PROPERTY_9;
-  static const PropertyRegistration PROPERTY_10;
-  static const PropertyRegistration PROPERTY_11;
-  static const PropertyRegistration PROPERTY_12;
-};
-
-// Properties registered without macro to use specific member variables.
-const PropertyRegistration Control::Impl::PROPERTY_1( typeRegistration, "styleName",              Toolkit::Control::Property::STYLE_NAME,                   Property::STRING,  &Control::Impl::SetProperty, &Control::Impl::GetProperty );
-const PropertyRegistration Control::Impl::PROPERTY_2( typeRegistration, "backgroundColor",        Toolkit::Control::Property::BACKGROUND_COLOR,             Property::VECTOR4, &Control::Impl::SetProperty, &Control::Impl::GetProperty );
-const PropertyRegistration Control::Impl::PROPERTY_3( typeRegistration, "backgroundImage",        Toolkit::Control::Property::BACKGROUND_IMAGE,             Property::MAP,     &Control::Impl::SetProperty, &Control::Impl::GetProperty );
-const PropertyRegistration Control::Impl::PROPERTY_4( typeRegistration, "keyInputFocus",          Toolkit::Control::Property::KEY_INPUT_FOCUS,              Property::BOOLEAN, &Control::Impl::SetProperty, &Control::Impl::GetProperty );
-const PropertyRegistration Control::Impl::PROPERTY_5( typeRegistration, "background",             Toolkit::Control::Property::BACKGROUND,                   Property::MAP,     &Control::Impl::SetProperty, &Control::Impl::GetProperty );
-const PropertyRegistration Control::Impl::PROPERTY_6( typeRegistration, "tooltip",                Toolkit::DevelControl::Property::TOOLTIP,                 Property::MAP,     &Control::Impl::SetProperty, &Control::Impl::GetProperty );
-const PropertyRegistration Control::Impl::PROPERTY_7( typeRegistration, "state",                  Toolkit::DevelControl::Property::STATE,                   Property::STRING,  &Control::Impl::SetProperty, &Control::Impl::GetProperty );
-const PropertyRegistration Control::Impl::PROPERTY_8( typeRegistration, "subState",               Toolkit::DevelControl::Property::SUB_STATE,               Property::STRING,  &Control::Impl::SetProperty, &Control::Impl::GetProperty );
-const PropertyRegistration Control::Impl::PROPERTY_9( typeRegistration, "leftFocusableActorId",   Toolkit::DevelControl::Property::LEFT_FOCUSABLE_ACTOR_ID, Property::INTEGER, &Control::Impl::SetProperty, &Control::Impl::GetProperty );
-const PropertyRegistration Control::Impl::PROPERTY_10( typeRegistration, "rightFocusableActorId", Toolkit::DevelControl::Property::RIGHT_FOCUSABLE_ACTOR_ID,Property::INTEGER, &Control::Impl::SetProperty, &Control::Impl::GetProperty );
-const PropertyRegistration Control::Impl::PROPERTY_11( typeRegistration, "upFocusableActorId",    Toolkit::DevelControl::Property::UP_FOCUSABLE_ACTOR_ID,   Property::INTEGER, &Control::Impl::SetProperty, &Control::Impl::GetProperty );
-const PropertyRegistration Control::Impl::PROPERTY_12( typeRegistration, "downFocusableActorId",  Toolkit::DevelControl::Property::DOWN_FOCUSABLE_ACTOR_ID, Property::INTEGER, &Control::Impl::SetProperty, &Control::Impl::GetProperty );
 
 Toolkit::Control Control::New()
 {
@@ -1204,6 +349,10 @@ void Control::RegisterVisual( Property::Index index, Toolkit::Visual::Base& visu
       {
         Toolkit::GetImplementation((*iter)->visual).SetOffStage( self );
       }
+
+      mImpl->StopObservingVisual( (*iter)->visual );
+      mImpl->StartObservingVisual( visual );
+
       (*iter)->visual = visual;
       visualReplaced = true;
     }
@@ -1233,6 +382,10 @@ void Control::RegisterVisual( Property::Index index, Toolkit::Visual::Base& visu
   if( !visualReplaced ) // New registration entry
   {
     mImpl->mVisuals.PushBack( new RegisteredVisual( index, visual, enabled ) );
+
+    // monitor when the visuals resources are ready
+    mImpl->StartObservingVisual( visual );
+
   }
 
   if( visual && self.OnStage() && enabled )
@@ -1248,6 +401,9 @@ void Control::UnregisterVisual( Property::Index index )
    RegisteredVisualContainer::Iterator iter;
    if ( FindVisual( index, mImpl->mVisuals, iter ) )
    {
+     // stop observing visual
+     mImpl->StopObservingVisual( (*iter)->visual );
+
      Actor self( Self() );
      Toolkit::GetImplementation((*iter)->visual).SetOffStage( self );
      (*iter)->visual.Reset();
index 45eff9f..7b81c67 100644 (file)
@@ -774,7 +774,10 @@ private:
   DALI_INTERNAL Control( const Control& );
   DALI_INTERNAL Control& operator=( const Control& );
 
-  class Impl;
+public:
+  class Impl; // Class declaration is public so we can internally add devel API's to the Controls Impl
+
+private:
   Impl* mImpl;
   /// @endcond
 
index 844b660..8faaf51 100644 (file)
@@ -31,7 +31,7 @@ namespace Toolkit
 
 const unsigned int TOOLKIT_MAJOR_VERSION = 1;
 const unsigned int TOOLKIT_MINOR_VERSION = 2;
-const unsigned int TOOLKIT_MICRO_VERSION = 35;
+const unsigned int TOOLKIT_MICRO_VERSION = 36;
 const char * const TOOLKIT_BUILD_DATE    = __DATE__ " " __TIME__;
 
 #ifdef DEBUG_ENABLED
index 79f0c80..ce84638 100644 (file)
@@ -1,6 +1,6 @@
 Name:       dali-toolkit
 Summary:    The OpenGLES Canvas Core Library Toolkit
-Version:    1.2.35
+Version:    1.2.36
 Release:    1
 Group:      System/Libraries
 License:    Apache-2.0 and BSD-2-Clause and MIT
diff --git a/plugins/dali-sharp/build/Makefile.am b/plugins/dali-sharp/build/Makefile.am
new file mode 100644 (file)
index 0000000..796c15c
--- /dev/null
@@ -0,0 +1,90 @@
+# 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.
+
+CLEANFILES = ./dali-bindings/*.o *.so *.dll \
+             ../examples/*.so ../examples/*.dll examples/*.exe
+
+BUILT_SOURCES = ../dali-bindings/dali_wrap.cpp ../dali-bindings/dali_wrap.h
+
+if HAVE_MCS
+if BUILD_MCS
+
+DALI_BINDINGS_DIR = ./dali-bindings
+
+all-local: libNDalic.so NDali.dll
+
+libNDalic.so: ./dali-bindings/dali_wrap.o ./dali-bindings/keyboard_focus_manager_wrap.o ./dali-bindings/view-wrapper-impl-wrap.o ./dali-bindings/event-thread-callback-wrap.o ./dali-bindings/devel-property-wrap.o
+       g++ -shared ./dali-bindings/dali_wrap.o ./dali-bindings/keyboard_focus_manager_wrap.o ./dali-bindings/view-wrapper-impl-wrap.o ./dali-bindings/event-thread-callback-wrap.o ./dali-bindings/devel-property-wrap.o -o libNDalic.so $(DALICORE_LIBS) $(DALIADAPTOR_LIBS) $(DALITOOLKIT_LIBS)
+
+$(DALI_BINDINGS_DIR):
+       mkdir -p $@
+
+./dali-bindings/dali_wrap.o: $(BUILT_SOURCES) $(DALI_BINDINGS_DIR)
+       g++ -c -fpic $(CXXFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) ../dali-bindings/dali_wrap.cpp -o ./dali-bindings/dali_wrap.o
+
+./dali-bindings/keyboard_focus_manager_wrap.o: $(BUILT_SOURCES) $(DALI_BINDINGS_DIR)
+       g++ -c -fpic $(CXXFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) ../dali-bindings/keyboard_focus_manager_wrap.cpp -o ./dali-bindings/keyboard_focus_manager_wrap.o
+
+./dali-bindings/view-wrapper-impl-wrap.o: $(BUILT_SOURCES) $(DALI_BINDINGS_DIR)
+       g++ -c -fpic $(CXXFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) ../dali-bindings/view-wrapper-impl-wrap.cpp -o ./dali-bindings/view-wrapper-impl-wrap.o
+
+./dali-bindings/event-thread-callback-wrap.o: $(BUILT_SOURCES) $(DALI_BINDINGS_DIR)
+       g++ -c -fpic $(CXXFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) ../dali-bindings/event-thread-callback-wrap.cpp -o ./dali-bindings/event-thread-callback-wrap.o
+
+./dali-bindings/devel-property-wrap.o: $(BUILT_SOURCES) $(DALI_BINDINGS_DIR)
+       g++ -c -fpic $(CXXFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) ../dali-bindings/devel-property-wrap.cpp -o ./dali-bindings/devel-property-wrap.o
+
+NDali.dll: $(BUILT_SOURCES)
+       $(MCS) -nologo -target:library -out:NDali.dll ../sharp/internal/*.cs ../sharp/public/*.cs
+
+check-local: examples/hello-world.exe \
+             examples/scroll-view.exe \
+             examples/control-dashboard.exe \
+             examples/user-alphafunction.exe \
+             examples/image-view.exe \
+             examples/visuals-example.exe \
+             examples/visuals-using-custom-view.exe \
+             examples/libNDalic.so examples/NDali.dll
+
+examples/hello-world.exe: ../examples/hello-world.cs
+       $(MCS) -nologo -target:exe -out:../$@ -reference:NDali.dll $<
+
+examples/scroll-view.exe: ../examples/scroll-view.cs
+       $(MCS) -nologo -target:exe -out:../$@ -reference:NDali.dll $<
+
+examples/control-dashboard.exe: ../examples/control-dashboard.cs
+       $(MCS) -nologo -target:exe -out:../$@ -reference:NDali.dll $<
+
+examples/user-alphafunction.exe: ../examples/user-alphafunction.cs
+       $(MCS) -nologo -target:exe -out:../$@ -reference:NDali.dll $<
+
+examples/image-view.exe: ../examples/image-view.cs
+       $(MCS) -nologo -target:exe -out:../$@ -reference:NDali.dll $<
+
+examples/visuals-example.exe: ../examples/visuals-example.cs
+       $(MCS) -nologo -target:exe -out:../$@ -reference:NDali.dll $<
+
+examples/visuals-using-custom-view.exe: ../examples/visuals-using-custom-view/*.cs
+       $(MCS) -nologo -target:exe -out:../$@ -reference:NDali.dll $^
+
+examples/libNDalic.so:
+       cd ../examples && ln -sf ../build/libNDalic.so
+
+examples/NDali.dll:
+       cd ../examples && ln -sf ../build/NDali.dll
+
+endif
+endif
+
+
diff --git a/plugins/dali-sharp/build/configure.ac b/plugins/dali-sharp/build/configure.ac
new file mode 100644 (file)
index 0000000..df6317d
--- /dev/null
@@ -0,0 +1,49 @@
+# 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.
+
+# Process this file with autoconf to produce a configure script.
+AC_INIT([Dali-SHARP], [0.1.1],
+        [Dali-SHARP])
+AC_PREREQ(2.50)
+AC_CONFIG_AUX_DIR([config])
+AM_INIT_AUTOMAKE([-Wall foreign])
+
+# check target
+AC_MSG_CHECKING([system])
+target=`uname`
+AC_MSG_RESULT([$target])
+
+# check compiler
+AC_LANG([C++])
+
+# check for Dali libraries
+PKG_CHECK_MODULES(DALICORE, dali-core)
+PKG_CHECK_MODULES(DALIADAPTOR, dali-adaptor)
+PKG_CHECK_MODULES(DALITOOLKIT, dali-toolkit)
+
+AC_PATH_PROGS([MCS], [gmcs mcs gmcs2])
+AM_CONDITIONAL(HAVE_MCS, test "x${MCS}" != "x")
+
+AC_ARG_ENABLE([csharp],
+              AC_HELP_STRING([--disable-csharp],
+                             [If disabled, the C# module
+                              will not be built]),
+              [build_mcs=$enableval],
+              [build_mcs=yes])
+AM_CONDITIONAL(BUILD_MCS, test "$build_mcs" != "no")
+
+# done, output the configured files
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+
diff --git a/plugins/dali-sharp/dali-bindings/common.h b/plugins/dali-sharp/dali-bindings/common.h
new file mode 100644 (file)
index 0000000..fa15972
--- /dev/null
@@ -0,0 +1,237 @@
+#ifndef CSHARP_COMMON_H
+#define CSHARP_COMMON_H
+
+/*
+ * 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.
+ *
+ */
+
+#define SWIG_DIRECTORS
+
+#ifdef __cplusplus
+/* SwigValueWrapper is described in swig.swg */
+template<typename T> class SwigValueWrapper
+{
+  struct SwigMovePointer
+  {
+    T *ptr;
+    SwigMovePointer(T *p) : ptr(p) { }
+    ~SwigMovePointer() { delete ptr; }
+    SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
+  } pointer;
+  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
+  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
+public:
+  SwigValueWrapper() : pointer(0) { }
+  SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
+  operator T&() const { return *pointer.ptr; }
+  T *operator&() { return pointer.ptr; }
+};
+
+template <typename T> T SwigValueInit()
+{
+  return T();
+}
+#endif
+
+#include <stdexcept>
+
+#define SWIGSTDCALL
+
+/* attribute recognised by some compilers to avoid 'unused' warnings */
+#ifndef SWIGUNUSED
+# if defined(__GNUC__)
+#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
+#     define SWIGUNUSED __attribute__ ((__unused__))
+#   else
+#     define SWIGUNUSED
+#   endif
+# elif defined(__ICC)
+#   define SWIGUNUSED __attribute__ ((__unused__))
+# else
+#   define SWIGUNUSED
+# endif
+#endif
+
+/* internal SWIG method */
+#ifndef SWIGINTERN
+# define SWIGINTERN static SWIGUNUSED
+#endif
+
+#ifndef SWIGEXPORT
+# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
+#   if defined(STATIC_LINKED)
+#     define SWIGEXPORT
+#   else
+#     define SWIGEXPORT __declspec(dllexport)
+#   endif
+# else
+#   if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
+#     define SWIGEXPORT __attribute__ ((visibility("default")))
+#   else
+#     define SWIGEXPORT
+#   endif
+# endif
+#endif
+
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+/*  Errors in SWIG */
+#define  SWIG_UnknownError         -1
+#define  SWIG_IOError            -2
+#define  SWIG_RuntimeError       -3
+#define  SWIG_IndexError         -4
+#define  SWIG_TypeError          -5
+#define  SWIG_DivisionByZero     -6
+#define  SWIG_OverflowError      -7
+#define  SWIG_SyntaxError        -8
+#define  SWIG_ValueError         -9
+#define  SWIG_SystemError        -10
+#define  SWIG_AttributeError     -11
+#define  SWIG_MemoryError        -12
+#define  SWIG_NullReferenceError   -13
+
+/* Support for throwing C# exceptions from C/C++. There are two types:
+ * Exceptions that take a message and ArgumentExceptions that take a message and a parameter name. */
+typedef enum
+{
+  SWIG_CSharpApplicationException,
+  SWIG_CSharpArithmeticException,
+  SWIG_CSharpDivideByZeroException,
+  SWIG_CSharpIndexOutOfRangeException,
+  SWIG_CSharpInvalidCastException,
+  SWIG_CSharpInvalidOperationException,
+  SWIG_CSharpIOException,
+  SWIG_CSharpNullReferenceException,
+  SWIG_CSharpOutOfMemoryException,
+  SWIG_CSharpOverflowException,
+  SWIG_CSharpSystemException
+} SWIG_CSharpExceptionCodes;
+
+typedef enum
+{
+  SWIG_CSharpArgumentException,
+  SWIG_CSharpArgumentNullException,
+  SWIG_CSharpArgumentOutOfRangeException
+} SWIG_CSharpExceptionArgumentCodes;
+
+typedef void (SWIGSTDCALL* SWIG_CSharpExceptionCallback_t)(const char *);
+typedef void (SWIGSTDCALL* SWIG_CSharpExceptionArgumentCallback_t)(const char *, const char *);
+
+typedef struct
+{
+  SWIG_CSharpExceptionCodes code;
+  SWIG_CSharpExceptionCallback_t callback;
+} SWIG_CSharpException_t;
+
+typedef struct
+{
+  SWIG_CSharpExceptionArgumentCodes code;
+  SWIG_CSharpExceptionArgumentCallback_t callback;
+} SWIG_CSharpExceptionArgument_t;
+
+static SWIG_CSharpException_t SWIG_csharp_exceptions[] =
+{
+  { SWIG_CSharpApplicationException, NULL },
+  { SWIG_CSharpArithmeticException, NULL },
+  { SWIG_CSharpDivideByZeroException, NULL },
+  { SWIG_CSharpIndexOutOfRangeException, NULL },
+  { SWIG_CSharpInvalidCastException, NULL },
+  { SWIG_CSharpInvalidOperationException, NULL },
+  { SWIG_CSharpIOException, NULL },
+  { SWIG_CSharpNullReferenceException, NULL },
+  { SWIG_CSharpOutOfMemoryException, NULL },
+  { SWIG_CSharpOverflowException, NULL },
+  { SWIG_CSharpSystemException, NULL }
+};
+
+static SWIG_CSharpExceptionArgument_t SWIG_csharp_exceptions_argument[] =
+{
+  { SWIG_CSharpArgumentException, NULL },
+  { SWIG_CSharpArgumentNullException, NULL },
+  { SWIG_CSharpArgumentOutOfRangeException, NULL }
+};
+
+static void SWIGUNUSED SWIG_CSharpSetPendingException(SWIG_CSharpExceptionCodes code, const char *msg)
+{
+  SWIG_CSharpExceptionCallback_t callback = SWIG_csharp_exceptions[SWIG_CSharpApplicationException].callback;
+  if ((size_t)code < sizeof(SWIG_csharp_exceptions)/sizeof(SWIG_CSharpException_t))
+  {
+    callback = SWIG_csharp_exceptions[code].callback;
+  }
+  callback(msg);
+}
+
+static void SWIGUNUSED SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpExceptionArgumentCodes code, const char *msg, const char *param_name) {
+  SWIG_CSharpExceptionArgumentCallback_t callback = SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentException].callback;
+  if ((size_t)code < sizeof(SWIG_csharp_exceptions_argument)/sizeof(SWIG_CSharpExceptionArgument_t)) {
+    callback = SWIG_csharp_exceptions_argument[code].callback;
+  }
+  callback(msg, param_name);
+}
+
+SWIGINTERN void SWIG_CSharpException(int code, const char *msg)
+{
+  if (code == SWIG_ValueError)
+  {
+    SWIG_CSharpExceptionArgumentCodes exception_code = SWIG_CSharpArgumentOutOfRangeException;
+    SWIG_CSharpSetPendingExceptionArgument(exception_code, msg, 0);
+  }
+  else
+  {
+    SWIG_CSharpExceptionCodes exception_code = SWIG_CSharpApplicationException;
+    switch(code)
+    {
+      case SWIG_MemoryError:
+        exception_code = SWIG_CSharpOutOfMemoryException;
+        break;
+      case SWIG_IndexError:
+        exception_code = SWIG_CSharpIndexOutOfRangeException;
+        break;
+      case SWIG_DivisionByZero:
+        exception_code = SWIG_CSharpDivideByZeroException;
+        break;
+      case SWIG_IOError:
+        exception_code = SWIG_CSharpIOException;
+        break;
+      case SWIG_OverflowError:
+        exception_code = SWIG_CSharpOverflowException;
+        break;
+      case SWIG_RuntimeError:
+      case SWIG_TypeError:
+      case SWIG_SyntaxError:
+      case SWIG_SystemError:
+      case SWIG_UnknownError:
+      default:
+        exception_code = SWIG_CSharpApplicationException;
+        break;
+    }
+    SWIG_CSharpSetPendingException(exception_code, msg);
+  }
+}
+
+#include <stdexcept>
+
+#define SWIGSTDCALL
+
+#include <dali/dali.h>
+#include <dali-toolkit/dali-toolkit.h>
+
+#include <dali-toolkit/devel-api/controls/control-wrapper.h>
+#include <dali-toolkit/devel-api/controls/control-wrapper-impl.h>
+
+#endif // CSHARP_COMMON_H
diff --git a/plugins/dali-sharp/dali-bindings/dali_wrap.cpp b/plugins/dali-sharp/dali-bindings/dali_wrap.cpp
new file mode 100644 (file)
index 0000000..5ec44c6
--- /dev/null
@@ -0,0 +1,93182 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 3.0.10
+ *
+ * This file is not intended to be easily readable and contains a number of
+ * coding conventions designed to improve portability and efficiency. Do not make
+ * changes to this file unless you know what you are doing--modify the SWIG
+ * interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+
+#ifndef SWIGCSHARP
+#define SWIGCSHARP
+#endif
+
+#define SWIG_DIRECTORS
+
+
+#ifdef __cplusplus
+/* SwigValueWrapper is described in swig.swg */
+template<typename T> class SwigValueWrapper {
+  struct SwigMovePointer {
+    T *ptr;
+    SwigMovePointer(T *p) : ptr(p) { }
+    ~SwigMovePointer() { delete ptr; }
+    SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
+  } pointer;
+  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
+  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
+public:
+  SwigValueWrapper() : pointer(0) { }
+  SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
+  operator T&() const { return *pointer.ptr; }
+  T *operator&() { return pointer.ptr; }
+};
+
+template <typename T> T SwigValueInit() {
+  return T();
+}
+#endif
+
+/* -----------------------------------------------------------------------------
+ *  This section contains generic SWIG labels for method/variable
+ *  declarations/attributes, and other compiler dependent labels.
+ * ----------------------------------------------------------------------------- */
+
+/* template workaround for compilers that cannot correctly implement the C++ standard */
+#ifndef SWIGTEMPLATEDISAMBIGUATOR
+# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
+#  define SWIGTEMPLATEDISAMBIGUATOR template
+# elif defined(__HP_aCC)
+/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
+/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
+#  define SWIGTEMPLATEDISAMBIGUATOR template
+# else
+#  define SWIGTEMPLATEDISAMBIGUATOR
+# endif
+#endif
+
+/* inline attribute */
+#ifndef SWIGINLINE
+# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
+#   define SWIGINLINE inline
+# else
+#   define SWIGINLINE
+# endif
+#endif
+
+/* attribute recognised by some compilers to avoid 'unused' warnings */
+#ifndef SWIGUNUSED
+# if defined(__GNUC__)
+#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
+#     define SWIGUNUSED __attribute__ ((__unused__))
+#   else
+#     define SWIGUNUSED
+#   endif
+# elif defined(__ICC)
+#   define SWIGUNUSED __attribute__ ((__unused__))
+# else
+#   define SWIGUNUSED
+# endif
+#endif
+
+#ifndef SWIG_MSC_UNSUPPRESS_4505
+# if defined(_MSC_VER)
+#   pragma warning(disable : 4505) /* unreferenced local function has been removed */
+# endif
+#endif
+
+#ifndef SWIGUNUSEDPARM
+# ifdef __cplusplus
+#   define SWIGUNUSEDPARM(p)
+# else
+#   define SWIGUNUSEDPARM(p) p SWIGUNUSED
+# endif
+#endif
+
+/* internal SWIG method */
+#ifndef SWIGINTERN
+# define SWIGINTERN static SWIGUNUSED
+#endif
+
+/* internal inline SWIG method */
+#ifndef SWIGINTERNINLINE
+# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
+#endif
+
+/* exporting methods */
+#if defined(__GNUC__)
+#  if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+#    ifndef GCC_HASCLASSVISIBILITY
+#      define GCC_HASCLASSVISIBILITY
+#    endif
+#  endif
+#endif
+
+#ifndef SWIGEXPORT
+# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
+#   if defined(STATIC_LINKED)
+#     define SWIGEXPORT
+#   else
+#     define SWIGEXPORT __declspec(dllexport)
+#   endif
+# else
+#   if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
+#     define SWIGEXPORT __attribute__ ((visibility("default")))
+#   else
+#     define SWIGEXPORT
+#   endif
+# endif
+#endif
+
+/* calling conventions for Windows */
+#ifndef SWIGSTDCALL
+# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
+#   define SWIGSTDCALL __stdcall
+# else
+#   define SWIGSTDCALL
+# endif
+#endif
+
+/* Deal with Microsoft's attempt at deprecating C standard runtime functions */
+#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
+# define _CRT_SECURE_NO_DEPRECATE
+#endif
+
+/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
+#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
+# define _SCL_SECURE_NO_DEPRECATE
+#endif
+
+/* Deal with Apple's deprecated 'AssertMacros.h' from Carbon-framework */
+#if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES)
+# define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
+#endif
+
+/* Intel's compiler complains if a variable which was never initialised is
+ * cast to void, which is a common idiom which we use to indicate that we
+ * are aware a variable isn't used.  So we just silence that warning.
+ * See: https://github.com/swig/swig/issues/192 for more discussion.
+ */
+#ifdef __INTEL_COMPILER
+# pragma warning disable 592
+#endif
+
+
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+
+/* Support for throwing C# exceptions from C/C++. There are two types: 
+ * Exceptions that take a message and ArgumentExceptions that take a message and a parameter name. */
+typedef enum {
+  SWIG_CSharpApplicationException,
+  SWIG_CSharpArithmeticException,
+  SWIG_CSharpDivideByZeroException,
+  SWIG_CSharpIndexOutOfRangeException,
+  SWIG_CSharpInvalidCastException,
+  SWIG_CSharpInvalidOperationException,
+  SWIG_CSharpIOException,
+  SWIG_CSharpNullReferenceException,
+  SWIG_CSharpOutOfMemoryException,
+  SWIG_CSharpOverflowException,
+  SWIG_CSharpSystemException
+} SWIG_CSharpExceptionCodes;
+
+typedef enum {
+  SWIG_CSharpArgumentException,
+  SWIG_CSharpArgumentNullException,
+  SWIG_CSharpArgumentOutOfRangeException
+} SWIG_CSharpExceptionArgumentCodes;
+
+typedef void (SWIGSTDCALL* SWIG_CSharpExceptionCallback_t)(const char *);
+typedef void (SWIGSTDCALL* SWIG_CSharpExceptionArgumentCallback_t)(const char *, const char *);
+
+typedef struct {
+  SWIG_CSharpExceptionCodes code;
+  SWIG_CSharpExceptionCallback_t callback;
+} SWIG_CSharpException_t;
+
+typedef struct {
+  SWIG_CSharpExceptionArgumentCodes code;
+  SWIG_CSharpExceptionArgumentCallback_t callback;
+} SWIG_CSharpExceptionArgument_t;
+
+static SWIG_CSharpException_t SWIG_csharp_exceptions[] = {
+  { SWIG_CSharpApplicationException, NULL },
+  { SWIG_CSharpArithmeticException, NULL },
+  { SWIG_CSharpDivideByZeroException, NULL },
+  { SWIG_CSharpIndexOutOfRangeException, NULL },
+  { SWIG_CSharpInvalidCastException, NULL },
+  { SWIG_CSharpInvalidOperationException, NULL },
+  { SWIG_CSharpIOException, NULL },
+  { SWIG_CSharpNullReferenceException, NULL },
+  { SWIG_CSharpOutOfMemoryException, NULL },
+  { SWIG_CSharpOverflowException, NULL },
+  { SWIG_CSharpSystemException, NULL }
+};
+
+static SWIG_CSharpExceptionArgument_t SWIG_csharp_exceptions_argument[] = {
+  { SWIG_CSharpArgumentException, NULL },
+  { SWIG_CSharpArgumentNullException, NULL },
+  { SWIG_CSharpArgumentOutOfRangeException, NULL }
+};
+
+static void SWIGUNUSED SWIG_CSharpSetPendingException(SWIG_CSharpExceptionCodes code, const char *msg) {
+  SWIG_CSharpExceptionCallback_t callback = SWIG_csharp_exceptions[SWIG_CSharpApplicationException].callback;
+  if ((size_t)code < sizeof(SWIG_csharp_exceptions)/sizeof(SWIG_CSharpException_t)) {
+    callback = SWIG_csharp_exceptions[code].callback;
+  }
+  callback(msg);
+}
+
+static void SWIGUNUSED SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpExceptionArgumentCodes code, const char *msg, const char *param_name) {
+  SWIG_CSharpExceptionArgumentCallback_t callback = SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentException].callback;
+  if ((size_t)code < sizeof(SWIG_csharp_exceptions_argument)/sizeof(SWIG_CSharpExceptionArgument_t)) {
+    callback = SWIG_csharp_exceptions_argument[code].callback;
+  }
+  callback(msg, param_name);
+}
+
+
+#ifdef __cplusplus
+extern "C" 
+#endif
+SWIGEXPORT void SWIGSTDCALL SWIGRegisterExceptionCallbacks_NDalic(
+                                                SWIG_CSharpExceptionCallback_t applicationCallback,
+                                                SWIG_CSharpExceptionCallback_t arithmeticCallback,
+                                                SWIG_CSharpExceptionCallback_t divideByZeroCallback, 
+                                                SWIG_CSharpExceptionCallback_t indexOutOfRangeCallback, 
+                                                SWIG_CSharpExceptionCallback_t invalidCastCallback,
+                                                SWIG_CSharpExceptionCallback_t invalidOperationCallback,
+                                                SWIG_CSharpExceptionCallback_t ioCallback,
+                                                SWIG_CSharpExceptionCallback_t nullReferenceCallback,
+                                                SWIG_CSharpExceptionCallback_t outOfMemoryCallback, 
+                                                SWIG_CSharpExceptionCallback_t overflowCallback, 
+                                                SWIG_CSharpExceptionCallback_t systemCallback) {
+  SWIG_csharp_exceptions[SWIG_CSharpApplicationException].callback = applicationCallback;
+  SWIG_csharp_exceptions[SWIG_CSharpArithmeticException].callback = arithmeticCallback;
+  SWIG_csharp_exceptions[SWIG_CSharpDivideByZeroException].callback = divideByZeroCallback;
+  SWIG_csharp_exceptions[SWIG_CSharpIndexOutOfRangeException].callback = indexOutOfRangeCallback;
+  SWIG_csharp_exceptions[SWIG_CSharpInvalidCastException].callback = invalidCastCallback;
+  SWIG_csharp_exceptions[SWIG_CSharpInvalidOperationException].callback = invalidOperationCallback;
+  SWIG_csharp_exceptions[SWIG_CSharpIOException].callback = ioCallback;
+  SWIG_csharp_exceptions[SWIG_CSharpNullReferenceException].callback = nullReferenceCallback;
+  SWIG_csharp_exceptions[SWIG_CSharpOutOfMemoryException].callback = outOfMemoryCallback;
+  SWIG_csharp_exceptions[SWIG_CSharpOverflowException].callback = overflowCallback;
+  SWIG_csharp_exceptions[SWIG_CSharpSystemException].callback = systemCallback;
+}
+
+#ifdef __cplusplus
+extern "C" 
+#endif
+SWIGEXPORT void SWIGSTDCALL SWIGRegisterExceptionArgumentCallbacks_NDalic(
+                                                SWIG_CSharpExceptionArgumentCallback_t argumentCallback,
+                                                SWIG_CSharpExceptionArgumentCallback_t argumentNullCallback,
+                                                SWIG_CSharpExceptionArgumentCallback_t argumentOutOfRangeCallback) {
+  SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentException].callback = argumentCallback;
+  SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentNullException].callback = argumentNullCallback;
+  SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentOutOfRangeException].callback = argumentOutOfRangeCallback;
+}
+
+
+/* Callback for returning strings to C# without leaking memory */
+typedef char * (SWIGSTDCALL* SWIG_CSharpStringHelperCallback)(const char *);
+static SWIG_CSharpStringHelperCallback SWIG_csharp_string_callback = NULL;
+
+
+#ifdef __cplusplus
+extern "C" 
+#endif
+SWIGEXPORT void SWIGSTDCALL SWIGRegisterStringCallback_NDalic(SWIG_CSharpStringHelperCallback callback) {
+  SWIG_csharp_string_callback = callback;
+}
+
+
+/* Contract support */
+
+#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, msg, ""); return nullreturn; } else
+
+/*  Errors in SWIG */
+#define  SWIG_UnknownError        -1
+#define  SWIG_IOError             -2
+#define  SWIG_RuntimeError        -3
+#define  SWIG_IndexError          -4
+#define  SWIG_TypeError           -5
+#define  SWIG_DivisionByZero      -6
+#define  SWIG_OverflowError       -7
+#define  SWIG_SyntaxError         -8
+#define  SWIG_ValueError          -9
+#define  SWIG_SystemError         -10
+#define  SWIG_AttributeError      -11
+#define  SWIG_MemoryError         -12
+#define  SWIG_NullReferenceError   -13
+
+
+
+/* -----------------------------------------------------------------------------
+ * director_common.swg
+ *
+ * This file contains support for director classes which is common between
+ * languages.
+ * ----------------------------------------------------------------------------- */
+
+/*
+  Use -DSWIG_DIRECTOR_STATIC if you prefer to avoid the use of the
+  'Swig' namespace. This could be useful for multi-modules projects.
+*/
+#ifdef SWIG_DIRECTOR_STATIC
+/* Force anonymous (static) namespace */
+#define Swig
+#endif
+/* -----------------------------------------------------------------------------
+ * director.swg
+ *
+ * This file contains support for director classes so that C# proxy
+ * methods can be called from C++.
+ * ----------------------------------------------------------------------------- */
+
+#if defined(DEBUG_DIRECTOR_OWNED)
+#include <iostream>
+#endif
+#include <string>
+#include <exception>
+
+namespace Swig {
+  /* Director base class - not currently used in C# directors */
+  class Director {
+  };
+
+  /* Base class for director exceptions */
+  class DirectorException : public std::exception {
+  protected:
+    std::string swig_msg;
+
+  public:
+    DirectorException(const char *msg) : swig_msg(msg) {
+    }
+
+    DirectorException(const std::string &msg) : swig_msg(msg) {
+    }
+
+    virtual ~DirectorException() throw() {
+    }
+
+    const char *what() const throw() {
+      return swig_msg.c_str();
+    }
+  };
+
+  /* Pure virtual method exception */
+  class DirectorPureVirtualException : public DirectorException {
+  public:
+    DirectorPureVirtualException(const char *msg) : DirectorException(std::string("Attempt to invoke pure virtual method ") + msg) {
+    }
+  };
+}
+
+
+SWIGINTERN void SWIG_CSharpException(int code, const char *msg) {
+  if (code == SWIG_ValueError) {
+    SWIG_CSharpExceptionArgumentCodes exception_code = SWIG_CSharpArgumentOutOfRangeException;
+    SWIG_CSharpSetPendingExceptionArgument(exception_code, msg, 0);
+  } else {
+    SWIG_CSharpExceptionCodes exception_code = SWIG_CSharpApplicationException;
+    switch(code) {
+    case SWIG_MemoryError:
+      exception_code = SWIG_CSharpOutOfMemoryException;
+      break;
+    case SWIG_IndexError:
+      exception_code = SWIG_CSharpIndexOutOfRangeException;
+      break;
+    case SWIG_DivisionByZero:
+      exception_code = SWIG_CSharpDivideByZeroException;
+      break;
+    case SWIG_IOError:
+      exception_code = SWIG_CSharpIOException;
+      break;
+    case SWIG_OverflowError:
+      exception_code = SWIG_CSharpOverflowException;
+      break;
+    case SWIG_RuntimeError:
+    case SWIG_TypeError:
+    case SWIG_SyntaxError:
+    case SWIG_SystemError:
+    case SWIG_UnknownError:
+    default:
+      exception_code = SWIG_CSharpApplicationException;
+      break;
+    }
+    SWIG_CSharpSetPendingException(exception_code, msg);
+  }
+}
+
+
+#include <stdexcept>
+
+
+#define SWIGSTDCALL
+
+
+#include <dali/dali.h>
+#include <dali-toolkit/dali-toolkit.h>
+
+#include <dali/devel-api/actors/actor-devel.h>
+
+#include <dali/public-api/math/matrix.h>
+#include <dali/public-api/math/matrix3.h>
+#include <dali/public-api/math/viewport.h>
+#include <dali/public-api/object/property-key.h>
+#include <dali/devel-api/object/csharp-type-info.h>
+#include <dali/devel-api/object/csharp-type-registry.h>
+
+#include <dali/public-api/adaptor-framework/timer.h>
+#include <dali/public-api/adaptor-framework/window.h>
+#include <dali/public-api/adaptor-framework/style-change.h>
+#include <dali/devel-api/adaptor-framework/drag-and-drop-detector.h>
+#include <dali/devel-api/adaptor-framework/application-extensions.h>
+#include <dali/devel-api/adaptor-framework/window-devel.h>
+
+#include <dali/devel-api/images/nine-patch-image.h>
+
+#include <dali-toolkit/devel-api/builder/builder.h>
+
+#include <dali-toolkit/devel-api/focus-manager/keyinput-focus-manager.h>
+#include <dali-toolkit/devel-api/focus-manager/keyboard-focus-manager-devel.h>
+
+#include <dali-toolkit/devel-api/controls/popup/popup.h>
+#include <dali-toolkit/devel-api/controls/progress-bar/progress-bar.h>
+#include <dali-toolkit/devel-api/controls/gaussian-blur-view/gaussian-blur-view.h>
+#include <dali-toolkit/devel-api/controls/page-turn-view/page-factory.h>
+#include <dali-toolkit/devel-api/controls/page-turn-view/page-turn-view.h>
+#include <dali-toolkit/devel-api/controls/page-turn-view/page-turn-landscape-view.h>
+#include <dali-toolkit/devel-api/controls/page-turn-view/page-turn-portrait-view.h>
+#include <dali-toolkit/devel-api/controls/buttons/toggle-button.h>
+
+#include <dali-toolkit/devel-api/visual-factory/visual-base.h>
+#include <dali-toolkit/devel-api/visual-factory/visual-factory.h>
+#include <dali-toolkit/devel-api/visual-factory/transition-data.h>
+
+#include <dali-toolkit/devel-api/visuals/text-visual-properties.h>
+
+#include <dali-toolkit/devel-api/controls/tooltip/tooltip-properties.h>
+
+#include <dali-toolkit/public-api/controls/scrollable/item-view/item-view-declarations.h>
+
+// add here SWIG version check
+
+#if defined(_MSC_VER)         // Microsoft Visual C++ 6.0
+// disable Swig-dependent warnings
+
+// 'identifier1' has C-linkage specified,
+// but returns UDT 'identifier2' which is incompatible with C
+#pragma warning(disable: 4190)
+
+// 'int' : forcing value to bool 'true' or 'false' (performance warning)
+#pragma warning(disable: 4800)
+
+// debug info too long etc etc
+#pragma warning(disable: 4786)
+#endif
+
+
+#include <stdexcept>
+
+
+#include <string>
+
+
+#include <vector>
+#include <algorithm>
+#include <stdexcept>
+
+
+#include <map>
+#include <algorithm>
+#include <stdexcept>
+
+
+#include <utility>
+
+
+typedef float floatp;
+
+SWIGINTERN floatp *new_floatp(){
+  return new float();
+}
+SWIGINTERN void delete_floatp(floatp *self){
+  if (self) delete self;
+}
+SWIGINTERN void floatp_assign(floatp *self,float value){
+  *self = value;
+}
+SWIGINTERN float floatp_value(floatp *self){
+  return *self;
+}
+SWIGINTERN float *floatp_cast(floatp *self){
+  return self;
+}
+SWIGINTERN floatp *floatp_frompointer(float *t){
+  return (floatp *) t;
+}
+
+typedef int intp;
+
+SWIGINTERN intp *new_intp(){
+  return new int();
+}
+SWIGINTERN void delete_intp(intp *self){
+  if (self) delete self;
+}
+SWIGINTERN void intp_assign(intp *self,int value){
+  *self = value;
+}
+SWIGINTERN int intp_value(intp *self){
+  return *self;
+}
+SWIGINTERN int *intp_cast(intp *self){
+  return self;
+}
+SWIGINTERN intp *intp_frompointer(int *t){
+  return (intp *) t;
+}
+
+typedef double doublep;
+
+SWIGINTERN doublep *new_doublep(){
+  return new double();
+}
+SWIGINTERN void delete_doublep(doublep *self){
+  if (self) delete self;
+}
+SWIGINTERN void doublep_assign(doublep *self,double value){
+  *self = value;
+}
+SWIGINTERN double doublep_value(doublep *self){
+  return *self;
+}
+SWIGINTERN double *doublep_cast(doublep *self){
+  return self;
+}
+SWIGINTERN doublep *doublep_frompointer(double *t){
+  return (doublep *) t;
+}
+
+typedef unsigned int uintp;
+
+SWIGINTERN uintp *new_uintp(){
+  return new unsigned int();
+}
+SWIGINTERN void delete_uintp(uintp *self){
+  if (self) delete self;
+}
+SWIGINTERN void uintp_assign(uintp *self,unsigned int value){
+  *self = value;
+}
+SWIGINTERN unsigned int uintp_value(uintp *self){
+  return *self;
+}
+SWIGINTERN unsigned int *uintp_cast(uintp *self){
+  return self;
+}
+SWIGINTERN uintp *uintp_frompointer(unsigned int *t){
+  return (uintp *) t;
+}
+
+typedef unsigned short ushortp;
+
+SWIGINTERN ushortp *new_ushortp(){
+  return new unsigned short();
+}
+SWIGINTERN void delete_ushortp(ushortp *self){
+  if (self) delete self;
+}
+SWIGINTERN void ushortp_assign(ushortp *self,unsigned short value){
+  *self = value;
+}
+SWIGINTERN unsigned short ushortp_value(ushortp *self){
+  return *self;
+}
+SWIGINTERN unsigned short *ushortp_cast(ushortp *self){
+  return self;
+}
+SWIGINTERN ushortp *ushortp_frompointer(unsigned short *t){
+  return (ushortp *) t;
+}
+
+unsigned int int_to_uint(int x) {
+   return (unsigned int) x;
+}
+
+
+using namespace Dali;
+using namespace Dali::Toolkit;
+
+SWIGINTERN bool Dali_BaseHandle_HasBody(Dali::BaseHandle const *self){
+
+     // C++ code. DALi uses Handle <-> Body design pattern.
+     // This function checks the Handle to see if it has a body attached ( possible to have empty handles).
+     // Handles in DALi can be converted into a boolean type
+     // to check if the handle has a valid body attached to it.
+     // Internally checking *self will  checks IntrusivePtr<Dali::RefObject> mObjectHandle in BaseHandle;
+     if( *self )
+     {
+       return true;
+     }
+     else
+     {
+       return false;
+     }
+    }
+SWIGINTERN bool Dali_BaseHandle_IsEqual(Dali::BaseHandle const *self,Dali::BaseHandle const &rhs){
+
+     // C++ code. Check if two handles reference the same implemtion
+     if( *self == rhs)
+     {
+       return true;
+     }
+     else
+     {
+       return false;
+     }
+    }
+SWIGINTERN void Dali_TypeRegistration_RegisterControl(std::string const &controlName,Dali::CSharpTypeInfo::CreateFunction createFunc){
+     Dali::CSharpTypeRegistry::RegisterType( controlName, typeid( Dali::Toolkit::Control), createFunc );
+   }
+SWIGINTERN void Dali_TypeRegistration_RegisterProperty(std::string const &controlName,std::string const &propertyName,int index,Dali::Property::Type type,Dali::CSharpTypeInfo::SetPropertyFunction setFunc,Dali::CSharpTypeInfo::GetPropertyFunction getFunc){
+     Dali::CSharpTypeRegistry::RegisterProperty( controlName, propertyName, index, type, setFunc, getFunc );
+   }
+SWIGINTERN std::vector< Dali::TouchPoint > *new_std_vector_Sl_Dali_TouchPoint_Sg___SWIG_2(int capacity){
+        std::vector< Dali::TouchPoint >* pv = 0;
+        if (capacity >= 0) {
+          pv = new std::vector< Dali::TouchPoint >();
+          pv->reserve(capacity);
+       } else {
+          throw std::out_of_range("capacity");
+       }
+       return pv;
+      }
+SWIGINTERN Dali::TouchPoint std_vector_Sl_Dali_TouchPoint_Sg__getitemcopy(std::vector< Dali::TouchPoint > *self,int index){
+        if (index>=0 && index<(int)self->size())
+          return (*self)[index];
+        else
+          throw std::out_of_range("index");
+      }
+SWIGINTERN Dali::TouchPoint const &std_vector_Sl_Dali_TouchPoint_Sg__getitem(std::vector< Dali::TouchPoint > *self,int index){
+        if (index>=0 && index<(int)self->size())
+          return (*self)[index];
+        else
+          throw std::out_of_range("index");
+      }
+SWIGINTERN void std_vector_Sl_Dali_TouchPoint_Sg__setitem(std::vector< Dali::TouchPoint > *self,int index,Dali::TouchPoint const &val){
+        if (index>=0 && index<(int)self->size())
+          (*self)[index] = val;
+        else
+          throw std::out_of_range("index");
+      }
+SWIGINTERN void std_vector_Sl_Dali_TouchPoint_Sg__AddRange(std::vector< Dali::TouchPoint > *self,std::vector< Dali::TouchPoint > const &values){
+        self->insert(self->end(), values.begin(), values.end());
+      }
+SWIGINTERN std::vector< Dali::TouchPoint > *std_vector_Sl_Dali_TouchPoint_Sg__GetRange(std::vector< Dali::TouchPoint > *self,int index,int count){
+        if (index < 0)
+          throw std::out_of_range("index");
+        if (count < 0)
+          throw std::out_of_range("count");
+        if (index >= (int)self->size()+1 || index+count > (int)self->size())
+          throw std::invalid_argument("invalid range");
+        return new std::vector< Dali::TouchPoint >(self->begin()+index, self->begin()+index+count);
+      }
+SWIGINTERN void std_vector_Sl_Dali_TouchPoint_Sg__Insert(std::vector< Dali::TouchPoint > *self,int index,Dali::TouchPoint const &x){
+        if (index>=0 && index<(int)self->size()+1)
+          self->insert(self->begin()+index, x);
+        else
+          throw std::out_of_range("index");
+      }
+SWIGINTERN void std_vector_Sl_Dali_TouchPoint_Sg__InsertRange(std::vector< Dali::TouchPoint > *self,int index,std::vector< Dali::TouchPoint > const &values){
+        if (index>=0 && index<(int)self->size()+1)
+          self->insert(self->begin()+index, values.begin(), values.end());
+        else
+          throw std::out_of_range("index");
+      }
+SWIGINTERN void std_vector_Sl_Dali_TouchPoint_Sg__RemoveAt(std::vector< Dali::TouchPoint > *self,int index){
+        if (index>=0 && index<(int)self->size())
+          self->erase(self->begin() + index);
+        else
+          throw std::out_of_range("index");
+      }
+SWIGINTERN void std_vector_Sl_Dali_TouchPoint_Sg__RemoveRange(std::vector< Dali::TouchPoint > *self,int index,int count){
+        if (index < 0)
+          throw std::out_of_range("index");
+        if (count < 0)
+          throw std::out_of_range("count");
+        if (index >= (int)self->size()+1 || index+count > (int)self->size())
+          throw std::invalid_argument("invalid range");
+        self->erase(self->begin()+index, self->begin()+index+count);
+      }
+SWIGINTERN std::vector< Dali::TouchPoint > *std_vector_Sl_Dali_TouchPoint_Sg__Repeat(Dali::TouchPoint const &value,int count){
+        if (count < 0)
+          throw std::out_of_range("count");
+        return new std::vector< Dali::TouchPoint >(count, value);
+      }
+SWIGINTERN void std_vector_Sl_Dali_TouchPoint_Sg__Reverse__SWIG_0(std::vector< Dali::TouchPoint > *self){
+        std::reverse(self->begin(), self->end());
+      }
+SWIGINTERN void std_vector_Sl_Dali_TouchPoint_Sg__Reverse__SWIG_1(std::vector< Dali::TouchPoint > *self,int index,int count){
+        if (index < 0)
+          throw std::out_of_range("index");
+        if (count < 0)
+          throw std::out_of_range("count");
+        if (index >= (int)self->size()+1 || index+count > (int)self->size())
+          throw std::invalid_argument("invalid range");
+        std::reverse(self->begin()+index, self->begin()+index+count);
+      }
+SWIGINTERN void std_vector_Sl_Dali_TouchPoint_Sg__SetRange(std::vector< Dali::TouchPoint > *self,int index,std::vector< Dali::TouchPoint > const &values){
+        if (index < 0)
+          throw std::out_of_range("index");
+        if (index+values.size() > self->size())
+          throw std::out_of_range("index");
+        std::copy(values.begin(), values.end(), self->begin()+index);
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_float_SP__Sg__Empty(Dali::Signal< void (float) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_float_SP__Sg__GetConnectionCount(Dali::Signal< void (float) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_float_SP__Sg__Connect(Dali::Signal< void (float) > *self,void (*func)(float)){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_float_SP__Sg__Disconnect(Dali::Signal< void (float) > *self,void (*func)(float)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_float_SP__Sg__Emit(Dali::Signal< void (float) > *self,float arg){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_BaseHandle_SP__Sg__Empty(Dali::Signal< void (Dali::BaseHandle) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_BaseHandle_SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::BaseHandle) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_BaseHandle_SP__Sg__Connect(Dali::Signal< void (Dali::BaseHandle) > *self,void (*func)(Dali::BaseHandle)){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_BaseHandle_SP__Sg__Disconnect(Dali::Signal< void (Dali::BaseHandle) > *self,void (*func)(Dali::BaseHandle)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_BaseHandle_SP__Sg__Emit(Dali::Signal< void (Dali::BaseHandle) > *self,Dali::BaseHandle arg){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_RefObject_SS_const_Sm__SP__Sg__Empty(Dali::Signal< void (Dali::RefObject const *) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_RefObject_SS_const_Sm__SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::RefObject const *) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_RefObject_SS_const_Sm__SP__Sg__Connect(Dali::Signal< void (Dali::RefObject const *) > *self,void (*func)(Dali::RefObject const *)){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_RefObject_SS_const_Sm__SP__Sg__Disconnect(Dali::Signal< void (Dali::RefObject const *) > *self,void (*func)(Dali::RefObject const *)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_RefObject_SS_const_Sm__SP__Sg__Emit(Dali::Signal< void (Dali::RefObject const *) > *self,Dali::RefObject const *arg){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_PropertyNotification_SA__SP__Sg__Empty(Dali::Signal< void (Dali::PropertyNotification &) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_PropertyNotification_SA__SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::PropertyNotification &) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_PropertyNotification_SA__SP__Sg__Connect(Dali::Signal< void (Dali::PropertyNotification &) > *self,void (*func)(Dali::PropertyNotification &)){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_PropertyNotification_SA__SP__Sg__Disconnect(Dali::Signal< void (Dali::PropertyNotification &) > *self,void (*func)(Dali::PropertyNotification &)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_PropertyNotification_SA__SP__Sg__Emit(Dali::Signal< void (Dali::PropertyNotification &) > *self,Dali::PropertyNotification &arg){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Image_SP__Sg__Empty(Dali::Signal< void (Dali::Image) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Image_SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Image) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Image_SP__Sg__Connect(Dali::Signal< void (Dali::Image) > *self,void (*func)(Dali::Image)){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Image_SP__Sg__Disconnect(Dali::Signal< void (Dali::Image) > *self,void (*func)(Dali::Image)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Image_SP__Sg__Emit(Dali::Signal< void (Dali::Image) > *self,Dali::Image arg){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_LongPressGesture_SS_const_SA__SP__Sg__Empty(Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_LongPressGesture_SS_const_SA__SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_LongPressGesture_SS_const_SA__SP__Sg__Connect(Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *self,void (*func)(Dali::Actor,Dali::LongPressGesture const &)){
+        self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_LongPressGesture_SS_const_SA__SP__Sg__Disconnect(Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *self,void (*func)(Dali::Actor,Dali::LongPressGesture const &)){
+        self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_LongPressGesture_SS_const_SA__SP__Sg__Emit(Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *self,Dali::Actor arg1,Dali::LongPressGesture const &arg2){
+        /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg1, arg2 );
+      }
+SWIGINTERN bool Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_TouchData_SS_const_SA__SP__Sg__Empty(Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_TouchData_SS_const_SA__SP__Sg__GetConnectionCount(Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_TouchData_SS_const_SA__SP__Sg__Connect(Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *self,bool (*func)(Dali::Actor,Dali::TouchData const &)){
+        self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_TouchData_SS_const_SA__SP__Sg__Disconnect(Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *self,bool (*func)(Dali::Actor,Dali::TouchData const &)){
+        self->Disconnect( func );
+      }
+SWIGINTERN bool Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_TouchData_SS_const_SA__SP__Sg__Emit(Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *self,Dali::Actor arg1,Dali::TouchData const &arg2){
+        return self->Emit( arg1, arg2 );
+      }
+SWIGINTERN bool Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_HoverEvent_SS_const_SA__SP__Sg__Empty(Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_HoverEvent_SS_const_SA__SP__Sg__GetConnectionCount(Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_HoverEvent_SS_const_SA__SP__Sg__Connect(Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *self,bool (*func)(Dali::Actor,Dali::HoverEvent const &)){
+        self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_HoverEvent_SS_const_SA__SP__Sg__Disconnect(Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *self,bool (*func)(Dali::Actor,Dali::HoverEvent const &)){
+        self->Disconnect( func );
+      }
+SWIGINTERN bool Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_HoverEvent_SS_const_SA__SP__Sg__Emit(Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *self,Dali::Actor arg1,Dali::HoverEvent const &arg2){
+        return self->Emit( arg1, arg2 );
+      }
+SWIGINTERN bool Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_WheelEvent_SS_const_SA__SP__Sg__Empty(Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_WheelEvent_SS_const_SA__SP__Sg__GetConnectionCount(Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_WheelEvent_SS_const_SA__SP__Sg__Connect(Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *self,bool (*func)(Dali::Actor,Dali::WheelEvent const &)){
+        self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_WheelEvent_SS_const_SA__SP__Sg__Disconnect(Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *self,bool (*func)(Dali::Actor,Dali::WheelEvent const &)){
+        self->Disconnect( func );
+      }
+SWIGINTERN bool Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_WheelEvent_SS_const_SA__SP__Sg__Emit(Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *self,Dali::Actor arg1,Dali::WheelEvent const &arg2){
+        return self->Emit( arg1, arg2 );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Actor_SP__Sg__Empty(Dali::Signal< void (Dali::Actor) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Actor_SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Actor) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_SP__Sg__Connect(Dali::Signal< void (Dali::Actor) > *self,void (*func)(Dali::Actor)){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_SP__Sg__Disconnect(Dali::Signal< void (Dali::Actor) > *self,void (*func)(Dali::Actor)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_SP__Sg__Emit(Dali::Signal< void (Dali::Actor) > *self,Dali::Actor arg){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_KeyEvent_SS_const_SA__SP__Sg__Empty(Dali::Signal< void (Dali::KeyEvent const &) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_KeyEvent_SS_const_SA__SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::KeyEvent const &) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_KeyEvent_SS_const_SA__SP__Sg__Connect(Dali::Signal< void (Dali::KeyEvent const &) > *self,void (*func)(Dali::KeyEvent const &)){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_KeyEvent_SS_const_SA__SP__Sg__Disconnect(Dali::Signal< void (Dali::KeyEvent const &) > *self,void (*func)(Dali::KeyEvent const &)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_KeyEvent_SS_const_SA__SP__Sg__Emit(Dali::Signal< void (Dali::KeyEvent const &) > *self,Dali::KeyEvent const &arg){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_TouchData_SS_const_SA__SP__Sg__Empty(Dali::Signal< void (Dali::TouchData const &) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_TouchData_SS_const_SA__SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::TouchData const &) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_TouchData_SS_const_SA__SP__Sg__Connect(Dali::Signal< void (Dali::TouchData const &) > *self,void (*func)(Dali::TouchData const &)){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_TouchData_SS_const_SA__SP__Sg__Disconnect(Dali::Signal< void (Dali::TouchData const &) > *self,void (*func)(Dali::TouchData const &)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_TouchData_SS_const_SA__SP__Sg__Emit(Dali::Signal< void (Dali::TouchData const &) > *self,Dali::TouchData const &arg){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_WheelEvent_SS_const_SA__SP__Sg__Empty(Dali::Signal< void (Dali::WheelEvent const &) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_WheelEvent_SS_const_SA__SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::WheelEvent const &) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_WheelEvent_SS_const_SA__SP__Sg__Connect(Dali::Signal< void (Dali::WheelEvent const &) > *self,void (*func)(Dali::WheelEvent const &)){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_WheelEvent_SS_const_SA__SP__Sg__Disconnect(Dali::Signal< void (Dali::WheelEvent const &) > *self,void (*func)(Dali::WheelEvent const &)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_WheelEvent_SS_const_SA__SP__Sg__Emit(Dali::Signal< void (Dali::WheelEvent const &) > *self,Dali::WheelEvent const &arg){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PanGesture_SS_const_SA__SP__Sg__Empty(Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PanGesture_SS_const_SA__SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PanGesture_SS_const_SA__SP__Sg__Connect(Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *self,void (*func)(Dali::Actor,Dali::PanGesture const &)){
+        self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PanGesture_SS_const_SA__SP__Sg__Disconnect(Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *self,void (*func)(Dali::Actor,Dali::PanGesture const &)){
+        self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PanGesture_SS_const_SA__SP__Sg__Emit(Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *self,Dali::Actor arg1,Dali::PanGesture const &arg2){
+        /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg1, arg2 );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PinchGesture_SS_const_SA__SP__Sg__Empty(Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PinchGesture_SS_const_SA__SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PinchGesture_SS_const_SA__SP__Sg__Connect(Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *self,void (*func)(Dali::Actor,Dali::PinchGesture const &)){
+        self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PinchGesture_SS_const_SA__SP__Sg__Disconnect(Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *self,void (*func)(Dali::Actor,Dali::PinchGesture const &)){
+        self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PinchGesture_SS_const_SA__SP__Sg__Emit(Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *self,Dali::Actor arg1,Dali::PinchGesture const &arg2){
+        /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg1, arg2 );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_TapGesture_SS_const_SA__SP__Sg__Empty(Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_TapGesture_SS_const_SA__SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_TapGesture_SS_const_SA__SP__Sg__Connect(Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *self,void (*func)(Dali::Actor,Dali::TapGesture const &)){
+        self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_TapGesture_SS_const_SA__SP__Sg__Disconnect(Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *self,void (*func)(Dali::Actor,Dali::TapGesture const &)){
+        self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_TapGesture_SS_const_SA__SP__Sg__Emit(Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *self,Dali::Actor arg1,Dali::TapGesture const &arg2){
+        /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg1, arg2 );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Animation_SA__SP__Sg__Empty(Dali::Signal< void (Dali::Animation &) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Animation_SA__SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Animation &) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Animation_SA__SP__Sg__Connect(Dali::Signal< void (Dali::Animation &) > *self,void (*func)(Dali::Animation &)){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Animation_SA__SP__Sg__Disconnect(Dali::Signal< void (Dali::Animation &) > *self,void (*func)(Dali::Animation &)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Animation_SA__SP__Sg__Emit(Dali::Signal< void (Dali::Animation &) > *self,Dali::Animation &arg){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_ResourceImage_SP__Sg__Empty(Dali::Signal< void (Dali::ResourceImage) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_ResourceImage_SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::ResourceImage) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_ResourceImage_SP__Sg__Connect(Dali::Signal< void (Dali::ResourceImage) > *self,void (*func)(Dali::ResourceImage)){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_ResourceImage_SP__Sg__Disconnect(Dali::Signal< void (Dali::ResourceImage) > *self,void (*func)(Dali::ResourceImage)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_ResourceImage_SP__Sg__Emit(Dali::Signal< void (Dali::ResourceImage) > *self,Dali::ResourceImage arg){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg );
+      }
+
+  // keep argcs and argv so they're always available to DALi
+  int argC = 1;
+  char **argV = NULL;
+
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Application_SA__SP__Sg__Empty(Dali::Signal< void (Dali::Application &) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Application_SA__SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Application &) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Application_SA__SP__Sg__Connect(Dali::Signal< void (Dali::Application &) > *self,void (*func)(Dali::Application &)){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Application_SA__SP__Sg__Disconnect(Dali::Signal< void (Dali::Application &) > *self,void (*func)(Dali::Application &)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Application_SA__SP__Sg__Emit(Dali::Signal< void (Dali::Application &) > *self,Dali::Application &arg){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Application_SA__Sc_void_Sm__SP__Sg__Empty(Dali::Signal< void (Dali::Application &,void *) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Application_SA__Sc_void_Sm__SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Application &,void *) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Application_SA__Sc_void_Sm__SP__Sg__Connect(Dali::Signal< void (Dali::Application &,void *) > *self,void (*func)(Dali::Application &,void *)){
+        self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Application_SA__Sc_void_Sm__SP__Sg__Disconnect(Dali::Signal< void (Dali::Application &,void *) > *self,void (*func)(Dali::Application &,void *)){
+        self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Application_SA__Sc_void_Sm__SP__Sg__Emit(Dali::Signal< void (Dali::Application &,void *) > *self,Dali::Application &arg1,void *arg2){
+        /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg1, arg2 );
+      }
+SWIGINTERN bool Dali_Signal_Sl_bool_Sp__SP__Sg__Empty(Dali::Signal< bool () > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_bool_Sp__SP__Sg__GetConnectionCount(Dali::Signal< bool () > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_bool_Sp__SP__Sg__Connect(Dali::Signal< bool () > *self,bool (*func)()){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_bool_Sp__SP__Sg__Disconnect(Dali::Signal< bool () > *self,bool (*func)()){
+          self->Disconnect( func );
+      }
+SWIGINTERN bool Dali_Signal_Sl_bool_Sp__SP__Sg__Emit(Dali::Signal< bool () > *self){
+          return self->Emit();
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_bool_SP__Sg__Empty(Dali::Signal< void (bool) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_bool_SP__Sg__GetConnectionCount(Dali::Signal< void (bool) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_bool_SP__Sg__Connect(Dali::Signal< void (bool) > *self,void (*func)(bool)){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_bool_SP__Sg__Disconnect(Dali::Signal< void (bool) > *self,void (*func)(bool)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_bool_SP__Sg__Emit(Dali::Signal< void (bool) > *self,bool arg){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg );
+      }
+SWIGINTERN std::vector< unsigned int > *new_std_vector_Sl_unsigned_SS_int_Sg___SWIG_2(int capacity){
+        std::vector< unsigned int >* pv = 0;
+        if (capacity >= 0) {
+          pv = new std::vector< unsigned int >();
+          pv->reserve(capacity);
+       } else {
+          throw std::out_of_range("capacity");
+       }
+       return pv;
+      }
+SWIGINTERN unsigned int std_vector_Sl_unsigned_SS_int_Sg__getitemcopy(std::vector< unsigned int > *self,int index){
+        if (index>=0 && index<(int)self->size())
+          return (*self)[index];
+        else
+          throw std::out_of_range("index");
+      }
+SWIGINTERN unsigned int const &std_vector_Sl_unsigned_SS_int_Sg__getitem(std::vector< unsigned int > *self,int index){
+        if (index>=0 && index<(int)self->size())
+          return (*self)[index];
+        else
+          throw std::out_of_range("index");
+      }
+SWIGINTERN void std_vector_Sl_unsigned_SS_int_Sg__setitem(std::vector< unsigned int > *self,int index,unsigned int const &val){
+        if (index>=0 && index<(int)self->size())
+          (*self)[index] = val;
+        else
+          throw std::out_of_range("index");
+      }
+SWIGINTERN void std_vector_Sl_unsigned_SS_int_Sg__AddRange(std::vector< unsigned int > *self,std::vector< unsigned int > const &values){
+        self->insert(self->end(), values.begin(), values.end());
+      }
+SWIGINTERN std::vector< unsigned int > *std_vector_Sl_unsigned_SS_int_Sg__GetRange(std::vector< unsigned int > *self,int index,int count){
+        if (index < 0)
+          throw std::out_of_range("index");
+        if (count < 0)
+          throw std::out_of_range("count");
+        if (index >= (int)self->size()+1 || index+count > (int)self->size())
+          throw std::invalid_argument("invalid range");
+        return new std::vector< unsigned int >(self->begin()+index, self->begin()+index+count);
+      }
+SWIGINTERN void std_vector_Sl_unsigned_SS_int_Sg__Insert(std::vector< unsigned int > *self,int index,unsigned int const &x){
+        if (index>=0 && index<(int)self->size()+1)
+          self->insert(self->begin()+index, x);
+        else
+          throw std::out_of_range("index");
+      }
+SWIGINTERN void std_vector_Sl_unsigned_SS_int_Sg__InsertRange(std::vector< unsigned int > *self,int index,std::vector< unsigned int > const &values){
+        if (index>=0 && index<(int)self->size()+1)
+          self->insert(self->begin()+index, values.begin(), values.end());
+        else
+          throw std::out_of_range("index");
+      }
+SWIGINTERN void std_vector_Sl_unsigned_SS_int_Sg__RemoveAt(std::vector< unsigned int > *self,int index){
+        if (index>=0 && index<(int)self->size())
+          self->erase(self->begin() + index);
+        else
+          throw std::out_of_range("index");
+      }
+SWIGINTERN void std_vector_Sl_unsigned_SS_int_Sg__RemoveRange(std::vector< unsigned int > *self,int index,int count){
+        if (index < 0)
+          throw std::out_of_range("index");
+        if (count < 0)
+          throw std::out_of_range("count");
+        if (index >= (int)self->size()+1 || index+count > (int)self->size())
+          throw std::invalid_argument("invalid range");
+        self->erase(self->begin()+index, self->begin()+index+count);
+      }
+SWIGINTERN std::vector< unsigned int > *std_vector_Sl_unsigned_SS_int_Sg__Repeat(unsigned int const &value,int count){
+        if (count < 0)
+          throw std::out_of_range("count");
+        return new std::vector< unsigned int >(count, value);
+      }
+SWIGINTERN void std_vector_Sl_unsigned_SS_int_Sg__Reverse__SWIG_0(std::vector< unsigned int > *self){
+        std::reverse(self->begin(), self->end());
+      }
+SWIGINTERN void std_vector_Sl_unsigned_SS_int_Sg__Reverse__SWIG_1(std::vector< unsigned int > *self,int index,int count){
+        if (index < 0)
+          throw std::out_of_range("index");
+        if (count < 0)
+          throw std::out_of_range("count");
+        if (index >= (int)self->size()+1 || index+count > (int)self->size())
+          throw std::invalid_argument("invalid range");
+        std::reverse(self->begin()+index, self->begin()+index+count);
+      }
+SWIGINTERN void std_vector_Sl_unsigned_SS_int_Sg__SetRange(std::vector< unsigned int > *self,int index,std::vector< unsigned int > const &values){
+        if (index < 0)
+          throw std::out_of_range("index");
+        if (index+values.size() > self->size())
+          throw std::out_of_range("index");
+        std::copy(values.begin(), values.end(), self->begin()+index);
+      }
+SWIGINTERN bool std_vector_Sl_unsigned_SS_int_Sg__Contains(std::vector< unsigned int > *self,unsigned int const &value){
+        return std::find(self->begin(), self->end(), value) != self->end();
+      }
+SWIGINTERN int std_vector_Sl_unsigned_SS_int_Sg__IndexOf(std::vector< unsigned int > *self,unsigned int const &value){
+        int index = -1;
+        std::vector< unsigned int >::iterator it = std::find(self->begin(), self->end(), value);
+        if (it != self->end())
+          index = (int)(it - self->begin());
+        return index;
+      }
+SWIGINTERN int std_vector_Sl_unsigned_SS_int_Sg__LastIndexOf(std::vector< unsigned int > *self,unsigned int const &value){
+        int index = -1;
+        std::vector< unsigned int >::reverse_iterator rit = std::find(self->rbegin(), self->rend(), value);
+        if (rit != self->rend())
+          index = (int)(self->rend() - 1 - rit);
+        return index;
+      }
+SWIGINTERN bool std_vector_Sl_unsigned_SS_int_Sg__Remove(std::vector< unsigned int > *self,unsigned int const &value){
+        std::vector< unsigned int >::iterator it = std::find(self->begin(), self->end(), value);
+        if (it != self->end()) {
+          self->erase(it);
+         return true;
+        }
+        return false;
+      }
+SWIGINTERN std::vector< std::pair< unsigned int,Dali::Actor > > *new_std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg___SWIG_2(int capacity){
+        std::vector< std::pair< unsigned int,Dali::Actor > >* pv = 0;
+        if (capacity >= 0) {
+          pv = new std::vector< std::pair< unsigned int,Dali::Actor > >();
+          pv->reserve(capacity);
+       } else {
+          throw std::out_of_range("capacity");
+       }
+       return pv;
+      }
+SWIGINTERN std::pair< unsigned int,Dali::Actor > std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__getitemcopy(std::vector< std::pair< unsigned int,Dali::Actor > > *self,int index){
+        if (index>=0 && index<(int)self->size())
+          return (*self)[index];
+        else
+          throw std::out_of_range("index");
+      }
+SWIGINTERN std::pair< unsigned int,Dali::Actor > const &std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__getitem(std::vector< std::pair< unsigned int,Dali::Actor > > *self,int index){
+        if (index>=0 && index<(int)self->size())
+          return (*self)[index];
+        else
+          throw std::out_of_range("index");
+      }
+SWIGINTERN void std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__setitem(std::vector< std::pair< unsigned int,Dali::Actor > > *self,int index,std::pair< unsigned int,Dali::Actor > const &val){
+        if (index>=0 && index<(int)self->size())
+          (*self)[index] = val;
+        else
+          throw std::out_of_range("index");
+      }
+SWIGINTERN void std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__AddRange(std::vector< std::pair< unsigned int,Dali::Actor > > *self,std::vector< std::pair< unsigned int,Dali::Actor > > const &values){
+        self->insert(self->end(), values.begin(), values.end());
+      }
+SWIGINTERN std::vector< std::pair< unsigned int,Dali::Actor > > *std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__GetRange(std::vector< std::pair< unsigned int,Dali::Actor > > *self,int index,int count){
+        if (index < 0)
+          throw std::out_of_range("index");
+        if (count < 0)
+          throw std::out_of_range("count");
+        if (index >= (int)self->size()+1 || index+count > (int)self->size())
+          throw std::invalid_argument("invalid range");
+        return new std::vector< std::pair< unsigned int,Dali::Actor > >(self->begin()+index, self->begin()+index+count);
+      }
+SWIGINTERN void std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__Insert(std::vector< std::pair< unsigned int,Dali::Actor > > *self,int index,std::pair< unsigned int,Dali::Actor > const &x){
+        if (index>=0 && index<(int)self->size()+1)
+          self->insert(self->begin()+index, x);
+        else
+          throw std::out_of_range("index");
+      }
+SWIGINTERN void std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__InsertRange(std::vector< std::pair< unsigned int,Dali::Actor > > *self,int index,std::vector< std::pair< unsigned int,Dali::Actor > > const &values){
+        if (index>=0 && index<(int)self->size()+1)
+          self->insert(self->begin()+index, values.begin(), values.end());
+        else
+          throw std::out_of_range("index");
+      }
+SWIGINTERN void std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__RemoveAt(std::vector< std::pair< unsigned int,Dali::Actor > > *self,int index){
+        if (index>=0 && index<(int)self->size())
+          self->erase(self->begin() + index);
+        else
+          throw std::out_of_range("index");
+      }
+SWIGINTERN void std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__RemoveRange(std::vector< std::pair< unsigned int,Dali::Actor > > *self,int index,int count){
+        if (index < 0)
+          throw std::out_of_range("index");
+        if (count < 0)
+          throw std::out_of_range("count");
+        if (index >= (int)self->size()+1 || index+count > (int)self->size())
+          throw std::invalid_argument("invalid range");
+        self->erase(self->begin()+index, self->begin()+index+count);
+      }
+SWIGINTERN std::vector< std::pair< unsigned int,Dali::Actor > > *std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__Repeat(std::pair< unsigned int,Dali::Actor > const &value,int count){
+        if (count < 0)
+          throw std::out_of_range("count");
+        return new std::vector< std::pair< unsigned int,Dali::Actor > >(count, value);
+      }
+SWIGINTERN void std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__Reverse__SWIG_0(std::vector< std::pair< unsigned int,Dali::Actor > > *self){
+        std::reverse(self->begin(), self->end());
+      }
+SWIGINTERN void std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__Reverse__SWIG_1(std::vector< std::pair< unsigned int,Dali::Actor > > *self,int index,int count){
+        if (index < 0)
+          throw std::out_of_range("index");
+        if (count < 0)
+          throw std::out_of_range("count");
+        if (index >= (int)self->size()+1 || index+count > (int)self->size())
+          throw std::invalid_argument("invalid range");
+        std::reverse(self->begin()+index, self->begin()+index+count);
+      }
+SWIGINTERN void std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__SetRange(std::vector< std::pair< unsigned int,Dali::Actor > > *self,int index,std::vector< std::pair< unsigned int,Dali::Actor > > const &values){
+        if (index < 0)
+          throw std::out_of_range("index");
+        if (index+values.size() > self->size())
+          throw std::out_of_range("index");
+        std::copy(values.begin(), values.end(), self->begin()+index);
+      }
+SWIGINTERN std::vector< Dali::Actor > *new_std_vector_Sl_Dali_Actor_Sg___SWIG_2(int capacity){
+        std::vector< Dali::Actor >* pv = 0;
+        if (capacity >= 0) {
+          pv = new std::vector< Dali::Actor >();
+          pv->reserve(capacity);
+       } else {
+          throw std::out_of_range("capacity");
+       }
+       return pv;
+      }
+SWIGINTERN Dali::Actor std_vector_Sl_Dali_Actor_Sg__getitemcopy(std::vector< Dali::Actor > *self,int index){
+        if (index>=0 && index<(int)self->size())
+          return (*self)[index];
+        else
+          throw std::out_of_range("index");
+      }
+SWIGINTERN Dali::Actor const &std_vector_Sl_Dali_Actor_Sg__getitem(std::vector< Dali::Actor > *self,int index){
+        if (index>=0 && index<(int)self->size())
+          return (*self)[index];
+        else
+          throw std::out_of_range("index");
+      }
+SWIGINTERN void std_vector_Sl_Dali_Actor_Sg__setitem(std::vector< Dali::Actor > *self,int index,Dali::Actor const &val){
+        if (index>=0 && index<(int)self->size())
+          (*self)[index] = val;
+        else
+          throw std::out_of_range("index");
+      }
+SWIGINTERN void std_vector_Sl_Dali_Actor_Sg__AddRange(std::vector< Dali::Actor > *self,std::vector< Dali::Actor > const &values){
+        self->insert(self->end(), values.begin(), values.end());
+      }
+SWIGINTERN std::vector< Dali::Actor > *std_vector_Sl_Dali_Actor_Sg__GetRange(std::vector< Dali::Actor > *self,int index,int count){
+        if (index < 0)
+          throw std::out_of_range("index");
+        if (count < 0)
+          throw std::out_of_range("count");
+        if (index >= (int)self->size()+1 || index+count > (int)self->size())
+          throw std::invalid_argument("invalid range");
+        return new std::vector< Dali::Actor >(self->begin()+index, self->begin()+index+count);
+      }
+SWIGINTERN void std_vector_Sl_Dali_Actor_Sg__Insert(std::vector< Dali::Actor > *self,int index,Dali::Actor const &x){
+        if (index>=0 && index<(int)self->size()+1)
+          self->insert(self->begin()+index, x);
+        else
+          throw std::out_of_range("index");
+      }
+SWIGINTERN void std_vector_Sl_Dali_Actor_Sg__InsertRange(std::vector< Dali::Actor > *self,int index,std::vector< Dali::Actor > const &values){
+        if (index>=0 && index<(int)self->size()+1)
+          self->insert(self->begin()+index, values.begin(), values.end());
+        else
+          throw std::out_of_range("index");
+      }
+SWIGINTERN void std_vector_Sl_Dali_Actor_Sg__RemoveAt(std::vector< Dali::Actor > *self,int index){
+        if (index>=0 && index<(int)self->size())
+          self->erase(self->begin() + index);
+        else
+          throw std::out_of_range("index");
+      }
+SWIGINTERN void std_vector_Sl_Dali_Actor_Sg__RemoveRange(std::vector< Dali::Actor > *self,int index,int count){
+        if (index < 0)
+          throw std::out_of_range("index");
+        if (count < 0)
+          throw std::out_of_range("count");
+        if (index >= (int)self->size()+1 || index+count > (int)self->size())
+          throw std::invalid_argument("invalid range");
+        self->erase(self->begin()+index, self->begin()+index+count);
+      }
+SWIGINTERN std::vector< Dali::Actor > *std_vector_Sl_Dali_Actor_Sg__Repeat(Dali::Actor const &value,int count){
+        if (count < 0)
+          throw std::out_of_range("count");
+        return new std::vector< Dali::Actor >(count, value);
+      }
+SWIGINTERN void std_vector_Sl_Dali_Actor_Sg__Reverse__SWIG_0(std::vector< Dali::Actor > *self){
+        std::reverse(self->begin(), self->end());
+      }
+SWIGINTERN void std_vector_Sl_Dali_Actor_Sg__Reverse__SWIG_1(std::vector< Dali::Actor > *self,int index,int count){
+        if (index < 0)
+          throw std::out_of_range("index");
+        if (count < 0)
+          throw std::out_of_range("count");
+        if (index >= (int)self->size()+1 || index+count > (int)self->size())
+          throw std::invalid_argument("invalid range");
+        std::reverse(self->begin()+index, self->begin()+index+count);
+      }
+SWIGINTERN void std_vector_Sl_Dali_Actor_Sg__SetRange(std::vector< Dali::Actor > *self,int index,std::vector< Dali::Actor > const &values){
+        if (index < 0)
+          throw std::out_of_range("index");
+        if (index+values.size() > self->size())
+          throw std::out_of_range("index");
+        std::copy(values.begin(), values.end(), self->begin()+index);
+      }
+SWIGINTERN bool Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__SP__Sg__Empty(Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__SP__Sg__GetConnectionCount(Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__SP__Sg__Connect(Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > *self,bool (*func)(Dali::Toolkit::AccessibilityManager &)){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__SP__Sg__Disconnect(Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > *self,bool (*func)(Dali::Toolkit::AccessibilityManager &)){
+          self->Disconnect( func );
+      }
+SWIGINTERN bool Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__SP__Sg__Emit(Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > *self,Dali::Toolkit::AccessibilityManager &arg){
+          return self->Emit( arg );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_Toolkit_AccessibilityManager_FocusOvershotDirection_SP__Sg__Empty(Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_Toolkit_AccessibilityManager_FocusOvershotDirection_SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_Toolkit_AccessibilityManager_FocusOvershotDirection_SP__Sg__Connect(Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *self,void (*func)(Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection)){
+        self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_Toolkit_AccessibilityManager_FocusOvershotDirection_SP__Sg__Disconnect(Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *self,void (*func)(Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection)){
+        self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_Toolkit_AccessibilityManager_FocusOvershotDirection_SP__Sg__Emit(Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *self,Dali::Actor arg1,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection arg2){
+        /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg1, arg2 );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_Actor_SP__Sg__Empty(Dali::Signal< void (Dali::Actor,Dali::Actor) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_Actor_SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Actor,Dali::Actor) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_Actor_SP__Sg__Connect(Dali::Signal< void (Dali::Actor,Dali::Actor) > *self,void (*func)(Dali::Actor,Dali::Actor)){
+        self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_Actor_SP__Sg__Disconnect(Dali::Signal< void (Dali::Actor,Dali::Actor) > *self,void (*func)(Dali::Actor,Dali::Actor)){
+        self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_Actor_SP__Sg__Emit(Dali::Signal< void (Dali::Actor,Dali::Actor) > *self,Dali::Actor arg1,Dali::Actor arg2){
+        /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg1, arg2 );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_bool_SP__Sg__Empty(Dali::Signal< void (Dali::Actor,bool) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_bool_SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Actor,bool) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_bool_SP__Sg__Connect(Dali::Signal< void (Dali::Actor,bool) > *self,void (*func)(Dali::Actor,bool)){
+        self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_bool_SP__Sg__Disconnect(Dali::Signal< void (Dali::Actor,bool) > *self,void (*func)(Dali::Actor,bool)){
+        self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_bool_SP__Sg__Emit(Dali::Signal< void (Dali::Actor,bool) > *self,Dali::Actor arg1,bool arg2){
+        /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg1, arg2 );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Toolkit_StyleManager_Sc_Dali_StyleChange_Type_SP__Sg__Empty(Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Toolkit_StyleManager_Sc_Dali_StyleChange_Type_SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_StyleManager_Sc_Dali_StyleChange_Type_SP__Sg__Connect(Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > *self,void (*func)(Dali::Toolkit::StyleManager,Dali::StyleChange::Type)){
+        self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_StyleManager_Sc_Dali_StyleChange_Type_SP__Sg__Disconnect(Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > *self,void (*func)(Dali::Toolkit::StyleManager,Dali::StyleChange::Type)){
+        self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_StyleManager_Sc_Dali_StyleChange_Type_SP__Sg__Emit(Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > *self,Dali::Toolkit::StyleManager arg1,Dali::StyleChange::Type arg2){
+        /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg1, arg2 );
+      }
+SWIGINTERN bool Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Button_SP__Sg__Empty(Dali::Signal< bool (Dali::Toolkit::Button) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Button_SP__Sg__GetConnectionCount(Dali::Signal< bool (Dali::Toolkit::Button) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Button_SP__Sg__Connect(Dali::Signal< bool (Dali::Toolkit::Button) > *self,bool (*func)(Dali::Toolkit::Button)){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Button_SP__Sg__Disconnect(Dali::Signal< bool (Dali::Toolkit::Button) > *self,bool (*func)(Dali::Toolkit::Button)){
+          self->Disconnect( func );
+      }
+SWIGINTERN bool Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Button_SP__Sg__Emit(Dali::Signal< bool (Dali::Toolkit::Button) > *self,Dali::Toolkit::Button arg){
+          return self->Emit( arg );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Toolkit_GaussianBlurView_SP__Sg__Empty(Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Toolkit_GaussianBlurView_SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_GaussianBlurView_SP__Sg__Connect(Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > *self,void (*func)(Dali::Toolkit::GaussianBlurView)){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_GaussianBlurView_SP__Sg__Disconnect(Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > *self,void (*func)(Dali::Toolkit::GaussianBlurView)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_GaussianBlurView_SP__Sg__Emit(Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > *self,Dali::Toolkit::GaussianBlurView arg){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Toolkit_PageTurnView_Sc_unsigned_SS_int_Sc_bool_SP__Sg__Empty(Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Toolkit_PageTurnView_Sc_unsigned_SS_int_Sc_bool_SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_PageTurnView_Sc_unsigned_SS_int_Sc_bool_SP__Sg__Connect(Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > *self,void (*func)(Dali::Toolkit::PageTurnView,unsigned int,bool)){
+          return self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_PageTurnView_Sc_unsigned_SS_int_Sc_bool_SP__Sg__Disconnect(Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > *self,void (*func)(Dali::Toolkit::PageTurnView,unsigned int,bool)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_PageTurnView_Sc_unsigned_SS_int_Sc_bool_SP__Sg__Emit(Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > *self,Dali::Toolkit::PageTurnView arg1,unsigned int arg2,bool arg3){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg1, arg2, arg3 );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Toolkit_PageTurnView_SP__Sg__Empty(Dali::Signal< void (Dali::Toolkit::PageTurnView) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Toolkit_PageTurnView_SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Toolkit::PageTurnView) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_PageTurnView_SP__Sg__Connect(Dali::Signal< void (Dali::Toolkit::PageTurnView) > *self,void (*func)(Dali::Toolkit::PageTurnView)){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_PageTurnView_SP__Sg__Disconnect(Dali::Signal< void (Dali::Toolkit::PageTurnView) > *self,void (*func)(Dali::Toolkit::PageTurnView)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_PageTurnView_SP__Sg__Emit(Dali::Signal< void (Dali::Toolkit::PageTurnView) > *self,Dali::Toolkit::PageTurnView arg){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Toolkit_ProgressBar_Sc_float_Sc_float_SP__Sg__Empty(Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Toolkit_ProgressBar_Sc_float_Sc_float_SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_ProgressBar_Sc_float_Sc_float_SP__Sg__Connect(Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *self,void (*func)(Dali::Toolkit::ProgressBar,float,float)){
+          return self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_ProgressBar_Sc_float_Sc_float_SP__Sg__Disconnect(Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *self,void (*func)(Dali::Toolkit::ProgressBar,float,float)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_ProgressBar_Sc_float_Sc_float_SP__Sg__Emit(Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *self,Dali::Toolkit::ProgressBar arg1,float arg2,float arg3){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg1, arg2, arg3 );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Toolkit_ScrollView_SnapEvent_SS_const_SA__SP__Sg__Empty(Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Toolkit_ScrollView_SnapEvent_SS_const_SA__SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_ScrollView_SnapEvent_SS_const_SA__SP__Sg__Connect(Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *self,void (*func)(Dali::Toolkit::ScrollView::SnapEvent const &)){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_ScrollView_SnapEvent_SS_const_SA__SP__Sg__Disconnect(Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *self,void (*func)(Dali::Toolkit::ScrollView::SnapEvent const &)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_ScrollView_SnapEvent_SS_const_SA__SP__Sg__Emit(Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *self,Dali::Toolkit::ScrollView::SnapEvent const &arg){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Vector2_SS_const_SA__SP__Sg__Empty(Dali::Signal< void (Dali::Vector2 const &) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Vector2_SS_const_SA__SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Vector2 const &) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Vector2_SS_const_SA__SP__Sg__Connect(Dali::Signal< void (Dali::Vector2 const &) > *self,void (*func)(Dali::Vector2 const &)){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Vector2_SS_const_SA__SP__Sg__Disconnect(Dali::Signal< void (Dali::Vector2 const &) > *self,void (*func)(Dali::Vector2 const &)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Vector2_SS_const_SA__SP__Sg__Emit(Dali::Signal< void (Dali::Vector2 const &) > *self,Dali::Vector2 const &arg){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Toolkit_TextEditor_SP__Sg__Empty(Dali::Signal< void (Dali::Toolkit::TextEditor) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Toolkit_TextEditor_SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Toolkit::TextEditor) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_TextEditor_SP__Sg__Connect(Dali::Signal< void (Dali::Toolkit::TextEditor) > *self,void (*func)(Dali::Toolkit::TextEditor)){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_TextEditor_SP__Sg__Disconnect(Dali::Signal< void (Dali::Toolkit::TextEditor) > *self,void (*func)(Dali::Toolkit::TextEditor)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_TextEditor_SP__Sg__Emit(Dali::Signal< void (Dali::Toolkit::TextEditor) > *self,Dali::Toolkit::TextEditor arg){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Toolkit_TextField_SP__Sg__Empty(Dali::Signal< void (Dali::Toolkit::TextField) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Toolkit_TextField_SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Toolkit::TextField) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_TextField_SP__Sg__Connect(Dali::Signal< void (Dali::Toolkit::TextField) > *self,void (*func)(Dali::Toolkit::TextField)){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_TextField_SP__Sg__Disconnect(Dali::Signal< void (Dali::Toolkit::TextField) > *self,void (*func)(Dali::Toolkit::TextField)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_TextField_SP__Sg__Emit(Dali::Signal< void (Dali::Toolkit::TextField) > *self,Dali::Toolkit::TextField arg){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg );
+      }
+SWIGINTERN bool Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Control_Sc_Dali_KeyEvent_SS_const_SA__SP__Sg__Empty(Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Control_Sc_Dali_KeyEvent_SS_const_SA__SP__Sg__GetConnectionCount(Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Control_Sc_Dali_KeyEvent_SS_const_SA__SP__Sg__Connect(Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *self,bool (*func)(Dali::Toolkit::Control,Dali::KeyEvent const &)){
+        self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Control_Sc_Dali_KeyEvent_SS_const_SA__SP__Sg__Disconnect(Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *self,bool (*func)(Dali::Toolkit::Control,Dali::KeyEvent const &)){
+        self->Disconnect( func );
+      }
+SWIGINTERN bool Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Control_Sc_Dali_KeyEvent_SS_const_SA__SP__Sg__Emit(Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *self,Dali::Toolkit::Control arg1,Dali::KeyEvent const &arg2){
+        return self->Emit( arg1, arg2 );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Toolkit_Control_SP__Sg__Empty(Dali::Signal< void (Dali::Toolkit::Control) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Toolkit_Control_SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Toolkit::Control) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_Control_SP__Sg__Connect(Dali::Signal< void (Dali::Toolkit::Control) > *self,void (*func)(Dali::Toolkit::Control)){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_Control_SP__Sg__Disconnect(Dali::Signal< void (Dali::Toolkit::Control) > *self,void (*func)(Dali::Toolkit::Control)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_Control_SP__Sg__Emit(Dali::Signal< void (Dali::Toolkit::Control) > *self,Dali::Toolkit::Control arg){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg );
+      }
+SWIGINTERN bool Dali_Signal_Sl_void_Sp_Dali_Toolkit_VideoView_SA__SP__Sg__Empty(Dali::Signal< void (Dali::Toolkit::VideoView &) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_void_Sp_Dali_Toolkit_VideoView_SA__SP__Sg__GetConnectionCount(Dali::Signal< void (Dali::Toolkit::VideoView &) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_VideoView_SA__SP__Sg__Connect(Dali::Signal< void (Dali::Toolkit::VideoView &) > *self,void (*func)(Dali::Toolkit::VideoView &)){
+          self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_VideoView_SA__SP__Sg__Disconnect(Dali::Signal< void (Dali::Toolkit::VideoView &) > *self,void (*func)(Dali::Toolkit::VideoView &)){
+          self->Disconnect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_void_Sp_Dali_Toolkit_VideoView_SA__SP__Sg__Emit(Dali::Signal< void (Dali::Toolkit::VideoView &) > *self,Dali::Toolkit::VideoView &arg){
+          /*@SWIG:SWIG/signals.i,185,NO_RETURN_FUNC@*/;
+/*@SWIG@*/ self->Emit( arg );
+      }
+SWIGINTERN bool Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Slider_Sc_float_SP__Sg__Empty(Dali::Signal< bool (Dali::Toolkit::Slider,float) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Slider_Sc_float_SP__Sg__GetConnectionCount(Dali::Signal< bool (Dali::Toolkit::Slider,float) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Slider_Sc_float_SP__Sg__Connect(Dali::Signal< bool (Dali::Toolkit::Slider,float) > *self,bool (*func)(Dali::Toolkit::Slider,float)){
+        self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Slider_Sc_float_SP__Sg__Disconnect(Dali::Signal< bool (Dali::Toolkit::Slider,float) > *self,bool (*func)(Dali::Toolkit::Slider,float)){
+        self->Disconnect( func );
+      }
+SWIGINTERN bool Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Slider_Sc_float_SP__Sg__Emit(Dali::Signal< bool (Dali::Toolkit::Slider,float) > *self,Dali::Toolkit::Slider arg1,float arg2){
+        return self->Emit( arg1, arg2 );
+      }
+SWIGINTERN bool Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Slider_Sc_int_SP__Sg__Empty(Dali::Signal< bool (Dali::Toolkit::Slider,int) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Slider_Sc_int_SP__Sg__GetConnectionCount(Dali::Signal< bool (Dali::Toolkit::Slider,int) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Slider_Sc_int_SP__Sg__Connect(Dali::Signal< bool (Dali::Toolkit::Slider,int) > *self,bool (*func)(Dali::Toolkit::Slider,int)){
+        self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Slider_Sc_int_SP__Sg__Disconnect(Dali::Signal< bool (Dali::Toolkit::Slider,int) > *self,bool (*func)(Dali::Toolkit::Slider,int)){
+        self->Disconnect( func );
+      }
+SWIGINTERN bool Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Slider_Sc_int_SP__Sg__Emit(Dali::Signal< bool (Dali::Toolkit::Slider,int) > *self,Dali::Toolkit::Slider arg1,int arg2){
+        return self->Emit( arg1, arg2 );
+      }
+
+
+/* ---------------------------------------------------
+ * C++ director class methods
+ * --------------------------------------------------- */
+
+#include "dali_wrap.h"
+
+SwigDirector_ViewImpl::SwigDirector_ViewImpl(Dali::Toolkit::Internal::Control::ControlBehaviour behaviourFlags) : Dali::Toolkit::Internal::Control(behaviourFlags), Swig::Director() {
+  swig_init_callbacks();
+}
+
+SwigDirector_ViewImpl::~SwigDirector_ViewImpl() {
+  
+}
+
+
+void SwigDirector_ViewImpl::OnStageConnection(int depth) {
+  int jdepth  ;
+  
+  if (!swig_callbackOnStageConnection) {
+    Dali::Toolkit::Internal::Control::OnStageConnection(depth);
+    return;
+  } else {
+    jdepth = depth;
+    swig_callbackOnStageConnection(jdepth);
+  }
+}
+
+void SwigDirector_ViewImpl::OnStageDisconnection() {
+  if (!swig_callbackOnStageDisconnection) {
+    Dali::Toolkit::Internal::Control::OnStageDisconnection();
+    return;
+  } else {
+    swig_callbackOnStageDisconnection();
+  }
+}
+
+void SwigDirector_ViewImpl::OnChildAdd(Dali::Actor &child) {
+  void * jchild = 0 ;
+  
+  if (!swig_callbackOnChildAdd) {
+    Dali::Toolkit::Internal::Control::OnChildAdd(child);
+    return;
+  } else {
+    jchild = (Dali::Actor *) &child; 
+    swig_callbackOnChildAdd(jchild);
+  }
+}
+
+void SwigDirector_ViewImpl::OnChildRemove(Dali::Actor &child) {
+  void * jchild = 0 ;
+  
+  if (!swig_callbackOnChildRemove) {
+    Dali::Toolkit::Internal::Control::OnChildRemove(child);
+    return;
+  } else {
+    jchild = (Dali::Actor *) &child; 
+    swig_callbackOnChildRemove(jchild);
+  }
+}
+
+void SwigDirector_ViewImpl::OnPropertySet(Dali::Property::Index index, Dali::Property::Value propertyValue) {
+  int jindex  ;
+  void * jpropertyValue  ;
+  
+  if (!swig_callbackOnPropertySet) {
+    Dali::Toolkit::Internal::Control::OnPropertySet(index,propertyValue);
+    return;
+  } else {
+    jindex = index;
+    jpropertyValue = (void *)new Dali::Property::Value((const Dali::Property::Value &)propertyValue); 
+    swig_callbackOnPropertySet(jindex, jpropertyValue);
+  }
+}
+
+void SwigDirector_ViewImpl::OnSizeSet(Dali::Vector3 const &targetSize) {
+  void * jtargetSize = 0 ;
+  
+  if (!swig_callbackOnSizeSet) {
+    Dali::Toolkit::Internal::Control::OnSizeSet(targetSize);
+    return;
+  } else {
+    jtargetSize = (Dali::Vector3 *) &targetSize; 
+    swig_callbackOnSizeSet(jtargetSize);
+  }
+}
+
+void SwigDirector_ViewImpl::OnSizeAnimation(Dali::Animation &animation, Dali::Vector3 const &targetSize) {
+  void * janimation = 0 ;
+  void * jtargetSize = 0 ;
+  
+  if (!swig_callbackOnSizeAnimation) {
+    Dali::Toolkit::Internal::Control::OnSizeAnimation(animation,targetSize);
+    return;
+  } else {
+    janimation = (Dali::Animation *) &animation; 
+    jtargetSize = (Dali::Vector3 *) &targetSize; 
+    swig_callbackOnSizeAnimation(janimation, jtargetSize);
+  }
+}
+
+bool SwigDirector_ViewImpl::OnTouchEvent(Dali::TouchEvent const &event) {
+  bool c_result = SwigValueInit< bool >() ;
+  unsigned int jresult = 0 ;
+  void * jarg0 = 0 ;
+  
+  if (!swig_callbackOnTouchEvent) {
+    return Dali::Toolkit::Internal::Control::OnTouchEvent(event);
+  } else {
+    jarg0 = (Dali::TouchEvent *) &event; 
+    jresult = (unsigned int) swig_callbackOnTouchEvent(jarg0);
+    c_result = jresult ? true : false; 
+  }
+  return c_result;
+}
+
+bool SwigDirector_ViewImpl::OnHoverEvent(Dali::HoverEvent const &event) {
+  bool c_result = SwigValueInit< bool >() ;
+  unsigned int jresult = 0 ;
+  void * jarg0 = 0 ;
+  
+  if (!swig_callbackOnHoverEvent) {
+    return Dali::Toolkit::Internal::Control::OnHoverEvent(event);
+  } else {
+    jarg0 = (Dali::HoverEvent *) &event; 
+    jresult = (unsigned int) swig_callbackOnHoverEvent(jarg0);
+    c_result = jresult ? true : false; 
+  }
+  return c_result;
+}
+
+bool SwigDirector_ViewImpl::OnKeyEvent(Dali::KeyEvent const &event) {
+  bool c_result = SwigValueInit< bool >() ;
+  unsigned int jresult = 0 ;
+  void * jarg0 = 0 ;
+  
+  if (!swig_callbackOnKeyEvent) {
+    return Dali::Toolkit::Internal::Control::OnKeyEvent(event);
+  } else {
+    jarg0 = (Dali::KeyEvent *) &event; 
+    jresult = (unsigned int) swig_callbackOnKeyEvent(jarg0);
+    c_result = jresult ? true : false; 
+  }
+  return c_result;
+}
+
+bool SwigDirector_ViewImpl::OnWheelEvent(Dali::WheelEvent const &event) {
+  bool c_result = SwigValueInit< bool >() ;
+  unsigned int jresult = 0 ;
+  void * jarg0 = 0 ;
+  
+  if (!swig_callbackOnWheelEvent) {
+    return Dali::Toolkit::Internal::Control::OnWheelEvent(event);
+  } else {
+    jarg0 = (Dali::WheelEvent *) &event; 
+    jresult = (unsigned int) swig_callbackOnWheelEvent(jarg0);
+    c_result = jresult ? true : false; 
+  }
+  return c_result;
+}
+
+void SwigDirector_ViewImpl::OnRelayout(Dali::Vector2 const &size, Dali::RelayoutContainer &container) {
+  void * jsize = 0 ;
+  void * jcontainer = 0 ;
+  
+  if (!swig_callbackOnRelayout) {
+    Dali::Toolkit::Internal::Control::OnRelayout(size,container);
+    return;
+  } else {
+    jsize = (Dali::Vector2 *) &size; 
+    jcontainer = (Dali::RelayoutContainer *) &container; 
+    swig_callbackOnRelayout(jsize, jcontainer);
+  }
+}
+
+void SwigDirector_ViewImpl::OnSetResizePolicy(Dali::ResizePolicy::Type policy, Dali::Dimension::Type dimension) {
+  int jpolicy  ;
+  int jdimension  ;
+  
+  if (!swig_callbackOnSetResizePolicy) {
+    Dali::Toolkit::Internal::Control::OnSetResizePolicy(policy,dimension);
+    return;
+  } else {
+    jpolicy = (int)policy;
+    jdimension = (int)dimension;
+    swig_callbackOnSetResizePolicy(jpolicy, jdimension);
+  }
+}
+
+Dali::Vector3 SwigDirector_ViewImpl::GetNaturalSize() {
+  Dali::Vector3 c_result ;
+  void * jresult = 0 ;
+  
+  if (!swig_callbackGetNaturalSize) {
+    return Dali::Toolkit::Internal::Control::GetNaturalSize();
+  } else {
+    jresult = (void *) swig_callbackGetNaturalSize();
+    if (!jresult) {
+      SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Unexpected null return for type Dali::Vector3", 0);
+      return c_result;
+    }
+    c_result = *(Dali::Vector3 *)jresult; 
+  }
+  return c_result;
+}
+
+float SwigDirector_ViewImpl::CalculateChildSize(Dali::Actor const &child, Dali::Dimension::Type dimension) {
+  float c_result = SwigValueInit< float >() ;
+  float jresult = 0 ;
+  void * jchild = 0 ;
+  int jdimension  ;
+  
+  if (!swig_callbackCalculateChildSize) {
+    return Dali::Toolkit::Internal::Control::CalculateChildSize(child,dimension);
+  } else {
+    jchild = (Dali::Actor *) &child; 
+    jdimension = (int)dimension;
+    jresult = (float) swig_callbackCalculateChildSize(jchild, jdimension);
+    c_result = (float)jresult; 
+  }
+  return c_result;
+}
+
+float SwigDirector_ViewImpl::GetHeightForWidth(float width) {
+  float c_result = SwigValueInit< float >() ;
+  float jresult = 0 ;
+  float jwidth  ;
+  
+  if (!swig_callbackGetHeightForWidth) {
+    return Dali::Toolkit::Internal::Control::GetHeightForWidth(width);
+  } else {
+    jwidth = width;
+    jresult = (float) swig_callbackGetHeightForWidth(jwidth);
+    c_result = (float)jresult; 
+  }
+  return c_result;
+}
+
+float SwigDirector_ViewImpl::GetWidthForHeight(float height) {
+  float c_result = SwigValueInit< float >() ;
+  float jresult = 0 ;
+  float jheight  ;
+  
+  if (!swig_callbackGetWidthForHeight) {
+    return Dali::Toolkit::Internal::Control::GetWidthForHeight(height);
+  } else {
+    jheight = height;
+    jresult = (float) swig_callbackGetWidthForHeight(jheight);
+    c_result = (float)jresult; 
+  }
+  return c_result;
+}
+
+bool SwigDirector_ViewImpl::RelayoutDependentOnChildren(Dali::Dimension::Type dimension) {
+  bool c_result = SwigValueInit< bool >() ;
+  unsigned int jresult = 0 ;
+  int jdimension  ;
+  
+  if (!swig_callbackRelayoutDependentOnChildren__SWIG_0) {
+    return Dali::Toolkit::Internal::Control::RelayoutDependentOnChildren(dimension);
+  } else {
+    jdimension = (int)dimension;
+    jresult = (unsigned int) swig_callbackRelayoutDependentOnChildren__SWIG_0(jdimension);
+    c_result = jresult ? true : false; 
+  }
+  return c_result;
+}
+
+void SwigDirector_ViewImpl::OnCalculateRelayoutSize(Dali::Dimension::Type dimension) {
+  int jdimension  ;
+  
+  if (!swig_callbackOnCalculateRelayoutSize) {
+    Dali::Toolkit::Internal::Control::OnCalculateRelayoutSize(dimension);
+    return;
+  } else {
+    jdimension = (int)dimension;
+    swig_callbackOnCalculateRelayoutSize(jdimension);
+  }
+}
+
+void SwigDirector_ViewImpl::OnLayoutNegotiated(float size, Dali::Dimension::Type dimension) {
+  float jsize  ;
+  int jdimension  ;
+  
+  if (!swig_callbackOnLayoutNegotiated) {
+    Dali::Toolkit::Internal::Control::OnLayoutNegotiated(size,dimension);
+    return;
+  } else {
+    jsize = size;
+    jdimension = (int)dimension;
+    swig_callbackOnLayoutNegotiated(jsize, jdimension);
+  }
+}
+
+Dali::CustomActorImpl::Extension *SwigDirector_ViewImpl::GetExtension() {
+  return Dali::CustomActorImpl::GetExtension();
+}
+
+void SwigDirector_ViewImpl::OnInitialize() {
+  if (!swig_callbackOnInitialize) {
+    Dali::Toolkit::Internal::Control::OnInitialize();
+    return;
+  } else {
+    swig_callbackOnInitialize();
+  }
+}
+
+void SwigDirector_ViewImpl::OnControlChildAdd(Dali::Actor &child) {
+  void * jchild = 0 ;
+  
+  if (!swig_callbackOnControlChildAdd) {
+    Dali::Toolkit::Internal::Control::OnControlChildAdd(child);
+    return;
+  } else {
+    jchild = (Dali::Actor *) &child; 
+    swig_callbackOnControlChildAdd(jchild);
+  }
+}
+
+void SwigDirector_ViewImpl::OnControlChildRemove(Dali::Actor &child) {
+  void * jchild = 0 ;
+  
+  if (!swig_callbackOnControlChildRemove) {
+    Dali::Toolkit::Internal::Control::OnControlChildRemove(child);
+    return;
+  } else {
+    jchild = (Dali::Actor *) &child; 
+    swig_callbackOnControlChildRemove(jchild);
+  }
+}
+
+void SwigDirector_ViewImpl::OnStyleChange(Dali::Toolkit::StyleManager styleManager, Dali::StyleChange::Type change) {
+  void * jstyleManager  ;
+  int jchange  ;
+  
+  if (!swig_callbackOnStyleChange) {
+    Dali::Toolkit::Internal::Control::OnStyleChange(styleManager,change);
+    return;
+  } else {
+    jstyleManager = (void *)new Dali::Toolkit::StyleManager((const Dali::Toolkit::StyleManager &)styleManager); 
+    jchange = (int)change;
+    swig_callbackOnStyleChange(jstyleManager, jchange);
+  }
+}
+
+bool SwigDirector_ViewImpl::OnAccessibilityActivated() {
+  bool c_result = SwigValueInit< bool >() ;
+  unsigned int jresult = 0 ;
+  
+  if (!swig_callbackOnAccessibilityActivated) {
+    return Dali::Toolkit::Internal::Control::OnAccessibilityActivated();
+  } else {
+    jresult = (unsigned int) swig_callbackOnAccessibilityActivated();
+    c_result = jresult ? true : false; 
+  }
+  return c_result;
+}
+
+bool SwigDirector_ViewImpl::OnAccessibilityPan(Dali::PanGesture gesture) {
+  bool c_result = SwigValueInit< bool >() ;
+  unsigned int jresult = 0 ;
+  void * jgesture  ;
+  
+  if (!swig_callbackOnAccessibilityPan) {
+    return Dali::Toolkit::Internal::Control::OnAccessibilityPan(gesture);
+  } else {
+    jgesture = (void *)new Dali::PanGesture((const Dali::PanGesture &)gesture); 
+    jresult = (unsigned int) swig_callbackOnAccessibilityPan(jgesture);
+    c_result = jresult ? true : false; 
+  }
+  return c_result;
+}
+
+bool SwigDirector_ViewImpl::OnAccessibilityTouch(Dali::TouchEvent const &touchEvent) {
+  bool c_result = SwigValueInit< bool >() ;
+  unsigned int jresult = 0 ;
+  void * jtouchEvent = 0 ;
+  
+  if (!swig_callbackOnAccessibilityTouch) {
+    return Dali::Toolkit::Internal::Control::OnAccessibilityTouch(touchEvent);
+  } else {
+    jtouchEvent = (Dali::TouchEvent *) &touchEvent; 
+    jresult = (unsigned int) swig_callbackOnAccessibilityTouch(jtouchEvent);
+    c_result = jresult ? true : false; 
+  }
+  return c_result;
+}
+
+bool SwigDirector_ViewImpl::OnAccessibilityValueChange(bool isIncrease) {
+  bool c_result = SwigValueInit< bool >() ;
+  unsigned int jresult = 0 ;
+  unsigned int jisIncrease  ;
+  
+  if (!swig_callbackOnAccessibilityValueChange) {
+    return Dali::Toolkit::Internal::Control::OnAccessibilityValueChange(isIncrease);
+  } else {
+    jisIncrease = isIncrease;
+    jresult = (unsigned int) swig_callbackOnAccessibilityValueChange(jisIncrease);
+    c_result = jresult ? true : false; 
+  }
+  return c_result;
+}
+
+bool SwigDirector_ViewImpl::OnAccessibilityZoom() {
+  bool c_result = SwigValueInit< bool >() ;
+  unsigned int jresult = 0 ;
+  
+  if (!swig_callbackOnAccessibilityZoom) {
+    return Dali::Toolkit::Internal::Control::OnAccessibilityZoom();
+  } else {
+    jresult = (unsigned int) swig_callbackOnAccessibilityZoom();
+    c_result = jresult ? true : false; 
+  }
+  return c_result;
+}
+
+void SwigDirector_ViewImpl::OnKeyInputFocusGained() {
+  if (!swig_callbackOnKeyInputFocusGained) {
+    Dali::Toolkit::Internal::Control::OnKeyInputFocusGained();
+    return;
+  } else {
+    swig_callbackOnKeyInputFocusGained();
+  }
+}
+
+void SwigDirector_ViewImpl::OnKeyInputFocusLost() {
+  if (!swig_callbackOnKeyInputFocusLost) {
+    Dali::Toolkit::Internal::Control::OnKeyInputFocusLost();
+    return;
+  } else {
+    swig_callbackOnKeyInputFocusLost();
+  }
+}
+
+Dali::Actor SwigDirector_ViewImpl::GetNextKeyboardFocusableActor(Dali::Actor currentFocusedActor, Dali::Toolkit::Control::KeyboardFocus::Direction direction, bool loopEnabled) {
+  Dali::Actor c_result ;
+  void * jresult = 0 ;
+  void * jcurrentFocusedActor  ;
+  int jdirection  ;
+  unsigned int jloopEnabled  ;
+  
+  if (!swig_callbackGetNextKeyboardFocusableActor) {
+    return Dali::Toolkit::Internal::Control::GetNextKeyboardFocusableActor(currentFocusedActor,direction,loopEnabled);
+  } else {
+    jcurrentFocusedActor = (void *)new Dali::Actor((const Dali::Actor &)currentFocusedActor); 
+    jdirection = (int)direction;
+    jloopEnabled = loopEnabled;
+    jresult = (void *) swig_callbackGetNextKeyboardFocusableActor(jcurrentFocusedActor, jdirection, jloopEnabled);
+    if (!jresult) {
+      SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Unexpected null return for type Dali::Actor", 0);
+      return c_result;
+    }
+    c_result = *(Dali::Actor *)jresult; 
+  }
+  return c_result;
+}
+
+void SwigDirector_ViewImpl::OnKeyboardFocusChangeCommitted(Dali::Actor commitedFocusableActor) {
+  void * jcommitedFocusableActor  ;
+  
+  if (!swig_callbackOnKeyboardFocusChangeCommitted) {
+    Dali::Toolkit::Internal::Control::OnKeyboardFocusChangeCommitted(commitedFocusableActor);
+    return;
+  } else {
+    jcommitedFocusableActor = (void *)new Dali::Actor((const Dali::Actor &)commitedFocusableActor); 
+    swig_callbackOnKeyboardFocusChangeCommitted(jcommitedFocusableActor);
+  }
+}
+
+bool SwigDirector_ViewImpl::OnKeyboardEnter() {
+  bool c_result = SwigValueInit< bool >() ;
+  unsigned int jresult = 0 ;
+  
+  if (!swig_callbackOnKeyboardEnter) {
+    return Dali::Toolkit::Internal::Control::OnKeyboardEnter();
+  } else {
+    jresult = (unsigned int) swig_callbackOnKeyboardEnter();
+    c_result = jresult ? true : false; 
+  }
+  return c_result;
+}
+
+void SwigDirector_ViewImpl::OnPinch(Dali::PinchGesture const &pinch) {
+  void * jpinch = 0 ;
+  
+  if (!swig_callbackOnPinch) {
+    Dali::Toolkit::Internal::Control::OnPinch(pinch);
+    return;
+  } else {
+    jpinch = (Dali::PinchGesture *) &pinch; 
+    swig_callbackOnPinch(jpinch);
+  }
+}
+
+void SwigDirector_ViewImpl::OnPan(Dali::PanGesture const &pan) {
+  void * jpan = 0 ;
+  
+  if (!swig_callbackOnPan) {
+    Dali::Toolkit::Internal::Control::OnPan(pan);
+    return;
+  } else {
+    jpan = (Dali::PanGesture *) &pan; 
+    swig_callbackOnPan(jpan);
+  }
+}
+
+void SwigDirector_ViewImpl::OnTap(Dali::TapGesture const &tap) {
+  void * jtap = 0 ;
+  
+  if (!swig_callbackOnTap) {
+    Dali::Toolkit::Internal::Control::OnTap(tap);
+    return;
+  } else {
+    jtap = (Dali::TapGesture *) &tap; 
+    swig_callbackOnTap(jtap);
+  }
+}
+
+void SwigDirector_ViewImpl::OnLongPress(Dali::LongPressGesture const &longPress) {
+  void * jlongPress = 0 ;
+  
+  if (!swig_callbackOnLongPress) {
+    Dali::Toolkit::Internal::Control::OnLongPress(longPress);
+    return;
+  } else {
+    jlongPress = (Dali::LongPressGesture *) &longPress; 
+    swig_callbackOnLongPress(jlongPress);
+  }
+}
+
+void SwigDirector_ViewImpl::SignalConnected(Dali::SlotObserver *slotObserver, Dali::CallbackBase *callback) {
+  void * jslotObserver = 0 ;
+  void * jcallback = 0 ;
+  
+  if (!swig_callbackSignalConnected) {
+    Dali::Toolkit::Internal::Control::SignalConnected(slotObserver,callback);
+    return;
+  } else {
+    jslotObserver = (void *) slotObserver; 
+    jcallback = (void *) callback; 
+    swig_callbackSignalConnected(jslotObserver, jcallback);
+  }
+}
+
+void SwigDirector_ViewImpl::SignalDisconnected(Dali::SlotObserver *slotObserver, Dali::CallbackBase *callback) {
+  void * jslotObserver = 0 ;
+  void * jcallback = 0 ;
+  
+  if (!swig_callbackSignalDisconnected) {
+    Dali::Toolkit::Internal::Control::SignalDisconnected(slotObserver,callback);
+    return;
+  } else {
+    jslotObserver = (void *) slotObserver; 
+    jcallback = (void *) callback; 
+    swig_callbackSignalDisconnected(jslotObserver, jcallback);
+  }
+}
+
+Dali::Toolkit::Internal::Control::Extension *SwigDirector_ViewImpl::GetControlExtension() {
+  return Dali::Toolkit::Internal::Control::GetControlExtension();
+}
+
+void SwigDirector_ViewImpl::swig_connect_director(SWIG_Callback0_t callbackOnStageConnection, SWIG_Callback1_t callbackOnStageDisconnection, SWIG_Callback2_t callbackOnChildAdd, SWIG_Callback3_t callbackOnChildRemove, SWIG_Callback4_t callbackOnPropertySet, SWIG_Callback5_t callbackOnSizeSet, SWIG_Callback6_t callbackOnSizeAnimation, SWIG_Callback7_t callbackOnTouchEvent, SWIG_Callback8_t callbackOnHoverEvent, SWIG_Callback9_t callbackOnKeyEvent, SWIG_Callback10_t callbackOnWheelEvent, SWIG_Callback11_t callbackOnRelayout, SWIG_Callback12_t callbackOnSetResizePolicy, SWIG_Callback13_t callbackGetNaturalSize, SWIG_Callback14_t callbackCalculateChildSize, SWIG_Callback15_t callbackGetHeightForWidth, SWIG_Callback16_t callbackGetWidthForHeight, SWIG_Callback17_t callbackRelayoutDependentOnChildren__SWIG_0, SWIG_Callback18_t callbackRelayoutDependentOnChildren__SWIG_1, SWIG_Callback19_t callbackOnCalculateRelayoutSize, SWIG_Callback20_t callbackOnLayoutNegotiated, SWIG_Callback21_t callbackOnInitialize, SWIG_Callback22_t callbackOnControlChildAdd, SWIG_Callback23_t callbackOnControlChildRemove, SWIG_Callback24_t callbackOnStyleChange, SWIG_Callback25_t callbackOnAccessibilityActivated, SWIG_Callback26_t callbackOnAccessibilityPan, SWIG_Callback27_t callbackOnAccessibilityTouch, SWIG_Callback28_t callbackOnAccessibilityValueChange, SWIG_Callback29_t callbackOnAccessibilityZoom, SWIG_Callback30_t callbackOnKeyInputFocusGained, SWIG_Callback31_t callbackOnKeyInputFocusLost, SWIG_Callback32_t callbackGetNextKeyboardFocusableActor, SWIG_Callback33_t callbackOnKeyboardFocusChangeCommitted, SWIG_Callback34_t callbackOnKeyboardEnter, SWIG_Callback35_t callbackOnPinch, SWIG_Callback36_t callbackOnPan, SWIG_Callback37_t callbackOnTap, SWIG_Callback38_t callbackOnLongPress, SWIG_Callback39_t callbackSignalConnected, SWIG_Callback40_t callbackSignalDisconnected) {
+  swig_callbackOnStageConnection = callbackOnStageConnection;
+  swig_callbackOnStageDisconnection = callbackOnStageDisconnection;
+  swig_callbackOnChildAdd = callbackOnChildAdd;
+  swig_callbackOnChildRemove = callbackOnChildRemove;
+  swig_callbackOnPropertySet = callbackOnPropertySet;
+  swig_callbackOnSizeSet = callbackOnSizeSet;
+  swig_callbackOnSizeAnimation = callbackOnSizeAnimation;
+  swig_callbackOnTouchEvent = callbackOnTouchEvent;
+  swig_callbackOnHoverEvent = callbackOnHoverEvent;
+  swig_callbackOnKeyEvent = callbackOnKeyEvent;
+  swig_callbackOnWheelEvent = callbackOnWheelEvent;
+  swig_callbackOnRelayout = callbackOnRelayout;
+  swig_callbackOnSetResizePolicy = callbackOnSetResizePolicy;
+  swig_callbackGetNaturalSize = callbackGetNaturalSize;
+  swig_callbackCalculateChildSize = callbackCalculateChildSize;
+  swig_callbackGetHeightForWidth = callbackGetHeightForWidth;
+  swig_callbackGetWidthForHeight = callbackGetWidthForHeight;
+  swig_callbackRelayoutDependentOnChildren__SWIG_0 = callbackRelayoutDependentOnChildren__SWIG_0;
+  swig_callbackRelayoutDependentOnChildren__SWIG_1 = callbackRelayoutDependentOnChildren__SWIG_1;
+  swig_callbackOnCalculateRelayoutSize = callbackOnCalculateRelayoutSize;
+  swig_callbackOnLayoutNegotiated = callbackOnLayoutNegotiated;
+  swig_callbackOnInitialize = callbackOnInitialize;
+  swig_callbackOnControlChildAdd = callbackOnControlChildAdd;
+  swig_callbackOnControlChildRemove = callbackOnControlChildRemove;
+  swig_callbackOnStyleChange = callbackOnStyleChange;
+  swig_callbackOnAccessibilityActivated = callbackOnAccessibilityActivated;
+  swig_callbackOnAccessibilityPan = callbackOnAccessibilityPan;
+  swig_callbackOnAccessibilityTouch = callbackOnAccessibilityTouch;
+  swig_callbackOnAccessibilityValueChange = callbackOnAccessibilityValueChange;
+  swig_callbackOnAccessibilityZoom = callbackOnAccessibilityZoom;
+  swig_callbackOnKeyInputFocusGained = callbackOnKeyInputFocusGained;
+  swig_callbackOnKeyInputFocusLost = callbackOnKeyInputFocusLost;
+  swig_callbackGetNextKeyboardFocusableActor = callbackGetNextKeyboardFocusableActor;
+  swig_callbackOnKeyboardFocusChangeCommitted = callbackOnKeyboardFocusChangeCommitted;
+  swig_callbackOnKeyboardEnter = callbackOnKeyboardEnter;
+  swig_callbackOnPinch = callbackOnPinch;
+  swig_callbackOnPan = callbackOnPan;
+  swig_callbackOnTap = callbackOnTap;
+  swig_callbackOnLongPress = callbackOnLongPress;
+  swig_callbackSignalConnected = callbackSignalConnected;
+  swig_callbackSignalDisconnected = callbackSignalDisconnected;
+}
+
+void SwigDirector_ViewImpl::swig_init_callbacks() {
+  swig_callbackOnStageConnection = 0;
+  swig_callbackOnStageDisconnection = 0;
+  swig_callbackOnChildAdd = 0;
+  swig_callbackOnChildRemove = 0;
+  swig_callbackOnPropertySet = 0;
+  swig_callbackOnSizeSet = 0;
+  swig_callbackOnSizeAnimation = 0;
+  swig_callbackOnTouchEvent = 0;
+  swig_callbackOnHoverEvent = 0;
+  swig_callbackOnKeyEvent = 0;
+  swig_callbackOnWheelEvent = 0;
+  swig_callbackOnRelayout = 0;
+  swig_callbackOnSetResizePolicy = 0;
+  swig_callbackGetNaturalSize = 0;
+  swig_callbackCalculateChildSize = 0;
+  swig_callbackGetHeightForWidth = 0;
+  swig_callbackGetWidthForHeight = 0;
+  swig_callbackRelayoutDependentOnChildren__SWIG_0 = 0;
+  swig_callbackRelayoutDependentOnChildren__SWIG_1 = 0;
+  swig_callbackOnCalculateRelayoutSize = 0;
+  swig_callbackOnLayoutNegotiated = 0;
+  swig_callbackOnInitialize = 0;
+  swig_callbackOnControlChildAdd = 0;
+  swig_callbackOnControlChildRemove = 0;
+  swig_callbackOnStyleChange = 0;
+  swig_callbackOnAccessibilityActivated = 0;
+  swig_callbackOnAccessibilityPan = 0;
+  swig_callbackOnAccessibilityTouch = 0;
+  swig_callbackOnAccessibilityValueChange = 0;
+  swig_callbackOnAccessibilityZoom = 0;
+  swig_callbackOnKeyInputFocusGained = 0;
+  swig_callbackOnKeyInputFocusLost = 0;
+  swig_callbackGetNextKeyboardFocusableActor = 0;
+  swig_callbackOnKeyboardFocusChangeCommitted = 0;
+  swig_callbackOnKeyboardEnter = 0;
+  swig_callbackOnPinch = 0;
+  swig_callbackOnPan = 0;
+  swig_callbackOnTap = 0;
+  swig_callbackOnLongPress = 0;
+  swig_callbackSignalConnected = 0;
+  swig_callbackSignalDisconnected = 0;
+}
+
+SwigDirector_ItemFactory::SwigDirector_ItemFactory() : Dali::Toolkit::ItemFactory(), Swig::Director() {
+  swig_init_callbacks();
+}
+
+SwigDirector_ItemFactory::~SwigDirector_ItemFactory() {
+  
+}
+
+
+unsigned int SwigDirector_ItemFactory::GetNumberOfItems() {
+  unsigned int c_result = SwigValueInit< unsigned int >() ;
+  unsigned int jresult = 0 ;
+  
+  if (!swig_callbackGetNumberOfItems) {
+    throw Swig::DirectorPureVirtualException("Dali::Toolkit::ItemFactory::GetNumberOfItems");
+  } else {
+    jresult = (unsigned int) swig_callbackGetNumberOfItems();
+    c_result = (unsigned int)jresult; 
+  }
+  return c_result;
+}
+
+Dali::Actor SwigDirector_ItemFactory::NewItem(unsigned int itemId) {
+  Dali::Actor c_result ;
+  void * jresult = 0 ;
+  unsigned int jitemId  ;
+  
+  if (!swig_callbackNewItem) {
+    throw Swig::DirectorPureVirtualException("Dali::Toolkit::ItemFactory::NewItem");
+  } else {
+    jitemId = itemId;
+    jresult = (void *) swig_callbackNewItem(jitemId);
+    if (!jresult) {
+      SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Unexpected null return for type Dali::Actor", 0);
+      return c_result;
+    }
+    c_result = *(Dali::Actor *)jresult; 
+  }
+  return c_result;
+}
+
+void SwigDirector_ItemFactory::ItemReleased(unsigned int itemId, Dali::Actor actor) {
+  unsigned int jitemId  ;
+  void * jactor  ;
+  
+  if (!swig_callbackItemReleased) {
+    Dali::Toolkit::ItemFactory::ItemReleased(itemId,actor);
+    return;
+  } else {
+    jitemId = itemId;
+    jactor = (void *)new Dali::Actor((const Dali::Actor &)actor); 
+    swig_callbackItemReleased(jitemId, jactor);
+  }
+}
+
+Dali::Toolkit::ItemFactory::Extension *SwigDirector_ItemFactory::GetExtension() {
+  return Dali::Toolkit::ItemFactory::GetExtension();
+}
+
+void SwigDirector_ItemFactory::swig_connect_director(SWIG_Callback0_t callbackGetNumberOfItems, SWIG_Callback1_t callbackNewItem, SWIG_Callback2_t callbackItemReleased) {
+  swig_callbackGetNumberOfItems = callbackGetNumberOfItems;
+  swig_callbackNewItem = callbackNewItem;
+  swig_callbackItemReleased = callbackItemReleased;
+}
+
+void SwigDirector_ItemFactory::swig_init_callbacks() {
+  swig_callbackGetNumberOfItems = 0;
+  swig_callbackNewItem = 0;
+  swig_callbackItemReleased = 0;
+}
+
+SwigDirector_CustomAlgorithmInterface::SwigDirector_CustomAlgorithmInterface() : Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface(), Swig::Director() {
+  swig_init_callbacks();
+}
+
+SwigDirector_CustomAlgorithmInterface::~SwigDirector_CustomAlgorithmInterface() {
+  
+}
+
+
+Dali::Actor SwigDirector_CustomAlgorithmInterface::GetNextFocusableActor(Dali::Actor current, Dali::Actor proposed, Dali::Toolkit::Control::KeyboardFocus::Direction direction) {
+  Dali::Actor c_result ;
+  void * jresult = 0 ;
+  void * jcurrent  ;
+  void * jproposed  ;
+  int jdirection  ;
+  
+  if (!swig_callbackGetNextFocusableActor) {
+    throw Swig::DirectorPureVirtualException("Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface::GetNextFocusableActor");
+  } else {
+    jcurrent = (void *)new Dali::Actor((const Dali::Actor &)current); 
+    jproposed = (void *)new Dali::Actor((const Dali::Actor &)proposed); 
+    jdirection = (int)direction;
+    jresult = (void *) swig_callbackGetNextFocusableActor(jcurrent, jproposed, jdirection);
+    if (!jresult) {
+      SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Unexpected null return for type Dali::Actor", 0);
+      return c_result;
+    }
+    c_result = *(Dali::Actor *)jresult; 
+  }
+  return c_result;
+}
+
+void SwigDirector_CustomAlgorithmInterface::swig_connect_director(SWIG_Callback0_t callbackGetNextFocusableActor) {
+  swig_callbackGetNextFocusableActor = callbackGetNextFocusableActor;
+}
+
+void SwigDirector_CustomAlgorithmInterface::swig_init_callbacks() {
+  swig_callbackGetNextFocusableActor = 0;
+}
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_floatp() {
+  void * jresult ;
+  floatp *result = 0 ;
+  
+  {
+    try {
+      result = (floatp *)new_floatp();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_floatp(void * jarg1) {
+  floatp *arg1 = (floatp *) 0 ;
+  
+  arg1 = (floatp *)jarg1; 
+  {
+    try {
+      delete_floatp(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_floatp_assign(void * jarg1, float jarg2) {
+  floatp *arg1 = (floatp *) 0 ;
+  float arg2 ;
+  
+  arg1 = (floatp *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      floatp_assign(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_floatp_value(void * jarg1) {
+  float jresult ;
+  floatp *arg1 = (floatp *) 0 ;
+  float result;
+  
+  arg1 = (floatp *)jarg1; 
+  {
+    try {
+      result = (float)floatp_value(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_floatp_cast(void * jarg1) {
+  void * jresult ;
+  floatp *arg1 = (floatp *) 0 ;
+  float *result = 0 ;
+  
+  arg1 = (floatp *)jarg1; 
+  {
+    try {
+      result = (float *)floatp_cast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_floatp_frompointer(void * jarg1) {
+  void * jresult ;
+  float *arg1 = (float *) 0 ;
+  floatp *result = 0 ;
+  
+  arg1 = (float *)jarg1; 
+  {
+    try {
+      result = (floatp *)floatp_frompointer(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_intp() {
+  void * jresult ;
+  intp *result = 0 ;
+  
+  {
+    try {
+      result = (intp *)new_intp();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_intp(void * jarg1) {
+  intp *arg1 = (intp *) 0 ;
+  
+  arg1 = (intp *)jarg1; 
+  {
+    try {
+      delete_intp(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_intp_assign(void * jarg1, int jarg2) {
+  intp *arg1 = (intp *) 0 ;
+  int arg2 ;
+  
+  arg1 = (intp *)jarg1; 
+  arg2 = (int)jarg2; 
+  {
+    try {
+      intp_assign(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_intp_value(void * jarg1) {
+  int jresult ;
+  intp *arg1 = (intp *) 0 ;
+  int result;
+  
+  arg1 = (intp *)jarg1; 
+  {
+    try {
+      result = (int)intp_value(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_intp_cast(void * jarg1) {
+  void * jresult ;
+  intp *arg1 = (intp *) 0 ;
+  int *result = 0 ;
+  
+  arg1 = (intp *)jarg1; 
+  {
+    try {
+      result = (int *)intp_cast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_intp_frompointer(void * jarg1) {
+  void * jresult ;
+  int *arg1 = (int *) 0 ;
+  intp *result = 0 ;
+  
+  arg1 = (int *)jarg1; 
+  {
+    try {
+      result = (intp *)intp_frompointer(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_doublep() {
+  void * jresult ;
+  doublep *result = 0 ;
+  
+  {
+    try {
+      result = (doublep *)new_doublep();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_doublep(void * jarg1) {
+  doublep *arg1 = (doublep *) 0 ;
+  
+  arg1 = (doublep *)jarg1; 
+  {
+    try {
+      delete_doublep(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_doublep_assign(void * jarg1, double jarg2) {
+  doublep *arg1 = (doublep *) 0 ;
+  double arg2 ;
+  
+  arg1 = (doublep *)jarg1; 
+  arg2 = (double)jarg2; 
+  {
+    try {
+      doublep_assign(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT double SWIGSTDCALL CSharp_Dali_doublep_value(void * jarg1) {
+  double jresult ;
+  doublep *arg1 = (doublep *) 0 ;
+  double result;
+  
+  arg1 = (doublep *)jarg1; 
+  {
+    try {
+      result = (double)doublep_value(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_doublep_cast(void * jarg1) {
+  void * jresult ;
+  doublep *arg1 = (doublep *) 0 ;
+  double *result = 0 ;
+  
+  arg1 = (doublep *)jarg1; 
+  {
+    try {
+      result = (double *)doublep_cast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_doublep_frompointer(void * jarg1) {
+  void * jresult ;
+  double *arg1 = (double *) 0 ;
+  doublep *result = 0 ;
+  
+  arg1 = (double *)jarg1; 
+  {
+    try {
+      result = (doublep *)doublep_frompointer(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_uintp() {
+  void * jresult ;
+  uintp *result = 0 ;
+  
+  {
+    try {
+      result = (uintp *)new_uintp();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_uintp(void * jarg1) {
+  uintp *arg1 = (uintp *) 0 ;
+  
+  arg1 = (uintp *)jarg1; 
+  {
+    try {
+      delete_uintp(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_uintp_assign(void * jarg1, unsigned int jarg2) {
+  uintp *arg1 = (uintp *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (uintp *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      uintp_assign(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_uintp_value(void * jarg1) {
+  unsigned int jresult ;
+  uintp *arg1 = (uintp *) 0 ;
+  unsigned int result;
+  
+  arg1 = (uintp *)jarg1; 
+  {
+    try {
+      result = (unsigned int)uintp_value(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_uintp_cast(void * jarg1) {
+  void * jresult ;
+  uintp *arg1 = (uintp *) 0 ;
+  unsigned int *result = 0 ;
+  
+  arg1 = (uintp *)jarg1; 
+  {
+    try {
+      result = (unsigned int *)uintp_cast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_uintp_frompointer(void * jarg1) {
+  void * jresult ;
+  unsigned int *arg1 = (unsigned int *) 0 ;
+  uintp *result = 0 ;
+  
+  arg1 = (unsigned int *)jarg1; 
+  {
+    try {
+      result = (uintp *)uintp_frompointer(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ushortp() {
+  void * jresult ;
+  ushortp *result = 0 ;
+  
+  {
+    try {
+      result = (ushortp *)new_ushortp();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ushortp(void * jarg1) {
+  ushortp *arg1 = (ushortp *) 0 ;
+  
+  arg1 = (ushortp *)jarg1; 
+  {
+    try {
+      delete_ushortp(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ushortp_assign(void * jarg1, unsigned short jarg2) {
+  ushortp *arg1 = (ushortp *) 0 ;
+  unsigned short arg2 ;
+  
+  arg1 = (ushortp *)jarg1; 
+  arg2 = (unsigned short)jarg2; 
+  {
+    try {
+      ushortp_assign(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned short SWIGSTDCALL CSharp_Dali_ushortp_value(void * jarg1) {
+  unsigned short jresult ;
+  ushortp *arg1 = (ushortp *) 0 ;
+  unsigned short result;
+  
+  arg1 = (ushortp *)jarg1; 
+  {
+    try {
+      result = (unsigned short)ushortp_value(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ushortp_cast(void * jarg1) {
+  void * jresult ;
+  ushortp *arg1 = (ushortp *) 0 ;
+  unsigned short *result = 0 ;
+  
+  arg1 = (ushortp *)jarg1; 
+  {
+    try {
+      result = (unsigned short *)ushortp_cast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ushortp_frompointer(void * jarg1) {
+  void * jresult ;
+  unsigned short *arg1 = (unsigned short *) 0 ;
+  ushortp *result = 0 ;
+  
+  arg1 = (unsigned short *)jarg1; 
+  {
+    try {
+      result = (ushortp *)ushortp_frompointer(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_int_to_uint(int jarg1) {
+  unsigned int jresult ;
+  int arg1 ;
+  unsigned int result;
+  
+  arg1 = (int)jarg1; 
+  {
+    try {
+      result = (unsigned int)int_to_uint(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RefObject_Reference(void * jarg1) {
+  Dali::RefObject *arg1 = (Dali::RefObject *) 0 ;
+  
+  arg1 = (Dali::RefObject *)jarg1; 
+  {
+    try {
+      (arg1)->Reference();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RefObject_Unreference(void * jarg1) {
+  Dali::RefObject *arg1 = (Dali::RefObject *) 0 ;
+  
+  arg1 = (Dali::RefObject *)jarg1; 
+  {
+    try {
+      (arg1)->Unreference();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RefObject_ReferenceCount(void * jarg1) {
+  int jresult ;
+  Dali::RefObject *arg1 = (Dali::RefObject *) 0 ;
+  int result;
+  
+  arg1 = (Dali::RefObject *)jarg1; 
+  {
+    try {
+      result = (int)(arg1)->ReferenceCount();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Any__SWIG_0() {
+  void * jresult ;
+  Dali::Any *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Any *)new Dali::Any();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Any(void * jarg1) {
+  Dali::Any *arg1 = (Dali::Any *) 0 ;
+  
+  arg1 = (Dali::Any *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Any_AssertAlways(char * jarg1) {
+  char *arg1 = (char *) 0 ;
+  
+  arg1 = (char *)jarg1; 
+  {
+    try {
+      Dali::Any::AssertAlways((char const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Any__SWIG_2(void * jarg1) {
+  void * jresult ;
+  Dali::Any *arg1 = 0 ;
+  Dali::Any *result = 0 ;
+  
+  arg1 = (Dali::Any *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Any const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Any *)new Dali::Any((Dali::Any const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Any_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Any *arg1 = (Dali::Any *) 0 ;
+  Dali::Any *arg2 = 0 ;
+  Dali::Any *result = 0 ;
+  
+  arg1 = (Dali::Any *)jarg1; 
+  arg2 = (Dali::Any *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Any const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Any *) &(arg1)->operator =((Dali::Any const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Any_GetType(void * jarg1) {
+  void * jresult ;
+  Dali::Any *arg1 = (Dali::Any *) 0 ;
+  std::type_info *result = 0 ;
+  
+  arg1 = (Dali::Any *)jarg1; 
+  {
+    try {
+      result = (std::type_info *) &((Dali::Any const *)arg1)->GetType();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Any_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Any *arg1 = (Dali::Any *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Any *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Any const *)arg1)->Empty();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Any_AnyContainerBase(void * jarg1, void * jarg2, void * jarg3) {
+  void * jresult ;
+  std::type_info *arg1 = 0 ;
+  Dali::Any::CloneFunc arg2 = (Dali::Any::CloneFunc) 0 ;
+  Dali::Any::DeleteFunc arg3 = (Dali::Any::DeleteFunc) 0 ;
+  Dali::Any::AnyContainerBase *result = 0 ;
+  
+  arg1 = (std::type_info *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::type_info const & type is null", 0);
+    return 0;
+  } 
+  arg2 = (Dali::Any::CloneFunc)jarg2; 
+  arg3 = (Dali::Any::DeleteFunc)jarg3; 
+  {
+    try {
+      result = (Dali::Any::AnyContainerBase *)new Dali::Any::AnyContainerBase((std::type_info const &)*arg1,arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Any_AnyContainerBase_GetType(void * jarg1) {
+  void * jresult ;
+  Dali::Any::AnyContainerBase *arg1 = (Dali::Any::AnyContainerBase *) 0 ;
+  std::type_info *result = 0 ;
+  
+  arg1 = (Dali::Any::AnyContainerBase *)jarg1; 
+  {
+    try {
+      result = (std::type_info *) &((Dali::Any::AnyContainerBase const *)arg1)->GetType();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Any_AnyContainerBase_mType_get(void * jarg1) {
+  void * jresult ;
+  Dali::Any::AnyContainerBase *arg1 = (Dali::Any::AnyContainerBase *) 0 ;
+  ::std::type_info *result = 0 ;
+  
+  arg1 = (Dali::Any::AnyContainerBase *)jarg1; 
+  result = (::std::type_info *) &(::std::type_info const &) ((arg1)->mType);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Any_AnyContainerBase_mCloneFunc_set(void * jarg1, void * jarg2) {
+  Dali::Any::AnyContainerBase *arg1 = (Dali::Any::AnyContainerBase *) 0 ;
+  Dali::Any::CloneFunc arg2 = (Dali::Any::CloneFunc) 0 ;
+  
+  arg1 = (Dali::Any::AnyContainerBase *)jarg1; 
+  arg2 = (Dali::Any::CloneFunc)jarg2; 
+  if (arg1) (arg1)->mCloneFunc = arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Any_AnyContainerBase_mCloneFunc_get(void * jarg1) {
+  void * jresult ;
+  Dali::Any::AnyContainerBase *arg1 = (Dali::Any::AnyContainerBase *) 0 ;
+  Dali::Any::CloneFunc result;
+  
+  arg1 = (Dali::Any::AnyContainerBase *)jarg1; 
+  result = (Dali::Any::CloneFunc) ((arg1)->mCloneFunc);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Any_AnyContainerBase_mDeleteFunc_set(void * jarg1, void * jarg2) {
+  Dali::Any::AnyContainerBase *arg1 = (Dali::Any::AnyContainerBase *) 0 ;
+  Dali::Any::DeleteFunc arg2 = (Dali::Any::DeleteFunc) 0 ;
+  
+  arg1 = (Dali::Any::AnyContainerBase *)jarg1; 
+  arg2 = (Dali::Any::DeleteFunc)jarg2; 
+  if (arg1) (arg1)->mDeleteFunc = arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Any_AnyContainerBase_mDeleteFunc_get(void * jarg1) {
+  void * jresult ;
+  Dali::Any::AnyContainerBase *arg1 = (Dali::Any::AnyContainerBase *) 0 ;
+  Dali::Any::DeleteFunc result;
+  
+  arg1 = (Dali::Any::AnyContainerBase *)jarg1; 
+  result = (Dali::Any::DeleteFunc) ((arg1)->mDeleteFunc);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Any_AnyContainerBase(void * jarg1) {
+  Dali::Any::AnyContainerBase *arg1 = (Dali::Any::AnyContainerBase *) 0 ;
+  
+  arg1 = (Dali::Any::AnyContainerBase *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Any_mContainer_set(void * jarg1, void * jarg2) {
+  Dali::Any *arg1 = (Dali::Any *) 0 ;
+  Dali::Any::AnyContainerBase *arg2 = (Dali::Any::AnyContainerBase *) 0 ;
+  
+  arg1 = (Dali::Any *)jarg1; 
+  arg2 = (Dali::Any::AnyContainerBase *)jarg2; 
+  if (arg1) (arg1)->mContainer = arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Any_mContainer_get(void * jarg1) {
+  void * jresult ;
+  Dali::Any *arg1 = (Dali::Any *) 0 ;
+  Dali::Any::AnyContainerBase *result = 0 ;
+  
+  arg1 = (Dali::Any *)jarg1; 
+  result = (Dali::Any::AnyContainerBase *) ((arg1)->mContainer);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_DaliAssertMessage(char * jarg1, char * jarg2) {
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    try {
+      Dali::DaliAssertMessage((char const *)arg1,(char const *)arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_DaliException(char * jarg1, char * jarg2) {
+  void * jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  Dali::DaliException *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    try {
+      result = (Dali::DaliException *)new Dali::DaliException((char const *)arg1,(char const *)arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_DaliException_location_set(void * jarg1, char * jarg2) {
+  Dali::DaliException *arg1 = (Dali::DaliException *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (Dali::DaliException *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->location = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->location, (const char *)arg2);
+    } else {
+      arg1->location = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_DaliException_location_get(void * jarg1) {
+  char * jresult ;
+  Dali::DaliException *arg1 = (Dali::DaliException *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (Dali::DaliException *)jarg1; 
+  result = (char *) ((arg1)->location);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_DaliException_condition_set(void * jarg1, char * jarg2) {
+  Dali::DaliException *arg1 = (Dali::DaliException *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (Dali::DaliException *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->condition = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->condition, (const char *)arg2);
+    } else {
+      arg1->condition = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_DaliException_condition_get(void * jarg1) {
+  char * jresult ;
+  Dali::DaliException *arg1 = (Dali::DaliException *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (Dali::DaliException *)jarg1; 
+  result = (char *) ((arg1)->condition);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_DaliException(void * jarg1) {
+  Dali::DaliException *arg1 = (Dali::DaliException *) 0 ;
+  
+  arg1 = (Dali::DaliException *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Vector2__SWIG_0() {
+  void * jresult ;
+  Dali::Vector2 *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Vector2 *)new Dali::Vector2();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Vector2__SWIG_1(float jarg1, float jarg2) {
+  void * jresult ;
+  float arg1 ;
+  float arg2 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (Dali::Vector2 *)new Dali::Vector2(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Vector2__SWIG_2(float* jarg1) {
+  void * jresult ;
+  float *arg1 = (float *) 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = jarg1;
+  {
+    try {
+      result = (Dali::Vector2 *)new Dali::Vector2((float const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Vector2__SWIG_3(void * jarg1) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector2 *)new Dali::Vector2((Dali::Vector3 const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Vector2__SWIG_4(void * jarg1) {
+  void * jresult ;
+  Dali::Vector4 *arg1 = 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector2 *)new Dali::Vector2((Dali::Vector4 const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector2_ONE_get() {
+  void * jresult ;
+  Dali::Vector2 *result = 0 ;
+  
+  result = (Dali::Vector2 *)&Dali::Vector2::ONE;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector2_XAXIS_get() {
+  void * jresult ;
+  Dali::Vector2 *result = 0 ;
+  
+  result = (Dali::Vector2 *)&Dali::Vector2::XAXIS;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector2_YAXIS_get() {
+  void * jresult ;
+  Dali::Vector2 *result = 0 ;
+  
+  result = (Dali::Vector2 *)&Dali::Vector2::YAXIS;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector2_NEGATIVE_XAXIS_get() {
+  void * jresult ;
+  Dali::Vector2 *result = 0 ;
+  
+  result = (Dali::Vector2 *)&Dali::Vector2::NEGATIVE_XAXIS;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector2_NEGATIVE_YAXIS_get() {
+  void * jresult ;
+  Dali::Vector2 *result = 0 ;
+  
+  result = (Dali::Vector2 *)&Dali::Vector2::NEGATIVE_YAXIS;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector2_ZERO_get() {
+  void * jresult ;
+  Dali::Vector2 *result = 0 ;
+  
+  result = (Dali::Vector2 *)&Dali::Vector2::ZERO;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector2_Assign__SWIG_0(void * jarg1, float* jarg2) {
+  void * jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  float *arg2 = (float *) 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  arg2 = jarg2;
+  {
+    try {
+      result = (Dali::Vector2 *) &(arg1)->operator =((float const *)arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector2_Assign__SWIG_1(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector2 *) &(arg1)->operator =((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector2_Assign__SWIG_2(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector2 *) &(arg1)->operator =((Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector2_Add(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  Dali::Vector2 result;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = ((Dali::Vector2 const *)arg1)->operator +((Dali::Vector2 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector2((const Dali::Vector2 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector2_AddAssign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector2 *) &(arg1)->operator +=((Dali::Vector2 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector2_Subtract__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  Dali::Vector2 result;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = ((Dali::Vector2 const *)arg1)->operator -((Dali::Vector2 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector2((const Dali::Vector2 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector2_SubtractAssign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector2 *) &(arg1)->operator -=((Dali::Vector2 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector2_Multiply__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  Dali::Vector2 result;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = ((Dali::Vector2 const *)arg1)->operator *((Dali::Vector2 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector2((const Dali::Vector2 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector2_Multiply__SWIG_1(void * jarg1, float jarg2) {
+  void * jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  float arg2 ;
+  Dali::Vector2 result;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = ((Dali::Vector2 const *)arg1)->operator *(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector2((const Dali::Vector2 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector2_MultiplyAssign__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector2 *) &(arg1)->operator *=((Dali::Vector2 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector2_MultiplyAssign__SWIG_1(void * jarg1, float jarg2) {
+  void * jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  float arg2 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (Dali::Vector2 *) &(arg1)->operator *=(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector2_Divide__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  Dali::Vector2 result;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = ((Dali::Vector2 const *)arg1)->operator /((Dali::Vector2 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector2((const Dali::Vector2 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector2_Divide__SWIG_1(void * jarg1, float jarg2) {
+  void * jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  float arg2 ;
+  Dali::Vector2 result;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = ((Dali::Vector2 const *)arg1)->operator /(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector2((const Dali::Vector2 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector2_DivideAssign__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector2 *) &(arg1)->operator /=((Dali::Vector2 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector2_DivideAssign__SWIG_1(void * jarg1, float jarg2) {
+  void * jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  float arg2 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (Dali::Vector2 *) &(arg1)->operator /=(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector2_Subtract__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  Dali::Vector2 result;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  {
+    try {
+      result = ((Dali::Vector2 const *)arg1)->operator -();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector2((const Dali::Vector2 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Vector2_EqualTo(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Vector2 const *)arg1)->operator ==((Dali::Vector2 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Vector2_NotEqualTo(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Vector2 const *)arg1)->operator !=((Dali::Vector2 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector2_ValueOfIndex__SWIG_0(void * jarg1, unsigned int jarg2) {
+  float jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  unsigned int arg2 ;
+  float *result = 0 ;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = (float *) &((Dali::Vector2 const *)arg1)->operator [](arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = *result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector2_Length(void * jarg1) {
+  float jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Vector2 const *)arg1)->Length();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector2_LengthSquared(void * jarg1) {
+  float jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Vector2 const *)arg1)->LengthSquared();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector2_Normalize(void * jarg1) {
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  {
+    try {
+      (arg1)->Normalize();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector2_Clamp(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  Dali::Vector2 *arg3 = 0 ;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return ;
+  } 
+  arg3 = (Dali::Vector2 *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Clamp((Dali::Vector2 const &)*arg2,(Dali::Vector2 const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector2_AsFloat__SWIG_0(void * jarg1) {
+  void * jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  float *result = 0 ;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  {
+    try {
+      result = (float *)((Dali::Vector2 const *)arg1)->AsFloat();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector2_X_set(void * jarg1, float jarg2) {
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->x = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector2_X_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  result = (float) ((arg1)->x);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector2_Width_set(void * jarg1, float jarg2) {
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->width = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector2_Width_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  result = (float) ((arg1)->width);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector2_Y_set(void * jarg1, float jarg2) {
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->y = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector2_Y_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  result = (float) ((arg1)->y);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector2_Height_set(void * jarg1, float jarg2) {
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->height = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector2_Height_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  result = (float) ((arg1)->height);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Vector2(void * jarg1) {
+  Dali::Vector2 *arg1 = (Dali::Vector2 *) 0 ;
+  
+  arg1 = (Dali::Vector2 *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Min__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector2 *arg1 = 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  Dali::Vector2 result;
+  
+  arg1 = (Dali::Vector2 *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return 0;
+  } 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = Dali::Min((Dali::Vector2 const &)*arg1,(Dali::Vector2 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector2((const Dali::Vector2 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Max__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector2 *arg1 = 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  Dali::Vector2 result;
+  
+  arg1 = (Dali::Vector2 *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return 0;
+  } 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = Dali::Max((Dali::Vector2 const &)*arg1,(Dali::Vector2 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector2((const Dali::Vector2 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Clamp__SWIG_0(void * jarg1, float jarg2, float jarg3) {
+  void * jresult ;
+  Dali::Vector2 *arg1 = 0 ;
+  float *arg2 = 0 ;
+  float *arg3 = 0 ;
+  float temp2 ;
+  float temp3 ;
+  Dali::Vector2 result;
+  
+  arg1 = (Dali::Vector2 *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return 0;
+  } 
+  temp2 = (float)jarg2; 
+  arg2 = &temp2; 
+  temp3 = (float)jarg3; 
+  arg3 = &temp3; 
+  {
+    try {
+      result = Dali::Clamp((Dali::Vector2 const &)*arg1,(float const &)*arg2,(float const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector2((const Dali::Vector2 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Vector3__SWIG_0() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Vector3 *)new Dali::Vector3();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Vector3__SWIG_1(float jarg1, float jarg2, float jarg3) {
+  void * jresult ;
+  float arg1 ;
+  float arg2 ;
+  float arg3 ;
+  Dali::Vector3 *result = 0 ;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      result = (Dali::Vector3 *)new Dali::Vector3(arg1,arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Vector3__SWIG_2(float* jarg1) {
+  void * jresult ;
+  float *arg1 = (float *) 0 ;
+  Dali::Vector3 *result = 0 ;
+  
+  arg1 = jarg1;
+  {
+    try {
+      result = (Dali::Vector3 *)new Dali::Vector3((float const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Vector3__SWIG_3(void * jarg1) {
+  void * jresult ;
+  Dali::Vector2 *arg1 = 0 ;
+  Dali::Vector3 *result = 0 ;
+  
+  arg1 = (Dali::Vector2 *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector3 *)new Dali::Vector3((Dali::Vector2 const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Vector3__SWIG_4(void * jarg1) {
+  void * jresult ;
+  Dali::Vector4 *arg1 = 0 ;
+  Dali::Vector3 *result = 0 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector3 *)new Dali::Vector3((Dali::Vector4 const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_ONE_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::Vector3::ONE;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_XAXIS_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::Vector3::XAXIS;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_YAXIS_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::Vector3::YAXIS;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_ZAXIS_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::Vector3::ZAXIS;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_NEGATIVE_XAXIS_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::Vector3::NEGATIVE_XAXIS;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_NEGATIVE_YAXIS_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::Vector3::NEGATIVE_YAXIS;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_NEGATIVE_ZAXIS_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::Vector3::NEGATIVE_ZAXIS;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_ZERO_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::Vector3::ZERO;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_Assign__SWIG_0(void * jarg1, float* jarg2) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float *arg2 = (float *) 0 ;
+  Dali::Vector3 *result = 0 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = jarg2;
+  {
+    try {
+      result = (Dali::Vector3 *) &(arg1)->operator =((float const *)arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_Assign__SWIG_1(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  Dali::Vector3 *result = 0 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector3 *) &(arg1)->operator =((Dali::Vector2 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_Assign__SWIG_2(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  Dali::Vector3 *result = 0 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector3 *) &(arg1)->operator =((Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_Add(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = ((Dali::Vector3 const *)arg1)->operator +((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_AddAssign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  Dali::Vector3 *result = 0 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector3 *) &(arg1)->operator +=((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_Subtract__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = ((Dali::Vector3 const *)arg1)->operator -((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_SubtractAssign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  Dali::Vector3 *result = 0 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector3 *) &(arg1)->operator -=((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_Multiply__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = ((Dali::Vector3 const *)arg1)->operator *((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_Multiply__SWIG_1(void * jarg1, float jarg2) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float arg2 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = ((Dali::Vector3 const *)arg1)->operator *(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_MultiplyAssign__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  Dali::Vector3 *result = 0 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector3 *) &(arg1)->operator *=((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_MultiplyAssign__SWIG_1(void * jarg1, float jarg2) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float arg2 ;
+  Dali::Vector3 *result = 0 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (Dali::Vector3 *) &(arg1)->operator *=(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_MultiplyAssign__SWIG_2(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  Dali::Quaternion *arg2 = 0 ;
+  Dali::Vector3 *result = 0 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (Dali::Quaternion *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector3 *) &(arg1)->operator *=((Dali::Quaternion const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_Divide__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = ((Dali::Vector3 const *)arg1)->operator /((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_Divide__SWIG_1(void * jarg1, float jarg2) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float arg2 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = ((Dali::Vector3 const *)arg1)->operator /(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_DivideAssign__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  Dali::Vector3 *result = 0 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector3 *) &(arg1)->operator /=((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_DivideAssign__SWIG_1(void * jarg1, float jarg2) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float arg2 ;
+  Dali::Vector3 *result = 0 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (Dali::Vector3 *) &(arg1)->operator /=(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_Subtract__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  {
+    try {
+      result = ((Dali::Vector3 const *)arg1)->operator -();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Vector3_EqualTo(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Vector3 const *)arg1)->operator ==((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Vector3_NotEqualTo(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Vector3 const *)arg1)->operator !=((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector3_ValueOfIndex__SWIG_0(void * jarg1, unsigned int jarg2) {
+  float jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  unsigned int arg2 ;
+  float *result = 0 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = (float *) &((Dali::Vector3 const *)arg1)->operator [](arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = *result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector3_Dot(void * jarg1, void * jarg2) {
+  float jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (float)((Dali::Vector3 const *)arg1)->Dot((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_Cross(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = ((Dali::Vector3 const *)arg1)->Cross((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector3_Length(void * jarg1) {
+  float jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Vector3 const *)arg1)->Length();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector3_LengthSquared(void * jarg1) {
+  float jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Vector3 const *)arg1)->LengthSquared();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector3_Normalize(void * jarg1) {
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  {
+    try {
+      (arg1)->Normalize();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector3_Clamp(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  Dali::Vector3 *arg3 = 0 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  arg3 = (Dali::Vector3 *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Clamp((Dali::Vector3 const &)*arg2,(Dali::Vector3 const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_AsFloat__SWIG_0(void * jarg1) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float *result = 0 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  {
+    try {
+      result = (float *)((Dali::Vector3 const *)arg1)->AsFloat();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_GetVectorXY__SWIG_0(void * jarg1) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  {
+    try {
+      result = (Dali::Vector2 *) &((Dali::Vector3 const *)arg1)->GetVectorXY();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector3_GetVectorYZ__SWIG_0(void * jarg1) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  {
+    try {
+      result = (Dali::Vector2 *) &((Dali::Vector3 const *)arg1)->GetVectorYZ();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector3_X_set(void * jarg1, float jarg2) {
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->x = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector3_X_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  result = (float) ((arg1)->x);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector3_Width_set(void * jarg1, float jarg2) {
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->width = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector3_Width_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  result = (float) ((arg1)->width);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector3_r_set(void * jarg1, float jarg2) {
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->r = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector3_r_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  result = (float) ((arg1)->r);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector3_Y_set(void * jarg1, float jarg2) {
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->y = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector3_Y_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  result = (float) ((arg1)->y);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector3_Height_set(void * jarg1, float jarg2) {
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->height = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector3_Height_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  result = (float) ((arg1)->height);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector3_g_set(void * jarg1, float jarg2) {
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->g = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector3_g_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  result = (float) ((arg1)->g);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector3_Z_set(void * jarg1, float jarg2) {
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->z = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector3_Z_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  result = (float) ((arg1)->z);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector3_Depth_set(void * jarg1, float jarg2) {
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->depth = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector3_Depth_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  result = (float) ((arg1)->depth);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector3_b_set(void * jarg1, float jarg2) {
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->b = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector3_b_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  result = (float) ((arg1)->b);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Vector3(void * jarg1) {
+  Dali::Vector3 *arg1 = (Dali::Vector3 *) 0 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Min__SWIG_1(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Vector3 *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = Dali::Min((Dali::Vector3 const &)*arg1,(Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Max__SWIG_1(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Vector3 *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = Dali::Max((Dali::Vector3 const &)*arg1,(Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Clamp__SWIG_1(void * jarg1, float jarg2, float jarg3) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = 0 ;
+  float *arg2 = 0 ;
+  float *arg3 = 0 ;
+  float temp2 ;
+  float temp3 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Vector3 *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  temp2 = (float)jarg2; 
+  arg2 = &temp2; 
+  temp3 = (float)jarg3; 
+  arg3 = &temp3; 
+  {
+    try {
+      result = Dali::Clamp((Dali::Vector3 const &)*arg1,(float const &)*arg2,(float const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Vector4__SWIG_0() {
+  void * jresult ;
+  Dali::Vector4 *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Vector4 *)new Dali::Vector4();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Vector4__SWIG_1(float jarg1, float jarg2, float jarg3, float jarg4) {
+  void * jresult ;
+  float arg1 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  Dali::Vector4 *result = 0 ;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  {
+    try {
+      result = (Dali::Vector4 *)new Dali::Vector4(arg1,arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Vector4__SWIG_2(float* jarg1) {
+  void * jresult ;
+  float *arg1 = (float *) 0 ;
+  Dali::Vector4 *result = 0 ;
+  
+  arg1 = jarg1;
+  {
+    try {
+      result = (Dali::Vector4 *)new Dali::Vector4((float const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Vector4__SWIG_3(void * jarg1) {
+  void * jresult ;
+  Dali::Vector2 *arg1 = 0 ;
+  Dali::Vector4 *result = 0 ;
+  
+  arg1 = (Dali::Vector2 *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector4 *)new Dali::Vector4((Dali::Vector2 const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Vector4__SWIG_4(void * jarg1) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = 0 ;
+  Dali::Vector4 *result = 0 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector4 *)new Dali::Vector4((Dali::Vector3 const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector4_ONE_get() {
+  void * jresult ;
+  Dali::Vector4 *result = 0 ;
+  
+  result = (Dali::Vector4 *)&Dali::Vector4::ONE;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector4_XAXIS_get() {
+  void * jresult ;
+  Dali::Vector4 *result = 0 ;
+  
+  result = (Dali::Vector4 *)&Dali::Vector4::XAXIS;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector4_YAXIS_get() {
+  void * jresult ;
+  Dali::Vector4 *result = 0 ;
+  
+  result = (Dali::Vector4 *)&Dali::Vector4::YAXIS;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector4_ZAXIS_get() {
+  void * jresult ;
+  Dali::Vector4 *result = 0 ;
+  
+  result = (Dali::Vector4 *)&Dali::Vector4::ZAXIS;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector4_ZERO_get() {
+  void * jresult ;
+  Dali::Vector4 *result = 0 ;
+  
+  result = (Dali::Vector4 *)&Dali::Vector4::ZERO;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector4_Assign__SWIG_0(void * jarg1, float* jarg2) {
+  void * jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float *arg2 = (float *) 0 ;
+  Dali::Vector4 *result = 0 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = jarg2;
+  {
+    try {
+      result = (Dali::Vector4 *) &(arg1)->operator =((float const *)arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector4_Assign__SWIG_1(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  Dali::Vector4 *result = 0 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector4 *) &(arg1)->operator =((Dali::Vector2 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector4_Assign__SWIG_2(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  Dali::Vector4 *result = 0 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector4 *) &(arg1)->operator =((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector4_Add(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  Dali::Vector4 result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = ((Dali::Vector4 const *)arg1)->operator +((Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector4((const Dali::Vector4 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector4_AddAssign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  Dali::Vector4 *result = 0 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector4 *) &(arg1)->operator +=((Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector4_Subtract__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  Dali::Vector4 result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = ((Dali::Vector4 const *)arg1)->operator -((Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector4((const Dali::Vector4 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector4_SubtractAssign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  Dali::Vector4 *result = 0 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector4 *) &(arg1)->operator -=((Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector4_Multiply__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  Dali::Vector4 result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = ((Dali::Vector4 const *)arg1)->operator *((Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector4((const Dali::Vector4 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector4_Multiply__SWIG_1(void * jarg1, float jarg2) {
+  void * jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float arg2 ;
+  Dali::Vector4 result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = ((Dali::Vector4 const *)arg1)->operator *(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector4((const Dali::Vector4 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector4_MultiplyAssign__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  Dali::Vector4 *result = 0 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector4 *) &(arg1)->operator *=((Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector4_MultiplyAssign__SWIG_1(void * jarg1, float jarg2) {
+  void * jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float arg2 ;
+  Dali::Vector4 *result = 0 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (Dali::Vector4 *) &(arg1)->operator *=(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector4_Divide__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  Dali::Vector4 result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = ((Dali::Vector4 const *)arg1)->operator /((Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector4((const Dali::Vector4 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector4_Divide__SWIG_1(void * jarg1, float jarg2) {
+  void * jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float arg2 ;
+  Dali::Vector4 result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = ((Dali::Vector4 const *)arg1)->operator /(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector4((const Dali::Vector4 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector4_DivideAssign__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  Dali::Vector4 *result = 0 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector4 *) &(arg1)->operator /=((Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector4_DivideAssign__SWIG_1(void * jarg1, float jarg2) {
+  void * jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float arg2 ;
+  Dali::Vector4 *result = 0 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (Dali::Vector4 *) &(arg1)->operator /=(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector4_Subtract__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  Dali::Vector4 result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  {
+    try {
+      result = ((Dali::Vector4 const *)arg1)->operator -();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector4((const Dali::Vector4 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Vector4_EqualTo(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Vector4 const *)arg1)->operator ==((Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Vector4_NotEqualTo(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Vector4 const *)arg1)->operator !=((Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector4_ValueOfIndex__SWIG_0(void * jarg1, unsigned int jarg2) {
+  float jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  unsigned int arg2 ;
+  float *result = 0 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = (float *) &((Dali::Vector4 const *)arg1)->operator [](arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = *result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector4_Dot__SWIG_0(void * jarg1, void * jarg2) {
+  float jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (float)((Dali::Vector4 const *)arg1)->Dot((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector4_Dot__SWIG_1(void * jarg1, void * jarg2) {
+  float jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (float)((Dali::Vector4 const *)arg1)->Dot((Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector4_Dot4(void * jarg1, void * jarg2) {
+  float jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (float)((Dali::Vector4 const *)arg1)->Dot4((Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector4_Cross(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  Dali::Vector4 result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = ((Dali::Vector4 const *)arg1)->Cross((Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector4((const Dali::Vector4 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector4_Length(void * jarg1) {
+  float jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Vector4 const *)arg1)->Length();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector4_LengthSquared(void * jarg1) {
+  float jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Vector4 const *)arg1)->LengthSquared();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector4_Normalize(void * jarg1) {
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  {
+    try {
+      (arg1)->Normalize();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector4_Clamp(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  Dali::Vector4 *arg3 = 0 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return ;
+  } 
+  arg3 = (Dali::Vector4 *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Clamp((Dali::Vector4 const &)*arg2,(Dali::Vector4 const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Vector4_AsFloat__SWIG_0(void * jarg1) {
+  void * jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float *result = 0 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  {
+    try {
+      result = (float *)((Dali::Vector4 const *)arg1)->AsFloat();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector4_X_set(void * jarg1, float jarg2) {
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->x = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector4_X_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  result = (float) ((arg1)->x);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector4_r_set(void * jarg1, float jarg2) {
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->r = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector4_r_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  result = (float) ((arg1)->r);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector4_s_set(void * jarg1, float jarg2) {
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->s = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector4_s_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  result = (float) ((arg1)->s);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector4_Y_set(void * jarg1, float jarg2) {
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->y = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector4_Y_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  result = (float) ((arg1)->y);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector4_g_set(void * jarg1, float jarg2) {
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->g = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector4_g_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  result = (float) ((arg1)->g);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector4_t_set(void * jarg1, float jarg2) {
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->t = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector4_t_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  result = (float) ((arg1)->t);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector4_Z_set(void * jarg1, float jarg2) {
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->z = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector4_Z_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  result = (float) ((arg1)->z);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector4_b_set(void * jarg1, float jarg2) {
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->b = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector4_b_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  result = (float) ((arg1)->b);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector4_p_set(void * jarg1, float jarg2) {
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->p = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector4_p_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  result = (float) ((arg1)->p);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector4_W_set(void * jarg1, float jarg2) {
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->w = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector4_W_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  result = (float) ((arg1)->w);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector4_a_set(void * jarg1, float jarg2) {
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->a = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector4_a_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  result = (float) ((arg1)->a);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Vector4_q_set(void * jarg1, float jarg2) {
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->q = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Vector4_q_get(void * jarg1) {
+  float jresult ;
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  result = (float) ((arg1)->q);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Vector4(void * jarg1) {
+  Dali::Vector4 *arg1 = (Dali::Vector4 *) 0 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Min__SWIG_2(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector4 *arg1 = 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  Dali::Vector4 result;
+  
+  arg1 = (Dali::Vector4 *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return 0;
+  } 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = Dali::Min((Dali::Vector4 const &)*arg1,(Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector4((const Dali::Vector4 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Max__SWIG_2(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector4 *arg1 = 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  Dali::Vector4 result;
+  
+  arg1 = (Dali::Vector4 *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return 0;
+  } 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = Dali::Max((Dali::Vector4 const &)*arg1,(Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector4((const Dali::Vector4 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Clamp__SWIG_2(void * jarg1, float jarg2, float jarg3) {
+  void * jresult ;
+  Dali::Vector4 *arg1 = 0 ;
+  float *arg2 = 0 ;
+  float *arg3 = 0 ;
+  float temp2 ;
+  float temp3 ;
+  Dali::Vector4 result;
+  
+  arg1 = (Dali::Vector4 *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return 0;
+  } 
+  temp2 = (float)jarg2; 
+  arg2 = &temp2; 
+  temp3 = (float)jarg3; 
+  arg3 = &temp3; 
+  {
+    try {
+      result = Dali::Clamp((Dali::Vector4 const &)*arg1,(float const &)*arg2,(float const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector4((const Dali::Vector4 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Uint16Pair__SWIG_0() {
+  void * jresult ;
+  Dali::Uint16Pair *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Uint16Pair *)new Dali::Uint16Pair();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Uint16Pair__SWIG_1(unsigned int jarg1, unsigned int jarg2) {
+  void * jresult ;
+  uint32_t arg1 ;
+  uint32_t arg2 ;
+  Dali::Uint16Pair *result = 0 ;
+  
+  arg1 = (uint32_t)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  {
+    try {
+      result = (Dali::Uint16Pair *)new Dali::Uint16Pair(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Uint16Pair__SWIG_2(void * jarg1) {
+  void * jresult ;
+  Dali::Uint16Pair *arg1 = 0 ;
+  Dali::Uint16Pair *result = 0 ;
+  
+  arg1 = (Dali::Uint16Pair *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Uint16Pair const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Uint16Pair *)new Dali::Uint16Pair((Dali::Uint16Pair const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Uint16Pair_SetWidth(void * jarg1, unsigned short jarg2) {
+  Dali::Uint16Pair *arg1 = (Dali::Uint16Pair *) 0 ;
+  uint16_t arg2 ;
+  
+  arg1 = (Dali::Uint16Pair *)jarg1; 
+  arg2 = (uint16_t)jarg2; 
+  {
+    try {
+      (arg1)->SetWidth(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned short SWIGSTDCALL CSharp_Dali_Uint16Pair_GetWidth(void * jarg1) {
+  unsigned short jresult ;
+  Dali::Uint16Pair *arg1 = (Dali::Uint16Pair *) 0 ;
+  uint16_t result;
+  
+  arg1 = (Dali::Uint16Pair *)jarg1; 
+  {
+    try {
+      result = ((Dali::Uint16Pair const *)arg1)->GetWidth();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Uint16Pair_SetHeight(void * jarg1, unsigned short jarg2) {
+  Dali::Uint16Pair *arg1 = (Dali::Uint16Pair *) 0 ;
+  uint16_t arg2 ;
+  
+  arg1 = (Dali::Uint16Pair *)jarg1; 
+  arg2 = (uint16_t)jarg2; 
+  {
+    try {
+      (arg1)->SetHeight(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned short SWIGSTDCALL CSharp_Dali_Uint16Pair_GetHeight(void * jarg1) {
+  unsigned short jresult ;
+  Dali::Uint16Pair *arg1 = (Dali::Uint16Pair *) 0 ;
+  uint16_t result;
+  
+  arg1 = (Dali::Uint16Pair *)jarg1; 
+  {
+    try {
+      result = ((Dali::Uint16Pair const *)arg1)->GetHeight();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Uint16Pair_SetX(void * jarg1, unsigned short jarg2) {
+  Dali::Uint16Pair *arg1 = (Dali::Uint16Pair *) 0 ;
+  uint16_t arg2 ;
+  
+  arg1 = (Dali::Uint16Pair *)jarg1; 
+  arg2 = (uint16_t)jarg2; 
+  {
+    try {
+      (arg1)->SetX(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned short SWIGSTDCALL CSharp_Dali_Uint16Pair_GetX(void * jarg1) {
+  unsigned short jresult ;
+  Dali::Uint16Pair *arg1 = (Dali::Uint16Pair *) 0 ;
+  uint16_t result;
+  
+  arg1 = (Dali::Uint16Pair *)jarg1; 
+  {
+    try {
+      result = ((Dali::Uint16Pair const *)arg1)->GetX();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Uint16Pair_SetY(void * jarg1, unsigned short jarg2) {
+  Dali::Uint16Pair *arg1 = (Dali::Uint16Pair *) 0 ;
+  uint16_t arg2 ;
+  
+  arg1 = (Dali::Uint16Pair *)jarg1; 
+  arg2 = (uint16_t)jarg2; 
+  {
+    try {
+      (arg1)->SetY(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned short SWIGSTDCALL CSharp_Dali_Uint16Pair_GetY(void * jarg1) {
+  unsigned short jresult ;
+  Dali::Uint16Pair *arg1 = (Dali::Uint16Pair *) 0 ;
+  uint16_t result;
+  
+  arg1 = (Dali::Uint16Pair *)jarg1; 
+  {
+    try {
+      result = ((Dali::Uint16Pair const *)arg1)->GetY();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Uint16Pair_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Uint16Pair *arg1 = (Dali::Uint16Pair *) 0 ;
+  Dali::Uint16Pair *arg2 = 0 ;
+  Dali::Uint16Pair *result = 0 ;
+  
+  arg1 = (Dali::Uint16Pair *)jarg1; 
+  arg2 = (Dali::Uint16Pair *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Uint16Pair const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Uint16Pair *) &(arg1)->operator =((Dali::Uint16Pair const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Uint16Pair_EqualTo(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Uint16Pair *arg1 = (Dali::Uint16Pair *) 0 ;
+  Dali::Uint16Pair *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Uint16Pair *)jarg1; 
+  arg2 = (Dali::Uint16Pair *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Uint16Pair const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Uint16Pair const *)arg1)->operator ==((Dali::Uint16Pair const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Uint16Pair_NotEqualTo(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Uint16Pair *arg1 = (Dali::Uint16Pair *) 0 ;
+  Dali::Uint16Pair *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Uint16Pair *)jarg1; 
+  arg2 = (Dali::Uint16Pair *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Uint16Pair const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Uint16Pair const *)arg1)->operator !=((Dali::Uint16Pair const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Uint16Pair_LessThan(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Uint16Pair *arg1 = (Dali::Uint16Pair *) 0 ;
+  Dali::Uint16Pair *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Uint16Pair *)jarg1; 
+  arg2 = (Dali::Uint16Pair *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Uint16Pair const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Uint16Pair const *)arg1)->operator <((Dali::Uint16Pair const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Uint16Pair_GreaterThan(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Uint16Pair *arg1 = (Dali::Uint16Pair *) 0 ;
+  Dali::Uint16Pair *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Uint16Pair *)jarg1; 
+  arg2 = (Dali::Uint16Pair *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Uint16Pair const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Uint16Pair const *)arg1)->operator >((Dali::Uint16Pair const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Uint16Pair(void * jarg1) {
+  Dali::Uint16Pair *arg1 = (Dali::Uint16Pair *) 0 ;
+  
+  arg1 = (Dali::Uint16Pair *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Degree__SWIG_0() {
+  void * jresult ;
+  Dali::Degree *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Degree *)new Dali::Degree();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Degree__SWIG_1(float jarg1) {
+  void * jresult ;
+  float arg1 ;
+  Dali::Degree *result = 0 ;
+  
+  arg1 = (float)jarg1; 
+  {
+    try {
+      result = (Dali::Degree *)new Dali::Degree(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Degree__SWIG_2(void * jarg1) {
+  void * jresult ;
+  Dali::Radian arg1 ;
+  Dali::Radian *argp1 ;
+  Dali::Degree *result = 0 ;
+  
+  argp1 = (Dali::Radian *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = (Dali::Degree *)new Dali::Degree(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Degree_degree_set(void * jarg1, float jarg2) {
+  Dali::Degree *arg1 = (Dali::Degree *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Degree *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->degree = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Degree_degree_get(void * jarg1) {
+  float jresult ;
+  Dali::Degree *arg1 = (Dali::Degree *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Degree *)jarg1; 
+  result = (float) ((arg1)->degree);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Degree(void * jarg1) {
+  Dali::Degree *arg1 = (Dali::Degree *) 0 ;
+  
+  arg1 = (Dali::Degree *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ANGLE_360_get() {
+  void * jresult ;
+  Dali::Radian *result = 0 ;
+  
+  result = (Dali::Radian *)&Dali::ANGLE_360;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ANGLE_315_get() {
+  void * jresult ;
+  Dali::Radian *result = 0 ;
+  
+  result = (Dali::Radian *)&Dali::ANGLE_315;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ANGLE_270_get() {
+  void * jresult ;
+  Dali::Radian *result = 0 ;
+  
+  result = (Dali::Radian *)&Dali::ANGLE_270;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ANGLE_225_get() {
+  void * jresult ;
+  Dali::Radian *result = 0 ;
+  
+  result = (Dali::Radian *)&Dali::ANGLE_225;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ANGLE_180_get() {
+  void * jresult ;
+  Dali::Radian *result = 0 ;
+  
+  result = (Dali::Radian *)&Dali::ANGLE_180;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ANGLE_135_get() {
+  void * jresult ;
+  Dali::Radian *result = 0 ;
+  
+  result = (Dali::Radian *)&Dali::ANGLE_135;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ANGLE_120_get() {
+  void * jresult ;
+  Dali::Radian *result = 0 ;
+  
+  result = (Dali::Radian *)&Dali::ANGLE_120;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ANGLE_90_get() {
+  void * jresult ;
+  Dali::Radian *result = 0 ;
+  
+  result = (Dali::Radian *)&Dali::ANGLE_90;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ANGLE_60_get() {
+  void * jresult ;
+  Dali::Radian *result = 0 ;
+  
+  result = (Dali::Radian *)&Dali::ANGLE_60;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ANGLE_45_get() {
+  void * jresult ;
+  Dali::Radian *result = 0 ;
+  
+  result = (Dali::Radian *)&Dali::ANGLE_45;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ANGLE_30_get() {
+  void * jresult ;
+  Dali::Radian *result = 0 ;
+  
+  result = (Dali::Radian *)&Dali::ANGLE_30;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ANGLE_0_get() {
+  void * jresult ;
+  Dali::Radian *result = 0 ;
+  
+  result = (Dali::Radian *)&Dali::ANGLE_0;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_EqualTo__SWIG_5(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Degree *arg1 = 0 ;
+  Dali::Degree *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Degree *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Degree const & type is null", 0);
+    return 0;
+  } 
+  arg2 = (Dali::Degree *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Degree const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)Dali::operator ==((Dali::Degree const &)*arg1,(Dali::Degree const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_NotEqualTo__SWIG_4(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Degree *arg1 = 0 ;
+  Dali::Degree *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Degree *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Degree const & type is null", 0);
+    return 0;
+  } 
+  arg2 = (Dali::Degree *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Degree const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)Dali::operator !=((Dali::Degree const &)*arg1,(Dali::Degree const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Clamp__SWIG_3(void * jarg1, float jarg2, float jarg3) {
+  void * jresult ;
+  Dali::Degree arg1 ;
+  float arg2 ;
+  float arg3 ;
+  Dali::Degree *argp1 ;
+  Dali::Degree result;
+  
+  argp1 = (Dali::Degree *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Degree", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      result = Dali::Clamp(arg1,arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Degree((const Dali::Degree &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Radian__SWIG_0() {
+  void * jresult ;
+  Dali::Radian *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Radian *)new Dali::Radian();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Radian__SWIG_1(float jarg1) {
+  void * jresult ;
+  float arg1 ;
+  Dali::Radian *result = 0 ;
+  
+  arg1 = (float)jarg1; 
+  {
+    try {
+      result = (Dali::Radian *)new Dali::Radian(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Radian__SWIG_2(void * jarg1) {
+  void * jresult ;
+  Dali::Degree arg1 ;
+  Dali::Degree *argp1 ;
+  Dali::Radian *result = 0 ;
+  
+  argp1 = (Dali::Degree *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Degree", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = (Dali::Radian *)new Dali::Radian(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Radian_Assign__SWIG_0(void * jarg1, float jarg2) {
+  void * jresult ;
+  Dali::Radian *arg1 = (Dali::Radian *) 0 ;
+  float arg2 ;
+  Dali::Radian *result = 0 ;
+  
+  arg1 = (Dali::Radian *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (Dali::Radian *) &(arg1)->operator =(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Radian_Assign__SWIG_1(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Radian *arg1 = (Dali::Radian *) 0 ;
+  Dali::Degree arg2 ;
+  Dali::Degree *argp2 ;
+  Dali::Radian *result = 0 ;
+  
+  arg1 = (Dali::Radian *)jarg1; 
+  argp2 = (Dali::Degree *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Degree", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (Dali::Radian *) &(arg1)->operator =(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Radian_ConvertToFloat(void * jarg1) {
+  float jresult ;
+  Dali::Radian *arg1 = (Dali::Radian *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Radian *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Radian const *)arg1)->operator float();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Radian_radian_set(void * jarg1, float jarg2) {
+  Dali::Radian *arg1 = (Dali::Radian *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Radian *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->radian = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Radian_radian_get(void * jarg1) {
+  float jresult ;
+  Dali::Radian *arg1 = (Dali::Radian *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Radian *)jarg1; 
+  result = (float) ((arg1)->radian);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Radian(void * jarg1) {
+  Dali::Radian *arg1 = (Dali::Radian *) 0 ;
+  
+  arg1 = (Dali::Radian *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_EqualTo__SWIG_6(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Radian arg1 ;
+  Dali::Radian arg2 ;
+  Dali::Radian *argp1 ;
+  Dali::Radian *argp2 ;
+  bool result;
+  
+  argp1 = (Dali::Radian *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  argp2 = (Dali::Radian *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (bool)Dali::operator ==(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_NotEqualTo__SWIG_5(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Radian arg1 ;
+  Dali::Radian arg2 ;
+  Dali::Radian *argp1 ;
+  Dali::Radian *argp2 ;
+  bool result;
+  
+  argp1 = (Dali::Radian *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  argp2 = (Dali::Radian *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (bool)Dali::operator !=(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_EqualTo__SWIG_7(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Radian arg1 ;
+  Dali::Degree arg2 ;
+  Dali::Radian *argp1 ;
+  Dali::Degree *argp2 ;
+  bool result;
+  
+  argp1 = (Dali::Radian *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  argp2 = (Dali::Degree *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Degree", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (bool)Dali::operator ==(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_NotEqualTo__SWIG_6(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Radian arg1 ;
+  Dali::Degree arg2 ;
+  Dali::Radian *argp1 ;
+  Dali::Degree *argp2 ;
+  bool result;
+  
+  argp1 = (Dali::Radian *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  argp2 = (Dali::Degree *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Degree", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (bool)Dali::operator !=(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_EqualTo__SWIG_8(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Degree arg1 ;
+  Dali::Radian arg2 ;
+  Dali::Degree *argp1 ;
+  Dali::Radian *argp2 ;
+  bool result;
+  
+  argp1 = (Dali::Degree *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Degree", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  argp2 = (Dali::Radian *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (bool)Dali::operator ==(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_NotEqualTo__SWIG_7(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Degree arg1 ;
+  Dali::Radian arg2 ;
+  Dali::Degree *argp1 ;
+  Dali::Radian *argp2 ;
+  bool result;
+  
+  argp1 = (Dali::Degree *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Degree", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  argp2 = (Dali::Radian *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (bool)Dali::operator !=(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_GreaterThan__SWIG_0(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Radian arg1 ;
+  Dali::Radian arg2 ;
+  Dali::Radian *argp1 ;
+  Dali::Radian *argp2 ;
+  bool result;
+  
+  argp1 = (Dali::Radian *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  argp2 = (Dali::Radian *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (bool)Dali::operator >(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_GreaterThan__SWIG_1(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Radian arg1 ;
+  Dali::Degree arg2 ;
+  Dali::Radian *argp1 ;
+  Dali::Degree *argp2 ;
+  bool result;
+  
+  argp1 = (Dali::Radian *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  argp2 = (Dali::Degree *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Degree", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (bool)Dali::operator >(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_GreaterThan__SWIG_2(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Degree arg1 ;
+  Dali::Radian arg2 ;
+  Dali::Degree *argp1 ;
+  Dali::Radian *argp2 ;
+  bool result;
+  
+  argp1 = (Dali::Degree *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Degree", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  argp2 = (Dali::Radian *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (bool)Dali::operator >(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_LessThan__SWIG_0(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Radian arg1 ;
+  Dali::Radian arg2 ;
+  Dali::Radian *argp1 ;
+  Dali::Radian *argp2 ;
+  bool result;
+  
+  argp1 = (Dali::Radian *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  argp2 = (Dali::Radian *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (bool)Dali::operator <(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_LessThan__SWIG_1(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Radian arg1 ;
+  Dali::Degree arg2 ;
+  Dali::Radian *argp1 ;
+  Dali::Degree *argp2 ;
+  bool result;
+  
+  argp1 = (Dali::Radian *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  argp2 = (Dali::Degree *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Degree", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (bool)Dali::operator <(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_LessThan__SWIG_2(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Degree arg1 ;
+  Dali::Radian arg2 ;
+  Dali::Degree *argp1 ;
+  Dali::Radian *argp2 ;
+  bool result;
+  
+  argp1 = (Dali::Degree *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Degree", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  argp2 = (Dali::Radian *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (bool)Dali::operator <(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Multiply(void * jarg1, float jarg2) {
+  void * jresult ;
+  Dali::Radian arg1 ;
+  float arg2 ;
+  Dali::Radian *argp1 ;
+  Dali::Radian result;
+  
+  argp1 = (Dali::Radian *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = Dali::operator *(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Radian((const Dali::Radian &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Subtract(void * jarg1) {
+  void * jresult ;
+  Dali::Radian arg1 ;
+  Dali::Radian *argp1 ;
+  Dali::Radian result;
+  
+  argp1 = (Dali::Radian *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::operator -(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Radian((const Dali::Radian &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Clamp__SWIG_4(void * jarg1, float jarg2, float jarg3) {
+  void * jresult ;
+  Dali::Radian arg1 ;
+  float arg2 ;
+  float arg3 ;
+  Dali::Radian *argp1 ;
+  Dali::Radian result;
+  
+  argp1 = (Dali::Radian *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      result = Dali::Clamp(arg1,arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Radian((const Dali::Radian &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Rotation__SWIG_0() {
+  void * jresult ;
+  Dali::Quaternion *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Quaternion *)new Dali::Quaternion();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Rotation__SWIG_1(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Radian arg1 ;
+  Dali::Vector3 *arg2 = 0 ;
+  Dali::Radian *argp1 ;
+  Dali::Quaternion *result = 0 ;
+  
+  argp1 = (Dali::Radian *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Quaternion *)new Dali::Quaternion(arg1,(Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Rotation(void * jarg1) {
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_IDENTITY_get() {
+  void * jresult ;
+  Dali::Quaternion *result = 0 ;
+  
+  result = (Dali::Quaternion *)&Dali::Quaternion::IDENTITY;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Rotation_IsIdentity(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Quaternion const *)arg1)->IsIdentity();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Rotation_GetAxisAngle(void * jarg1, void * jarg2, void * jarg3) {
+  unsigned int jresult ;
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  Dali::Radian *arg3 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 & type is null", 0);
+    return 0;
+  } 
+  arg3 = (Dali::Radian *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Radian & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Quaternion const *)arg1)->ToAxisAngle(*arg2,*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Add(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  Dali::Quaternion *arg2 = 0 ;
+  Dali::Quaternion result;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  arg2 = (Dali::Quaternion *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = ((Dali::Quaternion const *)arg1)->operator +((Dali::Quaternion const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Quaternion((const Dali::Quaternion &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Subtract__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  Dali::Quaternion *arg2 = 0 ;
+  Dali::Quaternion result;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  arg2 = (Dali::Quaternion *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = ((Dali::Quaternion const *)arg1)->operator -((Dali::Quaternion const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Quaternion((const Dali::Quaternion &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Multiply__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  Dali::Quaternion *arg2 = 0 ;
+  Dali::Quaternion result;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  arg2 = (Dali::Quaternion *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = ((Dali::Quaternion const *)arg1)->operator *((Dali::Quaternion const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Quaternion((const Dali::Quaternion &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Multiply__SWIG_1(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = ((Dali::Quaternion const *)arg1)->operator *((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Divide__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  Dali::Quaternion *arg2 = 0 ;
+  Dali::Quaternion result;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  arg2 = (Dali::Quaternion *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = ((Dali::Quaternion const *)arg1)->operator /((Dali::Quaternion const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Quaternion((const Dali::Quaternion &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Multiply__SWIG_2(void * jarg1, float jarg2) {
+  void * jresult ;
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  float arg2 ;
+  Dali::Quaternion result;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = ((Dali::Quaternion const *)arg1)->operator *(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Quaternion((const Dali::Quaternion &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Divide__SWIG_1(void * jarg1, float jarg2) {
+  void * jresult ;
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  float arg2 ;
+  Dali::Quaternion result;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = ((Dali::Quaternion const *)arg1)->operator /(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Quaternion((const Dali::Quaternion &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Subtract__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  Dali::Quaternion result;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  {
+    try {
+      result = ((Dali::Quaternion const *)arg1)->operator -();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Quaternion((const Dali::Quaternion &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_AddAssign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  Dali::Quaternion *arg2 = 0 ;
+  Dali::Quaternion *result = 0 ;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  arg2 = (Dali::Quaternion *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Quaternion *) &(arg1)->operator +=((Dali::Quaternion const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_SubtractAssign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  Dali::Quaternion *arg2 = 0 ;
+  Dali::Quaternion *result = 0 ;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  arg2 = (Dali::Quaternion *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Quaternion *) &(arg1)->operator -=((Dali::Quaternion const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_MultiplyAssign__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  Dali::Quaternion *arg2 = 0 ;
+  Dali::Quaternion *result = 0 ;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  arg2 = (Dali::Quaternion *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Quaternion *) &(arg1)->operator *=((Dali::Quaternion const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_MultiplyAssign__SWIG_1(void * jarg1, float jarg2) {
+  void * jresult ;
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  float arg2 ;
+  Dali::Quaternion *result = 0 ;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (Dali::Quaternion *) &(arg1)->operator *=(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_DivideAssign(void * jarg1, float jarg2) {
+  void * jresult ;
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  float arg2 ;
+  Dali::Quaternion *result = 0 ;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (Dali::Quaternion *) &(arg1)->operator /=(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Rotation_EqualTo(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  Dali::Quaternion *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  arg2 = (Dali::Quaternion *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Quaternion const *)arg1)->operator ==((Dali::Quaternion const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Rotation_NotEqualTo(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  Dali::Quaternion *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  arg2 = (Dali::Quaternion *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Quaternion const *)arg1)->operator !=((Dali::Quaternion const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Rotation_Length(void * jarg1) {
+  float jresult ;
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Quaternion const *)arg1)->Length();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Rotation_LengthSquared(void * jarg1) {
+  float jresult ;
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Quaternion const *)arg1)->LengthSquared();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Rotation_Normalize(void * jarg1) {
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  {
+    try {
+      (arg1)->Normalize();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Normalized(void * jarg1) {
+  void * jresult ;
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  Dali::Quaternion result;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  {
+    try {
+      result = ((Dali::Quaternion const *)arg1)->Normalized();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Quaternion((const Dali::Quaternion &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Rotation_Conjugate(void * jarg1) {
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  {
+    try {
+      (arg1)->Conjugate();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Rotation_Invert(void * jarg1) {
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  {
+    try {
+      (arg1)->Invert();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Log(void * jarg1) {
+  void * jresult ;
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  Dali::Quaternion result;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  {
+    try {
+      result = ((Dali::Quaternion const *)arg1)->Log();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Quaternion((const Dali::Quaternion &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Exp(void * jarg1) {
+  void * jresult ;
+  Dali::Quaternion *arg1 = (Dali::Quaternion *) 0 ;
+  Dali::Quaternion result;
+  
+  arg1 = (Dali::Quaternion *)jarg1; 
+  {
+    try {
+      result = ((Dali::Quaternion const *)arg1)->Exp();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Quaternion((const Dali::Quaternion &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Rotation_Dot(void * jarg1, void * jarg2) {
+  float jresult ;
+  Dali::Quaternion *arg1 = 0 ;
+  Dali::Quaternion *arg2 = 0 ;
+  float result;
+  
+  arg1 = (Dali::Quaternion *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  arg2 = (Dali::Quaternion *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (float)Dali::Quaternion::Dot((Dali::Quaternion const &)*arg1,(Dali::Quaternion const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Lerp(void * jarg1, void * jarg2, float jarg3) {
+  void * jresult ;
+  Dali::Quaternion *arg1 = 0 ;
+  Dali::Quaternion *arg2 = 0 ;
+  float arg3 ;
+  Dali::Quaternion result;
+  
+  arg1 = (Dali::Quaternion *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  arg2 = (Dali::Quaternion *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      result = Dali::Quaternion::Lerp((Dali::Quaternion const &)*arg1,(Dali::Quaternion const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Quaternion((const Dali::Quaternion &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Slerp(void * jarg1, void * jarg2, float jarg3) {
+  void * jresult ;
+  Dali::Quaternion *arg1 = 0 ;
+  Dali::Quaternion *arg2 = 0 ;
+  float arg3 ;
+  Dali::Quaternion result;
+  
+  arg1 = (Dali::Quaternion *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  arg2 = (Dali::Quaternion *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      result = Dali::Quaternion::Slerp((Dali::Quaternion const &)*arg1,(Dali::Quaternion const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Quaternion((const Dali::Quaternion &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_SlerpNoInvert(void * jarg1, void * jarg2, float jarg3) {
+  void * jresult ;
+  Dali::Quaternion *arg1 = 0 ;
+  Dali::Quaternion *arg2 = 0 ;
+  float arg3 ;
+  Dali::Quaternion result;
+  
+  arg1 = (Dali::Quaternion *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  arg2 = (Dali::Quaternion *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      result = Dali::Quaternion::SlerpNoInvert((Dali::Quaternion const &)*arg1,(Dali::Quaternion const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Quaternion((const Dali::Quaternion &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rotation_Squad(void * jarg1, void * jarg2, void * jarg3, void * jarg4, float jarg5) {
+  void * jresult ;
+  Dali::Quaternion *arg1 = 0 ;
+  Dali::Quaternion *arg2 = 0 ;
+  Dali::Quaternion *arg3 = 0 ;
+  Dali::Quaternion *arg4 = 0 ;
+  float arg5 ;
+  Dali::Quaternion result;
+  
+  arg1 = (Dali::Quaternion *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  arg2 = (Dali::Quaternion *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  arg3 = (Dali::Quaternion *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  arg4 = (Dali::Quaternion *)jarg4;
+  if (!arg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  arg5 = (float)jarg5; 
+  {
+    try {
+      result = Dali::Quaternion::Squad((Dali::Quaternion const &)*arg1,(Dali::Quaternion const &)*arg2,(Dali::Quaternion const &)*arg3,(Dali::Quaternion const &)*arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Quaternion((const Dali::Quaternion &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Rotation_AngleBetween(void * jarg1, void * jarg2) {
+  float jresult ;
+  Dali::Quaternion *arg1 = 0 ;
+  Dali::Quaternion *arg2 = 0 ;
+  float result;
+  
+  arg1 = (Dali::Quaternion *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  arg2 = (Dali::Quaternion *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (float)Dali::Quaternion::AngleBetween((Dali::Quaternion const &)*arg1,(Dali::Quaternion const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Matrix__SWIG_0() {
+  void * jresult ;
+  Dali::Matrix *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Matrix *)new Dali::Matrix();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Matrix__SWIG_1(unsigned int jarg1) {
+  void * jresult ;
+  bool arg1 ;
+  Dali::Matrix *result = 0 ;
+  
+  arg1 = jarg1 ? true : false; 
+  {
+    try {
+      result = (Dali::Matrix *)new Dali::Matrix(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Matrix__SWIG_2(float* jarg1) {
+  void * jresult ;
+  float *arg1 = (float *) 0 ;
+  Dali::Matrix *result = 0 ;
+  
+  arg1 = jarg1;
+  {
+    try {
+      result = (Dali::Matrix *)new Dali::Matrix((float const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Matrix__SWIG_3(void * jarg1) {
+  void * jresult ;
+  Dali::Quaternion *arg1 = 0 ;
+  Dali::Matrix *result = 0 ;
+  
+  arg1 = (Dali::Quaternion *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Matrix *)new Dali::Matrix((Dali::Quaternion const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Matrix__SWIG_4(void * jarg1) {
+  void * jresult ;
+  Dali::Matrix *arg1 = 0 ;
+  Dali::Matrix *result = 0 ;
+  
+  arg1 = (Dali::Matrix *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Matrix const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Matrix *)new Dali::Matrix((Dali::Matrix const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Matrix_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  Dali::Matrix *arg2 = 0 ;
+  Dali::Matrix *result = 0 ;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  arg2 = (Dali::Matrix *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Matrix const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Matrix *) &(arg1)->operator =((Dali::Matrix const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Matrix_IDENTITY_get() {
+  void * jresult ;
+  Dali::Matrix *result = 0 ;
+  
+  result = (Dali::Matrix *)&Dali::Matrix::IDENTITY;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Matrix_SetIdentity(void * jarg1) {
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  {
+    try {
+      (arg1)->SetIdentity();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Matrix_SetIdentityAndScale(void * jarg1, void * jarg2) {
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetIdentityAndScale((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Matrix_InvertTransform(void * jarg1, void * jarg2) {
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  Dali::Matrix *arg2 = 0 ;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  arg2 = (Dali::Matrix *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Matrix & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      ((Dali::Matrix const *)arg1)->InvertTransform(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Matrix_Invert(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  {
+    try {
+      result = (bool)(arg1)->Invert();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Matrix_Transpose(void * jarg1) {
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  {
+    try {
+      (arg1)->Transpose();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Matrix_GetXAxis(void * jarg1) {
+  void * jresult ;
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  {
+    try {
+      result = ((Dali::Matrix const *)arg1)->GetXAxis();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Matrix_GetYAxis(void * jarg1) {
+  void * jresult ;
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  {
+    try {
+      result = ((Dali::Matrix const *)arg1)->GetYAxis();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Matrix_GetZAxis(void * jarg1) {
+  void * jresult ;
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  {
+    try {
+      result = ((Dali::Matrix const *)arg1)->GetZAxis();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Matrix_SetXAxis(void * jarg1, void * jarg2) {
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetXAxis((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Matrix_SetYAxis(void * jarg1, void * jarg2) {
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetYAxis((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Matrix_SetZAxis(void * jarg1, void * jarg2) {
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetZAxis((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Matrix_GetTranslation(void * jarg1) {
+  void * jresult ;
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  Dali::Vector4 *result = 0 ;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  {
+    try {
+      result = (Dali::Vector4 *) &((Dali::Matrix const *)arg1)->GetTranslation();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Matrix_GetTranslation3(void * jarg1) {
+  void * jresult ;
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  Dali::Vector3 *result = 0 ;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  {
+    try {
+      result = (Dali::Vector3 *) &((Dali::Matrix const *)arg1)->GetTranslation3();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Matrix_SetTranslation__SWIG_0(void * jarg1, void * jarg2) {
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetTranslation((Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Matrix_SetTranslation__SWIG_1(void * jarg1, void * jarg2) {
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetTranslation((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Matrix_OrthoNormalize(void * jarg1) {
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  {
+    try {
+      (arg1)->OrthoNormalize();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Matrix_AsFloat__SWIG_0(void * jarg1) {
+  void * jresult ;
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  float *result = 0 ;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  {
+    try {
+      result = (float *)((Dali::Matrix const *)arg1)->AsFloat();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Matrix_Multiply__SWIG_0(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Matrix *arg1 = 0 ;
+  Dali::Matrix *arg2 = 0 ;
+  Dali::Matrix *arg3 = 0 ;
+  
+  arg1 = (Dali::Matrix *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Matrix & type is null", 0);
+    return ;
+  } 
+  arg2 = (Dali::Matrix *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Matrix const & type is null", 0);
+    return ;
+  } 
+  arg3 = (Dali::Matrix *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Matrix const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      Dali::Matrix::Multiply(*arg1,(Dali::Matrix const &)*arg2,(Dali::Matrix const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Matrix_Multiply__SWIG_1(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Matrix *arg1 = 0 ;
+  Dali::Matrix *arg2 = 0 ;
+  Dali::Quaternion *arg3 = 0 ;
+  
+  arg1 = (Dali::Matrix *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Matrix & type is null", 0);
+    return ;
+  } 
+  arg2 = (Dali::Matrix *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Matrix const & type is null", 0);
+    return ;
+  } 
+  arg3 = (Dali::Quaternion *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      Dali::Matrix::Multiply(*arg1,(Dali::Matrix const &)*arg2,(Dali::Quaternion const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Matrix_Multiply__SWIG_2(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  Dali::Vector4 result;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = ((Dali::Matrix const *)arg1)->operator *((Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector4((const Dali::Vector4 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Matrix_EqualTo(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  Dali::Matrix *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  arg2 = (Dali::Matrix *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Matrix const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Matrix const *)arg1)->operator ==((Dali::Matrix const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Matrix_NotEqualTo(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  Dali::Matrix *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  arg2 = (Dali::Matrix *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Matrix const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Matrix const *)arg1)->operator !=((Dali::Matrix const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Matrix_SetTransformComponents(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  Dali::Quaternion *arg3 = 0 ;
+  Dali::Vector3 *arg4 = 0 ;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  arg3 = (Dali::Quaternion *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return ;
+  } 
+  arg4 = (Dali::Vector3 *)jarg4;
+  if (!arg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetTransformComponents((Dali::Vector3 const &)*arg2,(Dali::Quaternion const &)*arg3,(Dali::Vector3 const &)*arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Matrix_SetInverseTransformComponents__SWIG_0(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  Dali::Quaternion *arg3 = 0 ;
+  Dali::Vector3 *arg4 = 0 ;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  arg3 = (Dali::Quaternion *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return ;
+  } 
+  arg4 = (Dali::Vector3 *)jarg4;
+  if (!arg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetInverseTransformComponents((Dali::Vector3 const &)*arg2,(Dali::Quaternion const &)*arg3,(Dali::Vector3 const &)*arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Matrix_SetInverseTransformComponents__SWIG_1(void * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5) {
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  Dali::Vector3 *arg3 = 0 ;
+  Dali::Vector3 *arg4 = 0 ;
+  Dali::Vector3 *arg5 = 0 ;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  arg3 = (Dali::Vector3 *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  arg4 = (Dali::Vector3 *)jarg4;
+  if (!arg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  arg5 = (Dali::Vector3 *)jarg5;
+  if (!arg5) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetInverseTransformComponents((Dali::Vector3 const &)*arg2,(Dali::Vector3 const &)*arg3,(Dali::Vector3 const &)*arg4,(Dali::Vector3 const &)*arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Matrix_GetTransformComponents(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  Dali::Quaternion *arg3 = 0 ;
+  Dali::Vector3 *arg4 = 0 ;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 & type is null", 0);
+    return ;
+  } 
+  arg3 = (Dali::Quaternion *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion & type is null", 0);
+    return ;
+  } 
+  arg4 = (Dali::Vector3 *)jarg4;
+  if (!arg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      ((Dali::Matrix const *)arg1)->GetTransformComponents(*arg2,*arg3,*arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Matrix(void * jarg1) {
+  Dali::Matrix *arg1 = (Dali::Matrix *) 0 ;
+  
+  arg1 = (Dali::Matrix *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Matrix3_IDENTITY_get() {
+  void * jresult ;
+  Dali::Matrix3 *result = 0 ;
+  
+  result = (Dali::Matrix3 *)&Dali::Matrix3::IDENTITY;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Matrix3__SWIG_0() {
+  void * jresult ;
+  Dali::Matrix3 *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Matrix3 *)new Dali::Matrix3();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Matrix3__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Matrix3 *arg1 = 0 ;
+  Dali::Matrix3 *result = 0 ;
+  
+  arg1 = (Dali::Matrix3 *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Matrix3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Matrix3 *)new Dali::Matrix3((Dali::Matrix3 const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Matrix3__SWIG_2(void * jarg1) {
+  void * jresult ;
+  Dali::Matrix *arg1 = 0 ;
+  Dali::Matrix3 *result = 0 ;
+  
+  arg1 = (Dali::Matrix *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Matrix const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Matrix3 *)new Dali::Matrix3((Dali::Matrix const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Matrix3__SWIG_3(float jarg1, float jarg2, float jarg3, float jarg4, float jarg5, float jarg6, float jarg7, float jarg8, float jarg9) {
+  void * jresult ;
+  float arg1 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  float arg5 ;
+  float arg6 ;
+  float arg7 ;
+  float arg8 ;
+  float arg9 ;
+  Dali::Matrix3 *result = 0 ;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  arg5 = (float)jarg5; 
+  arg6 = (float)jarg6; 
+  arg7 = (float)jarg7; 
+  arg8 = (float)jarg8; 
+  arg9 = (float)jarg9; 
+  {
+    try {
+      result = (Dali::Matrix3 *)new Dali::Matrix3(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Matrix3_Assign__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Matrix3 *arg1 = (Dali::Matrix3 *) 0 ;
+  Dali::Matrix3 *arg2 = 0 ;
+  Dali::Matrix3 *result = 0 ;
+  
+  arg1 = (Dali::Matrix3 *)jarg1; 
+  arg2 = (Dali::Matrix3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Matrix3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Matrix3 *) &(arg1)->operator =((Dali::Matrix3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Matrix3_Assign__SWIG_1(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Matrix3 *arg1 = (Dali::Matrix3 *) 0 ;
+  Dali::Matrix *arg2 = 0 ;
+  Dali::Matrix3 *result = 0 ;
+  
+  arg1 = (Dali::Matrix3 *)jarg1; 
+  arg2 = (Dali::Matrix *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Matrix const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Matrix3 *) &(arg1)->operator =((Dali::Matrix const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Matrix3_EqualTo(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Matrix3 *arg1 = (Dali::Matrix3 *) 0 ;
+  Dali::Matrix3 *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Matrix3 *)jarg1; 
+  arg2 = (Dali::Matrix3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Matrix3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Matrix3 const *)arg1)->operator ==((Dali::Matrix3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Matrix3_NotEqualTo(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Matrix3 *arg1 = (Dali::Matrix3 *) 0 ;
+  Dali::Matrix3 *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Matrix3 *)jarg1; 
+  arg2 = (Dali::Matrix3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Matrix3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Matrix3 const *)arg1)->operator !=((Dali::Matrix3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Matrix3(void * jarg1) {
+  Dali::Matrix3 *arg1 = (Dali::Matrix3 *) 0 ;
+  
+  arg1 = (Dali::Matrix3 *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Matrix3_SetIdentity(void * jarg1) {
+  Dali::Matrix3 *arg1 = (Dali::Matrix3 *) 0 ;
+  
+  arg1 = (Dali::Matrix3 *)jarg1; 
+  {
+    try {
+      (arg1)->SetIdentity();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Matrix3_AsFloat__SWIG_0(void * jarg1) {
+  void * jresult ;
+  Dali::Matrix3 *arg1 = (Dali::Matrix3 *) 0 ;
+  float *result = 0 ;
+  
+  arg1 = (Dali::Matrix3 *)jarg1; 
+  {
+    try {
+      result = (float *)((Dali::Matrix3 const *)arg1)->AsFloat();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Matrix3_Invert(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Matrix3 *arg1 = (Dali::Matrix3 *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Matrix3 *)jarg1; 
+  {
+    try {
+      result = (bool)(arg1)->Invert();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Matrix3_Transpose(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Matrix3 *arg1 = (Dali::Matrix3 *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Matrix3 *)jarg1; 
+  {
+    try {
+      result = (bool)(arg1)->Transpose();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Matrix3_Scale(void * jarg1, float jarg2) {
+  Dali::Matrix3 *arg1 = (Dali::Matrix3 *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Matrix3 *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->Scale(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Matrix3_Magnitude(void * jarg1) {
+  float jresult ;
+  Dali::Matrix3 *arg1 = (Dali::Matrix3 *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Matrix3 *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Matrix3 const *)arg1)->Magnitude();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Matrix3_ScaledInverseTranspose(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Matrix3 *arg1 = (Dali::Matrix3 *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Matrix3 *)jarg1; 
+  {
+    try {
+      result = (bool)(arg1)->ScaledInverseTranspose();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Matrix3_Multiply(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Matrix3 *arg1 = 0 ;
+  Dali::Matrix3 *arg2 = 0 ;
+  Dali::Matrix3 *arg3 = 0 ;
+  
+  arg1 = (Dali::Matrix3 *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Matrix3 & type is null", 0);
+    return ;
+  } 
+  arg2 = (Dali::Matrix3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Matrix3 const & type is null", 0);
+    return ;
+  } 
+  arg3 = (Dali::Matrix3 *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Matrix3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      Dali::Matrix3::Multiply(*arg1,(Dali::Matrix3 const &)*arg2,(Dali::Matrix3 const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Range(float jarg1, float jarg2) {
+  float jresult ;
+  float arg1 ;
+  float arg2 ;
+  float result;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (float)Dali::Random::Range(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Axis() {
+  void * jresult ;
+  Dali::Vector4 result;
+  
+  {
+    try {
+      result = Dali::Random::Axis();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector4((const Dali::Vector4 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AngleAxis__SWIG_0() {
+  void * jresult ;
+  Dali::AngleAxis *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::AngleAxis *)new Dali::AngleAxis();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AngleAxis__SWIG_1(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Radian arg1 ;
+  Dali::Vector3 *arg2 = 0 ;
+  Dali::Radian *argp1 ;
+  Dali::AngleAxis *result = 0 ;
+  
+  argp1 = (Dali::Radian *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::AngleAxis *)new Dali::AngleAxis(arg1,(Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AngleAxis_angle_set(void * jarg1, void * jarg2) {
+  Dali::AngleAxis *arg1 = (Dali::AngleAxis *) 0 ;
+  Dali::Radian *arg2 = (Dali::Radian *) 0 ;
+  
+  arg1 = (Dali::AngleAxis *)jarg1; 
+  arg2 = (Dali::Radian *)jarg2; 
+  if (arg1) (arg1)->angle = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AngleAxis_angle_get(void * jarg1) {
+  void * jresult ;
+  Dali::AngleAxis *arg1 = (Dali::AngleAxis *) 0 ;
+  Dali::Radian *result = 0 ;
+  
+  arg1 = (Dali::AngleAxis *)jarg1; 
+  result = (Dali::Radian *)& ((arg1)->angle);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AngleAxis_axis_set(void * jarg1, void * jarg2) {
+  Dali::AngleAxis *arg1 = (Dali::AngleAxis *) 0 ;
+  Dali::Vector3 *arg2 = (Dali::Vector3 *) 0 ;
+  
+  arg1 = (Dali::AngleAxis *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2; 
+  if (arg1) (arg1)->axis = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AngleAxis_axis_get(void * jarg1) {
+  void * jresult ;
+  Dali::AngleAxis *arg1 = (Dali::AngleAxis *) 0 ;
+  Dali::Vector3 *result = 0 ;
+  
+  arg1 = (Dali::AngleAxis *)jarg1; 
+  result = (Dali::Vector3 *)& ((arg1)->axis);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_AngleAxis(void * jarg1) {
+  Dali::AngleAxis *arg1 = (Dali::AngleAxis *) 0 ;
+  
+  arg1 = (Dali::AngleAxis *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_EqualTo__SWIG_9(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::AngleAxis *arg1 = 0 ;
+  Dali::AngleAxis *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::AngleAxis *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::AngleAxis const & type is null", 0);
+    return 0;
+  } 
+  arg2 = (Dali::AngleAxis *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::AngleAxis const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)Dali::operator ==((Dali::AngleAxis const &)*arg1,(Dali::AngleAxis const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_NextPowerOfTwo(unsigned int jarg1) {
+  unsigned int jresult ;
+  unsigned int arg1 ;
+  unsigned int result;
+  
+  arg1 = (unsigned int)jarg1; 
+  {
+    try {
+      result = (unsigned int)Dali::NextPowerOfTwo(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_IsPowerOfTwo(unsigned int jarg1) {
+  unsigned int jresult ;
+  unsigned int arg1 ;
+  bool result;
+  
+  arg1 = (unsigned int)jarg1; 
+  {
+    try {
+      result = (bool)Dali::IsPowerOfTwo(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_GetRangedEpsilon(float jarg1, float jarg2) {
+  float jresult ;
+  float arg1 ;
+  float arg2 ;
+  float result;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (float)Dali::GetRangedEpsilon(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_EqualsZero(float jarg1) {
+  unsigned int jresult ;
+  float arg1 ;
+  bool result;
+  
+  arg1 = (float)jarg1; 
+  {
+    try {
+      result = (bool)Dali::EqualsZero(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Equals__SWIG_0(float jarg1, float jarg2) {
+  unsigned int jresult ;
+  float arg1 ;
+  float arg2 ;
+  bool result;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (bool)Dali::Equals(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Equals__SWIG_1(float jarg1, float jarg2, float jarg3) {
+  unsigned int jresult ;
+  float arg1 ;
+  float arg2 ;
+  float arg3 ;
+  bool result;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      result = (bool)Dali::Equals(arg1,arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Round(float jarg1, int jarg2) {
+  float jresult ;
+  float arg1 ;
+  int arg2 ;
+  float result;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (int)jarg2; 
+  {
+    try {
+      result = (float)Dali::Round(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_WrapInDomain(float jarg1, float jarg2, float jarg3) {
+  float jresult ;
+  float arg1 ;
+  float arg2 ;
+  float arg3 ;
+  float result;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      result = (float)Dali::WrapInDomain(arg1,arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ShortestDistanceInDomain(float jarg1, float jarg2, float jarg3, float jarg4) {
+  float jresult ;
+  float arg1 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  float result;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  {
+    try {
+      result = (float)Dali::ShortestDistanceInDomain(arg1,arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Property_INVALID_INDEX_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)(int)Dali::Property::INVALID_INDEX;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Property_INVALID_KEY_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)(int)Dali::Property::INVALID_KEY;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Property_INVALID_COMPONENT_INDEX_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)(int)Dali::Property::INVALID_COMPONENT_INDEX;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property__SWIG_0(void * jarg1, int jarg2) {
+  void * jresult ;
+  Dali::Handle *arg1 = 0 ;
+  Dali::Property::Index arg2 ;
+  Dali::Property *result = 0 ;
+  
+  arg1 = (Dali::Handle *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Handle & type is null", 0);
+    return 0;
+  } 
+  arg2 = (Dali::Property::Index)jarg2; 
+  {
+    try {
+      result = (Dali::Property *)new Dali::Property(*arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property__SWIG_1(void * jarg1, int jarg2, int jarg3) {
+  void * jresult ;
+  Dali::Handle *arg1 = 0 ;
+  Dali::Property::Index arg2 ;
+  int arg3 ;
+  Dali::Property *result = 0 ;
+  
+  arg1 = (Dali::Handle *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Handle & type is null", 0);
+    return 0;
+  } 
+  arg2 = (Dali::Property::Index)jarg2; 
+  arg3 = (int)jarg3; 
+  {
+    try {
+      result = (Dali::Property *)new Dali::Property(*arg1,arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property__SWIG_2(void * jarg1, char * jarg2) {
+  void * jresult ;
+  Dali::Handle *arg1 = 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property *result = 0 ;
+  
+  arg1 = (Dali::Handle *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Handle & type is null", 0);
+    return 0;
+  } 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      result = (Dali::Property *)new Dali::Property(*arg1,(std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property__SWIG_3(void * jarg1, char * jarg2, int jarg3) {
+  void * jresult ;
+  Dali::Handle *arg1 = 0 ;
+  std::string *arg2 = 0 ;
+  int arg3 ;
+  Dali::Property *result = 0 ;
+  
+  arg1 = (Dali::Handle *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Handle & type is null", 0);
+    return 0;
+  } 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (int)jarg3; 
+  {
+    try {
+      result = (Dali::Property *)new Dali::Property(*arg1,(std::string const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Property(void * jarg1) {
+  Dali::Property *arg1 = (Dali::Property *) 0 ;
+  
+  arg1 = (Dali::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Property__object_set(void * jarg1, void * jarg2) {
+  Dali::Property *arg1 = (Dali::Property *) 0 ;
+  Dali::Handle *arg2 = 0 ;
+  
+  arg1 = (Dali::Property *)jarg1; 
+  arg2 = (Dali::Handle *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Handle & type is null", 0);
+    return ;
+  } 
+  if (arg1) (arg1)->object = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Property__object_get(void * jarg1) {
+  void * jresult ;
+  Dali::Property *arg1 = (Dali::Property *) 0 ;
+  Dali::Handle *result = 0 ;
+  
+  arg1 = (Dali::Property *)jarg1; 
+  result = (Dali::Handle *) &(Dali::Handle &) ((arg1)->object);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Property_propertyIndex_set(void * jarg1, int jarg2) {
+  Dali::Property *arg1 = (Dali::Property *) 0 ;
+  Dali::Property::Index arg2 ;
+  
+  arg1 = (Dali::Property *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  if (arg1) (arg1)->propertyIndex = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Property_propertyIndex_get(void * jarg1) {
+  int jresult ;
+  Dali::Property *arg1 = (Dali::Property *) 0 ;
+  Dali::Property::Index result;
+  
+  arg1 = (Dali::Property *)jarg1; 
+  result = (Dali::Property::Index) ((arg1)->propertyIndex);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Property_componentIndex_set(void * jarg1, int jarg2) {
+  Dali::Property *arg1 = (Dali::Property *) 0 ;
+  int arg2 ;
+  
+  arg1 = (Dali::Property *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->componentIndex = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Property_componentIndex_get(void * jarg1) {
+  int jresult ;
+  Dali::Property *arg1 = (Dali::Property *) 0 ;
+  int result;
+  
+  arg1 = (Dali::Property *)jarg1; 
+  result = (int) ((arg1)->componentIndex);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property_Array__SWIG_0() {
+  void * jresult ;
+  Dali::Property::Array *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Property::Array *)new Dali::Property::Array();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property_Array__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Property::Array *arg1 = 0 ;
+  Dali::Property::Array *result = 0 ;
+  
+  arg1 = (Dali::Property::Array *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Array const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Property::Array *)new Dali::Property::Array((Dali::Property::Array const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Property_Array(void * jarg1) {
+  Dali::Property::Array *arg1 = (Dali::Property::Array *) 0 ;
+  
+  arg1 = (Dali::Property::Array *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_Property_Array_Size(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Property::Array *arg1 = (Dali::Property::Array *) 0 ;
+  Dali::Property::Array::SizeType result;
+  
+  arg1 = (Dali::Property::Array *)jarg1; 
+  {
+    try {
+      result = ((Dali::Property::Array const *)arg1)->Size();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_Property_Array_Count(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Property::Array *arg1 = (Dali::Property::Array *) 0 ;
+  Dali::Property::Array::SizeType result;
+  
+  arg1 = (Dali::Property::Array *)jarg1; 
+  {
+    try {
+      result = ((Dali::Property::Array const *)arg1)->Count();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Property_Array_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Property::Array *arg1 = (Dali::Property::Array *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Property::Array *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Property::Array const *)arg1)->Empty();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Property_Array_Clear(void * jarg1) {
+  Dali::Property::Array *arg1 = (Dali::Property::Array *) 0 ;
+  
+  arg1 = (Dali::Property::Array *)jarg1; 
+  {
+    try {
+      (arg1)->Clear();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Property_Array_Reserve(void * jarg1, unsigned long jarg2) {
+  Dali::Property::Array *arg1 = (Dali::Property::Array *) 0 ;
+  Dali::Property::Array::SizeType arg2 ;
+  
+  arg1 = (Dali::Property::Array *)jarg1; 
+  arg2 = (Dali::Property::Array::SizeType)jarg2; 
+  {
+    try {
+      (arg1)->Reserve(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Property_Array_Resize(void * jarg1, unsigned long jarg2) {
+  Dali::Property::Array *arg1 = (Dali::Property::Array *) 0 ;
+  Dali::Property::Array::SizeType arg2 ;
+  
+  arg1 = (Dali::Property::Array *)jarg1; 
+  arg2 = (Dali::Property::Array::SizeType)jarg2; 
+  {
+    try {
+      (arg1)->Resize(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_Property_Array_Capacity(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Property::Array *arg1 = (Dali::Property::Array *) 0 ;
+  Dali::Property::Array::SizeType result;
+  
+  arg1 = (Dali::Property::Array *)jarg1; 
+  {
+    try {
+      result = (arg1)->Capacity();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Property_Array_PushBack(void * jarg1, void * jarg2) {
+  Dali::Property::Array *arg1 = (Dali::Property::Array *) 0 ;
+  Dali::Property::Value *arg2 = 0 ;
+  
+  arg1 = (Dali::Property::Array *)jarg1; 
+  arg2 = (Dali::Property::Value *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Value const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->PushBack((Dali::Property::Value const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Property_Array_Add(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Property::Array *arg1 = (Dali::Property::Array *) 0 ;
+  Dali::Property::Value *arg2 = 0 ;
+  Dali::Property::Array *result = 0 ;
+  
+  arg1 = (Dali::Property::Array *)jarg1; 
+  arg2 = (Dali::Property::Value *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Value const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Property::Array *) &(arg1)->Add((Dali::Property::Value const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Property_Array_GetElementAt__SWIG_0(void * jarg1, unsigned long jarg2) {
+  void * jresult ;
+  Dali::Property::Array *arg1 = (Dali::Property::Array *) 0 ;
+  Dali::Property::Array::SizeType arg2 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (Dali::Property::Array *)jarg1; 
+  arg2 = (Dali::Property::Array::SizeType)jarg2; 
+  {
+    try {
+      result = (Dali::Property::Value *) &((Dali::Property::Array const *)arg1)->GetElementAt(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Property_Array_ValueOfIndex__SWIG_0(void * jarg1, unsigned long jarg2) {
+  void * jresult ;
+  Dali::Property::Array *arg1 = (Dali::Property::Array *) 0 ;
+  Dali::Property::Array::SizeType arg2 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (Dali::Property::Array *)jarg1; 
+  arg2 = (Dali::Property::Array::SizeType)jarg2; 
+  {
+    try {
+      result = (Dali::Property::Value *) &((Dali::Property::Array const *)arg1)->operator [](arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Property_Array_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Property::Array *arg1 = (Dali::Property::Array *) 0 ;
+  Dali::Property::Array *arg2 = 0 ;
+  Dali::Property::Array *result = 0 ;
+  
+  arg1 = (Dali::Property::Array *)jarg1; 
+  arg2 = (Dali::Property::Array *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Array const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Property::Array *) &(arg1)->operator =((Dali::Property::Array const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Property_Key_type_set(void * jarg1, int jarg2) {
+  Dali::Property::Key *arg1 = (Dali::Property::Key *) 0 ;
+  enum Dali::Property::Key::Type arg2 ;
+  
+  arg1 = (Dali::Property::Key *)jarg1; 
+  arg2 = (enum Dali::Property::Key::Type)jarg2; 
+  if (arg1) (arg1)->type = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Property_Key_type_get(void * jarg1) {
+  int jresult ;
+  Dali::Property::Key *arg1 = (Dali::Property::Key *) 0 ;
+  enum Dali::Property::Key::Type result;
+  
+  arg1 = (Dali::Property::Key *)jarg1; 
+  result = (enum Dali::Property::Key::Type) ((arg1)->type);
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Property_Key_indexKey_set(void * jarg1, int jarg2) {
+  Dali::Property::Key *arg1 = (Dali::Property::Key *) 0 ;
+  Dali::Property::Index arg2 ;
+  
+  arg1 = (Dali::Property::Key *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  if (arg1) (arg1)->indexKey = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Property_Key_indexKey_get(void * jarg1) {
+  int jresult ;
+  Dali::Property::Key *arg1 = (Dali::Property::Key *) 0 ;
+  Dali::Property::Index result;
+  
+  arg1 = (Dali::Property::Key *)jarg1; 
+  result = (Dali::Property::Index) ((arg1)->indexKey);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Property_Key_stringKey_set(void * jarg1, char * jarg2) {
+  Dali::Property::Key *arg1 = (Dali::Property::Key *) 0 ;
+  std::string *arg2 = 0 ;
+  
+  arg1 = (Dali::Property::Key *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  if (arg1) (arg1)->stringKey = *arg2;
+  
+  //argout typemap for const std::string&
+  
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_Property_Key_stringKey_get(void * jarg1) {
+  char * jresult ;
+  Dali::Property::Key *arg1 = (Dali::Property::Key *) 0 ;
+  std::string *result = 0 ;
+  
+  arg1 = (Dali::Property::Key *)jarg1; 
+  result = (std::string *) & ((arg1)->stringKey);
+  jresult = SWIG_csharp_string_callback(result->c_str()); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property_Key__SWIG_0(char * jarg1) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::Property::Key *result = 0 ;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  {
+    try {
+      result = (Dali::Property::Key *)new Dali::Property::Key((std::string const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property_Key__SWIG_1(int jarg1) {
+  void * jresult ;
+  Dali::Property::Index arg1 ;
+  Dali::Property::Key *result = 0 ;
+  
+  arg1 = (Dali::Property::Index)jarg1; 
+  {
+    try {
+      result = (Dali::Property::Key *)new Dali::Property::Key(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Property_Key_EqualTo__SWIG_0(void * jarg1, char * jarg2) {
+  unsigned int jresult ;
+  Dali::Property::Key *arg1 = (Dali::Property::Key *) 0 ;
+  std::string *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Property::Key *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      result = (bool)(arg1)->operator ==((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Property_Key_EqualTo__SWIG_1(void * jarg1, int jarg2) {
+  unsigned int jresult ;
+  Dali::Property::Key *arg1 = (Dali::Property::Key *) 0 ;
+  Dali::Property::Index arg2 ;
+  bool result;
+  
+  arg1 = (Dali::Property::Key *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  {
+    try {
+      result = (bool)(arg1)->operator ==(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Property_Key_EqualTo__SWIG_2(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Property::Key *arg1 = (Dali::Property::Key *) 0 ;
+  Dali::Property::Key *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Property::Key *)jarg1; 
+  arg2 = (Dali::Property::Key *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Key const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)(arg1)->operator ==((Dali::Property::Key const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Property_Key_NotEqualTo__SWIG_0(void * jarg1, char * jarg2) {
+  unsigned int jresult ;
+  Dali::Property::Key *arg1 = (Dali::Property::Key *) 0 ;
+  std::string *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Property::Key *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      result = (bool)(arg1)->operator !=((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Property_Key_NotEqualTo__SWIG_1(void * jarg1, int jarg2) {
+  unsigned int jresult ;
+  Dali::Property::Key *arg1 = (Dali::Property::Key *) 0 ;
+  Dali::Property::Index arg2 ;
+  bool result;
+  
+  arg1 = (Dali::Property::Key *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  {
+    try {
+      result = (bool)(arg1)->operator !=(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Property_Key_NotEqualTo__SWIG_2(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Property::Key *arg1 = (Dali::Property::Key *) 0 ;
+  Dali::Property::Key *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Property::Key *)jarg1; 
+  arg2 = (Dali::Property::Key *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Key const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)(arg1)->operator !=((Dali::Property::Key const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Property_Key(void * jarg1) {
+  Dali::Property::Key *arg1 = (Dali::Property::Key *) 0 ;
+  
+  arg1 = (Dali::Property::Key *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property_Map__SWIG_0() {
+  void * jresult ;
+  Dali::Property::Map *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Property::Map *)new Dali::Property::Map();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property_Map__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Property::Map *arg1 = 0 ;
+  Dali::Property::Map *result = 0 ;
+  
+  arg1 = (Dali::Property::Map *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Map const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Property::Map *)new Dali::Property::Map((Dali::Property::Map const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Property_Map(void * jarg1) {
+  Dali::Property::Map *arg1 = (Dali::Property::Map *) 0 ;
+  
+  arg1 = (Dali::Property::Map *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_Property_Map_Count(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Property::Map *arg1 = (Dali::Property::Map *) 0 ;
+  Dali::Property::Map::SizeType result;
+  
+  arg1 = (Dali::Property::Map *)jarg1; 
+  {
+    try {
+      result = ((Dali::Property::Map const *)arg1)->Count();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Property_Map_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Property::Map *arg1 = (Dali::Property::Map *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Property::Map *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Property::Map const *)arg1)->Empty();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Property_Map_Insert__SWIG_0(void * jarg1, char * jarg2, void * jarg3) {
+  Dali::Property::Map *arg1 = (Dali::Property::Map *) 0 ;
+  char *arg2 = (char *) 0 ;
+  Dali::Property::Value *arg3 = 0 ;
+  
+  arg1 = (Dali::Property::Map *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (Dali::Property::Value *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Value const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Insert((char const *)arg2,(Dali::Property::Value const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Property_Map_Insert__SWIG_2(void * jarg1, int jarg2, void * jarg3) {
+  Dali::Property::Map *arg1 = (Dali::Property::Map *) 0 ;
+  Dali::Property::Index arg2 ;
+  Dali::Property::Value *arg3 = 0 ;
+  
+  arg1 = (Dali::Property::Map *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  arg3 = (Dali::Property::Value *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Value const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Insert(arg2,(Dali::Property::Value const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Property_Map_Add__SWIG_0(void * jarg1, char * jarg2, void * jarg3) {
+  void * jresult ;
+  Dali::Property::Map *arg1 = (Dali::Property::Map *) 0 ;
+  char *arg2 = (char *) 0 ;
+  Dali::Property::Value *arg3 = 0 ;
+  Dali::Property::Map *result = 0 ;
+  
+  arg1 = (Dali::Property::Map *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (Dali::Property::Value *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Value const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Property::Map *) &(arg1)->Add((char const *)arg2,(Dali::Property::Value const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Property_Map_Add__SWIG_2(void * jarg1, int jarg2, void * jarg3) {
+  void * jresult ;
+  Dali::Property::Map *arg1 = (Dali::Property::Map *) 0 ;
+  Dali::Property::Index arg2 ;
+  Dali::Property::Value *arg3 = 0 ;
+  Dali::Property::Map *result = 0 ;
+  
+  arg1 = (Dali::Property::Map *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  arg3 = (Dali::Property::Value *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Value const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Property::Map *) &(arg1)->Add(arg2,(Dali::Property::Value const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Property_Map_GetValue(void * jarg1, unsigned long jarg2) {
+  void * jresult ;
+  Dali::Property::Map *arg1 = (Dali::Property::Map *) 0 ;
+  Dali::Property::Map::SizeType arg2 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (Dali::Property::Map *)jarg1; 
+  arg2 = (Dali::Property::Map::SizeType)jarg2; 
+  {
+    try {
+      result = (Dali::Property::Value *) &((Dali::Property::Map const *)arg1)->GetValue(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_Property_Map_GetKey(void * jarg1, unsigned long jarg2) {
+  char * jresult ;
+  Dali::Property::Map *arg1 = (Dali::Property::Map *) 0 ;
+  Dali::Property::Map::SizeType arg2 ;
+  std::string *result = 0 ;
+  
+  arg1 = (Dali::Property::Map *)jarg1; 
+  arg2 = (Dali::Property::Map::SizeType)jarg2; 
+  {
+    try {
+      result = (std::string *) &((Dali::Property::Map const *)arg1)->GetKey(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = SWIG_csharp_string_callback(result->c_str()); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Property_Map_GetKeyAt(void * jarg1, unsigned long jarg2) {
+  void * jresult ;
+  Dali::Property::Map *arg1 = (Dali::Property::Map *) 0 ;
+  Dali::Property::Map::SizeType arg2 ;
+  SwigValueWrapper< Dali::Property::Key > result;
+  
+  arg1 = (Dali::Property::Map *)jarg1; 
+  arg2 = (Dali::Property::Map::SizeType)jarg2; 
+  {
+    try {
+      result = ((Dali::Property::Map const *)arg1)->GetKeyAt(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Property::Key((const Dali::Property::Key &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Property_Map_GetPair(void * jarg1, unsigned long jarg2) {
+  void * jresult ;
+  Dali::Property::Map *arg1 = (Dali::Property::Map *) 0 ;
+  Dali::Property::Map::SizeType arg2 ;
+  StringValuePair *result = 0 ;
+  
+  arg1 = (Dali::Property::Map *)jarg1; 
+  arg2 = (Dali::Property::Map::SizeType)jarg2; 
+  {
+    try {
+      result = (StringValuePair *) &((Dali::Property::Map const *)arg1)->GetPair(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Property_Map_Find__SWIG_0(void * jarg1, char * jarg2) {
+  void * jresult ;
+  Dali::Property::Map *arg1 = (Dali::Property::Map *) 0 ;
+  char *arg2 = (char *) 0 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (Dali::Property::Map *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    try {
+      result = (Dali::Property::Value *)((Dali::Property::Map const *)arg1)->Find((char const *)arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Property_Map_Find__SWIG_2(void * jarg1, int jarg2) {
+  void * jresult ;
+  Dali::Property::Map *arg1 = (Dali::Property::Map *) 0 ;
+  Dali::Property::Index arg2 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (Dali::Property::Map *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  {
+    try {
+      result = (Dali::Property::Value *)((Dali::Property::Map const *)arg1)->Find(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Property_Map_Find__SWIG_3(void * jarg1, int jarg2, char * jarg3) {
+  void * jresult ;
+  Dali::Property::Map *arg1 = (Dali::Property::Map *) 0 ;
+  Dali::Property::Index arg2 ;
+  std::string *arg3 = 0 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (Dali::Property::Map *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  if (!jarg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg3_str(jarg3);
+  arg3 = &arg3_str; 
+  {
+    try {
+      result = (Dali::Property::Value *)((Dali::Property::Map const *)arg1)->Find(arg2,(std::string const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Property_Map_Find__SWIG_4(void * jarg1, char * jarg2, int jarg3) {
+  void * jresult ;
+  Dali::Property::Map *arg1 = (Dali::Property::Map *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property::Type arg3 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (Dali::Property::Map *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::Property::Type)jarg3; 
+  {
+    try {
+      result = (Dali::Property::Value *)((Dali::Property::Map const *)arg1)->Find((std::string const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Property_Map_Find__SWIG_5(void * jarg1, int jarg2, int jarg3) {
+  void * jresult ;
+  Dali::Property::Map *arg1 = (Dali::Property::Map *) 0 ;
+  Dali::Property::Index arg2 ;
+  Dali::Property::Type arg3 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (Dali::Property::Map *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  arg3 = (Dali::Property::Type)jarg3; 
+  {
+    try {
+      result = (Dali::Property::Value *)((Dali::Property::Map const *)arg1)->Find(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Property_Map_Clear(void * jarg1) {
+  Dali::Property::Map *arg1 = (Dali::Property::Map *) 0 ;
+  
+  arg1 = (Dali::Property::Map *)jarg1; 
+  {
+    try {
+      (arg1)->Clear();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Property_Map_Merge(void * jarg1, void * jarg2) {
+  Dali::Property::Map *arg1 = (Dali::Property::Map *) 0 ;
+  Dali::Property::Map *arg2 = 0 ;
+  
+  arg1 = (Dali::Property::Map *)jarg1; 
+  arg2 = (Dali::Property::Map *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Map const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Merge((Dali::Property::Map const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Property_Map_ValueOfIndex__SWIG_0(void * jarg1, char * jarg2) {
+  void * jresult ;
+  Dali::Property::Map *arg1 = (Dali::Property::Map *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (Dali::Property::Map *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      result = (Dali::Property::Value *) &((Dali::Property::Map const *)arg1)->operator []((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Property_Map_ValueOfIndex__SWIG_2(void * jarg1, int jarg2) {
+  void * jresult ;
+  Dali::Property::Map *arg1 = (Dali::Property::Map *) 0 ;
+  Dali::Property::Index arg2 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (Dali::Property::Map *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  {
+    try {
+      result = (Dali::Property::Value *) &((Dali::Property::Map const *)arg1)->operator [](arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Property_Map_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Property::Map *arg1 = (Dali::Property::Map *) 0 ;
+  Dali::Property::Map *arg2 = 0 ;
+  Dali::Property::Map *result = 0 ;
+  
+  arg1 = (Dali::Property::Map *)jarg1; 
+  arg2 = (Dali::Property::Map *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Map const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Property::Map *) &(arg1)->operator =((Dali::Property::Map const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property_Value__SWIG_0() {
+  void * jresult ;
+  Dali::Property::Value *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Property::Value *)new Dali::Property::Value();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property_Value__SWIG_1(unsigned int jarg1) {
+  void * jresult ;
+  bool arg1 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = jarg1 ? true : false; 
+  {
+    try {
+      result = (Dali::Property::Value *)new Dali::Property::Value(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property_Value__SWIG_2(int jarg1) {
+  void * jresult ;
+  int arg1 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (int)jarg1; 
+  {
+    try {
+      result = (Dali::Property::Value *)new Dali::Property::Value(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property_Value__SWIG_3(float jarg1) {
+  void * jresult ;
+  float arg1 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (float)jarg1; 
+  {
+    try {
+      result = (Dali::Property::Value *)new Dali::Property::Value(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property_Value__SWIG_4(void * jarg1) {
+  void * jresult ;
+  Dali::Vector2 *arg1 = 0 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (Dali::Vector2 *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Property::Value *)new Dali::Property::Value((Dali::Vector2 const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property_Value__SWIG_5(void * jarg1) {
+  void * jresult ;
+  Dali::Vector3 *arg1 = 0 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Property::Value *)new Dali::Property::Value((Dali::Vector3 const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property_Value__SWIG_6(void * jarg1) {
+  void * jresult ;
+  Dali::Vector4 *arg1 = 0 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (Dali::Vector4 *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Property::Value *)new Dali::Property::Value((Dali::Vector4 const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property_Value__SWIG_7(void * jarg1) {
+  void * jresult ;
+  Dali::Matrix3 *arg1 = 0 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (Dali::Matrix3 *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Matrix3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Property::Value *)new Dali::Property::Value((Dali::Matrix3 const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property_Value__SWIG_8(void * jarg1) {
+  void * jresult ;
+  Dali::Matrix *arg1 = 0 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (Dali::Matrix *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Matrix const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Property::Value *)new Dali::Property::Value((Dali::Matrix const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property_Value__SWIG_9(void * jarg1) {
+  void * jresult ;
+  Dali::Rect< int > *arg1 = 0 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (Dali::Rect< int > *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Rect< int > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Property::Value *)new Dali::Property::Value((Dali::Rect< int > const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property_Value__SWIG_10(void * jarg1) {
+  void * jresult ;
+  Dali::AngleAxis *arg1 = 0 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (Dali::AngleAxis *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::AngleAxis const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Property::Value *)new Dali::Property::Value((Dali::AngleAxis const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property_Value__SWIG_11(void * jarg1) {
+  void * jresult ;
+  Dali::Quaternion *arg1 = 0 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (Dali::Quaternion *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Property::Value *)new Dali::Property::Value((Dali::Quaternion const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property_Value__SWIG_12(char * jarg1) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::Property::Value *result = 0 ;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  {
+    try {
+      result = (Dali::Property::Value *)new Dali::Property::Value((std::string const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property_Value__SWIG_14(void * jarg1) {
+  void * jresult ;
+  Dali::Property::Array *arg1 = 0 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (Dali::Property::Array *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Array & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Property::Value *)new Dali::Property::Value(*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property_Value__SWIG_15(void * jarg1) {
+  void * jresult ;
+  Dali::Property::Map *arg1 = 0 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (Dali::Property::Map *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Map & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Property::Value *)new Dali::Property::Value(*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property_Value__SWIG_16(int jarg1) {
+  void * jresult ;
+  Dali::Property::Type arg1 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (Dali::Property::Type)jarg1; 
+  {
+    try {
+      result = (Dali::Property::Value *)new Dali::Property::Value(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Property_Value__SWIG_17(void * jarg1) {
+  void * jresult ;
+  Dali::Property::Value *arg1 = 0 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (Dali::Property::Value *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Value const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Property::Value *)new Dali::Property::Value((Dali::Property::Value const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Property_Value_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Property::Value *arg1 = (Dali::Property::Value *) 0 ;
+  Dali::Property::Value *arg2 = 0 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (Dali::Property::Value *)jarg1; 
+  arg2 = (Dali::Property::Value *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Value const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Property::Value *) &(arg1)->operator =((Dali::Property::Value const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Property_Value(void * jarg1) {
+  Dali::Property::Value *arg1 = (Dali::Property::Value *) 0 ;
+  
+  arg1 = (Dali::Property::Value *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Property_Value_GetType(void * jarg1) {
+  int jresult ;
+  Dali::Property::Value *arg1 = (Dali::Property::Value *) 0 ;
+  Dali::Property::Type result;
+  
+  arg1 = (Dali::Property::Value *)jarg1; 
+  {
+    try {
+      result = (Dali::Property::Type)((Dali::Property::Value const *)arg1)->GetType();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Property_Value_Get__SWIG_1(void * jarg1, unsigned int * jarg2) {
+  unsigned int jresult ;
+  Dali::Property::Value *arg1 = (Dali::Property::Value *) 0 ;
+  bool *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Property::Value *)jarg1; 
+  arg2 = (bool *)jarg2; 
+  {
+    try {
+      result = (bool)((Dali::Property::Value const *)arg1)->Get(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Property_Value_Get__SWIG_2(void * jarg1, float * jarg2) {
+  unsigned int jresult ;
+  Dali::Property::Value *arg1 = (Dali::Property::Value *) 0 ;
+  float *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Property::Value *)jarg1; 
+  arg2 = (float *)jarg2; 
+  {
+    try {
+      result = (bool)((Dali::Property::Value const *)arg1)->Get(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Property_Value_Get__SWIG_3(void * jarg1, int * jarg2) {
+  unsigned int jresult ;
+  Dali::Property::Value *arg1 = (Dali::Property::Value *) 0 ;
+  int *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Property::Value *)jarg1; 
+  arg2 = (int *)jarg2; 
+  {
+    try {
+      result = (bool)((Dali::Property::Value const *)arg1)->Get(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Property_Value_Get__SWIG_4(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Property::Value *arg1 = (Dali::Property::Value *) 0 ;
+  Dali::Rect< int > *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Property::Value *)jarg1; 
+  arg2 = (Dali::Rect< int > *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Rect< int > & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Property::Value const *)arg1)->Get(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Property_Value_Get__SWIG_5(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Property::Value *arg1 = (Dali::Property::Value *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Property::Value *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Property::Value const *)arg1)->Get(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Property_Value_Get__SWIG_6(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Property::Value *arg1 = (Dali::Property::Value *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Property::Value *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Property::Value const *)arg1)->Get(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Property_Value_Get__SWIG_7(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Property::Value *arg1 = (Dali::Property::Value *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Property::Value *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Property::Value const *)arg1)->Get(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Property_Value_Get__SWIG_8(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Property::Value *arg1 = (Dali::Property::Value *) 0 ;
+  Dali::Matrix3 *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Property::Value *)jarg1; 
+  arg2 = (Dali::Matrix3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Matrix3 & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Property::Value const *)arg1)->Get(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Property_Value_Get__SWIG_9(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Property::Value *arg1 = (Dali::Property::Value *) 0 ;
+  Dali::Matrix *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Property::Value *)jarg1; 
+  arg2 = (Dali::Matrix *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Matrix & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Property::Value const *)arg1)->Get(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Property_Value_Get__SWIG_10(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Property::Value *arg1 = (Dali::Property::Value *) 0 ;
+  Dali::AngleAxis *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Property::Value *)jarg1; 
+  arg2 = (Dali::AngleAxis *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::AngleAxis & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Property::Value const *)arg1)->Get(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Property_Value_Get__SWIG_11(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Property::Value *arg1 = (Dali::Property::Value *) 0 ;
+  Dali::Quaternion *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Property::Value *)jarg1; 
+  arg2 = (Dali::Quaternion *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Property::Value const *)arg1)->Get(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Property_Value_Get__SWIG_12(void * jarg1, char** jarg2) {
+  unsigned int jresult ;
+  Dali::Property::Value *arg1 = (Dali::Property::Value *) 0 ;
+  std::string *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Property::Value *)jarg1; 
+  
+  //typemap in
+  std::string temp;
+  arg2 = &temp;
+  
+  {
+    try {
+      result = (bool)((Dali::Property::Value const *)arg1)->Get(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  
+  //Typemap argout in c++ file.
+  //This will convert c++ string to c# string
+  *jarg2 = SWIG_csharp_string_callback(arg2->c_str());
+  
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Property_Value_Get__SWIG_13(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Property::Value *arg1 = (Dali::Property::Value *) 0 ;
+  Dali::Property::Array *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Property::Value *)jarg1; 
+  arg2 = (Dali::Property::Array *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Array & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Property::Value const *)arg1)->Get(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Property_Value_Get__SWIG_14(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Property::Value *arg1 = (Dali::Property::Value *) 0 ;
+  Dali::Property::Map *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Property::Value *)jarg1; 
+  arg2 = (Dali::Property::Map *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Map & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Property::Value const *)arg1)->Get(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Property_Value_GetArray(void * jarg1) {
+  void * jresult ;
+  Dali::Property::Value *arg1 = (Dali::Property::Value *) 0 ;
+  Dali::Property::Array *result = 0 ;
+  
+  arg1 = (Dali::Property::Value *)jarg1; 
+  {
+    try {
+      result = (Dali::Property::Array *)((Dali::Property::Value const *)arg1)->GetArray();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Property_Value_GetMap(void * jarg1) {
+  void * jresult ;
+  Dali::Property::Value *arg1 = (Dali::Property::Value *) 0 ;
+  Dali::Property::Map *result = 0 ;
+  
+  arg1 = (Dali::Property::Value *)jarg1; 
+  {
+    try {
+      result = (Dali::Property::Map *)((Dali::Property::Value const *)arg1)->GetMap();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_GetName(int jarg1) {
+  char * jresult ;
+  Dali::Property::Type arg1 ;
+  char *result = 0 ;
+  
+  arg1 = (Dali::Property::Type)jarg1; 
+  {
+    try {
+      result = (char *)Dali::PropertyTypes::GetName(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_BaseObject_DoAction(void * jarg1, char * jarg2, void * jarg3) {
+  unsigned int jresult ;
+  Dali::BaseObject *arg1 = (Dali::BaseObject *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property::Map *arg3 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::BaseObject *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::Property::Map *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Map const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)(arg1)->DoAction((std::string const &)*arg2,(Dali::Property::Map const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_BaseObject_GetTypeName(void * jarg1) {
+  char * jresult ;
+  Dali::BaseObject *arg1 = (Dali::BaseObject *) 0 ;
+  std::string *result = 0 ;
+  
+  arg1 = (Dali::BaseObject *)jarg1; 
+  {
+    try {
+      result = (std::string *) &((Dali::BaseObject const *)arg1)->GetTypeName();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = SWIG_csharp_string_callback(result->c_str()); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_BaseObject_GetTypeInfo(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::BaseObject *arg1 = (Dali::BaseObject *) 0 ;
+  Dali::TypeInfo *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::BaseObject *)jarg1; 
+  arg2 = (Dali::TypeInfo *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TypeInfo & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::BaseObject const *)arg1)->GetTypeInfo(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_BaseObject_DoConnectSignal(void * jarg1, void * jarg2, char * jarg3, void * jarg4) {
+  unsigned int jresult ;
+  Dali::BaseObject *arg1 = (Dali::BaseObject *) 0 ;
+  ConnectionTrackerInterface *arg2 = (ConnectionTrackerInterface *) 0 ;
+  std::string *arg3 = 0 ;
+  FunctorDelegate *arg4 = (FunctorDelegate *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::BaseObject *)jarg1; 
+  arg2 = (ConnectionTrackerInterface *)jarg2; 
+  if (!jarg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg3_str(jarg3);
+  arg3 = &arg3_str; 
+  arg4 = (FunctorDelegate *)jarg4; 
+  {
+    try {
+      result = (bool)(arg1)->DoConnectSignal(arg2,(std::string const &)*arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_GetImplementation(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle *arg1 = 0 ;
+  Dali::BaseObject *result = 0 ;
+  
+  arg1 = (Dali::BaseHandle *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::BaseHandle const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::BaseObject *) &Dali::GetImplementation((Dali::BaseHandle const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_BaseHandle__SWIG_0(void * jarg1) {
+  void * jresult ;
+  Dali::BaseObject *arg1 = (Dali::BaseObject *) 0 ;
+  Dali::BaseHandle *result = 0 ;
+  
+  arg1 = (Dali::BaseObject *)jarg1; 
+  {
+    try {
+      result = (Dali::BaseHandle *)new Dali::BaseHandle(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_BaseHandle__SWIG_1() {
+  void * jresult ;
+  Dali::BaseHandle *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::BaseHandle *)new Dali::BaseHandle();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_BaseHandle(void * jarg1) {
+  Dali::BaseHandle *arg1 = (Dali::BaseHandle *) 0 ;
+  
+  arg1 = (Dali::BaseHandle *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_BaseHandle__SWIG_2(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle *arg1 = 0 ;
+  Dali::BaseHandle *result = 0 ;
+  
+  arg1 = (Dali::BaseHandle *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::BaseHandle const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::BaseHandle *)new Dali::BaseHandle((Dali::BaseHandle const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_BaseHandle_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::BaseHandle *arg1 = (Dali::BaseHandle *) 0 ;
+  Dali::BaseHandle *arg2 = 0 ;
+  Dali::BaseHandle *result = 0 ;
+  
+  arg1 = (Dali::BaseHandle *)jarg1; 
+  arg2 = (Dali::BaseHandle *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::BaseHandle const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::BaseHandle *) &(arg1)->operator =((Dali::BaseHandle const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_BaseHandle_DoAction(void * jarg1, char * jarg2, void * jarg3) {
+  unsigned int jresult ;
+  Dali::BaseHandle *arg1 = (Dali::BaseHandle *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property::Map *arg3 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::BaseHandle *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::Property::Map *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Map const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)(arg1)->DoAction((std::string const &)*arg2,(Dali::Property::Map const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_BaseHandle_GetTypeName(void * jarg1) {
+  char * jresult ;
+  Dali::BaseHandle *arg1 = (Dali::BaseHandle *) 0 ;
+  std::string *result = 0 ;
+  
+  arg1 = (Dali::BaseHandle *)jarg1; 
+  {
+    try {
+      result = (std::string *) &((Dali::BaseHandle const *)arg1)->GetTypeName();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = SWIG_csharp_string_callback(result->c_str()); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_BaseHandle_GetTypeInfo(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::BaseHandle *arg1 = (Dali::BaseHandle *) 0 ;
+  Dali::TypeInfo *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::BaseHandle *)jarg1; 
+  arg2 = (Dali::TypeInfo *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TypeInfo & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::BaseHandle const *)arg1)->GetTypeInfo(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_BaseHandle_GetBaseObject__SWIG_0(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle *arg1 = (Dali::BaseHandle *) 0 ;
+  Dali::BaseObject *result = 0 ;
+  
+  arg1 = (Dali::BaseHandle *)jarg1; 
+  {
+    try {
+      result = (Dali::BaseObject *) &(arg1)->GetBaseObject();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_BaseHandle_Reset(void * jarg1) {
+  Dali::BaseHandle *arg1 = (Dali::BaseHandle *) 0 ;
+  
+  arg1 = (Dali::BaseHandle *)jarg1; 
+  {
+    try {
+      (arg1)->Reset();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_BaseHandle_EqualTo(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::BaseHandle *arg1 = (Dali::BaseHandle *) 0 ;
+  Dali::BaseHandle *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::BaseHandle *)jarg1; 
+  arg2 = (Dali::BaseHandle *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::BaseHandle const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::BaseHandle const *)arg1)->operator ==((Dali::BaseHandle const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_BaseHandle_NotEqualTo(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::BaseHandle *arg1 = (Dali::BaseHandle *) 0 ;
+  Dali::BaseHandle *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::BaseHandle *)jarg1; 
+  arg2 = (Dali::BaseHandle *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::BaseHandle const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::BaseHandle const *)arg1)->operator !=((Dali::BaseHandle const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_BaseHandle_GetObjectPtr(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle *arg1 = (Dali::BaseHandle *) 0 ;
+  Dali::RefObject *result = 0 ;
+  
+  arg1 = (Dali::BaseHandle *)jarg1; 
+  {
+    try {
+      result = (Dali::RefObject *)((Dali::BaseHandle const *)arg1)->GetObjectPtr();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_BaseHandle_HasBody(void * jarg1) {
+  unsigned int jresult ;
+  Dali::BaseHandle *arg1 = (Dali::BaseHandle *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::BaseHandle *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_BaseHandle_HasBody((Dali::BaseHandle const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_BaseHandle_IsEqual(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::BaseHandle *arg1 = (Dali::BaseHandle *) 0 ;
+  Dali::BaseHandle *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::BaseHandle *)jarg1; 
+  arg2 = (Dali::BaseHandle *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::BaseHandle const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)Dali_BaseHandle_IsEqual((Dali::BaseHandle const *)arg1,(Dali::BaseHandle const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_LessThan__SWIG_3(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::BaseHandle *arg1 = 0 ;
+  Dali::BaseHandle *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::BaseHandle *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::BaseHandle const & type is null", 0);
+    return 0;
+  } 
+  arg2 = (Dali::BaseHandle *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::BaseHandle const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)Dali::operator <((Dali::BaseHandle const &)*arg1,(Dali::BaseHandle const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ConnectionTrackerInterface(void * jarg1) {
+  Dali::ConnectionTrackerInterface *arg1 = (Dali::ConnectionTrackerInterface *) 0 ;
+  
+  arg1 = (Dali::ConnectionTrackerInterface *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ConnectionTrackerInterface_SignalConnected(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::ConnectionTrackerInterface *arg1 = (Dali::ConnectionTrackerInterface *) 0 ;
+  SlotObserver *arg2 = (SlotObserver *) 0 ;
+  CallbackBase *arg3 = (CallbackBase *) 0 ;
+  
+  arg1 = (Dali::ConnectionTrackerInterface *)jarg1; 
+  arg2 = (SlotObserver *)jarg2; 
+  arg3 = (CallbackBase *)jarg3; 
+  {
+    try {
+      (arg1)->SignalConnected(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_SignalObserver(void * jarg1) {
+  Dali::SignalObserver *arg1 = (Dali::SignalObserver *) 0 ;
+  
+  arg1 = (Dali::SignalObserver *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_SignalObserver_SignalDisconnected(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::SignalObserver *arg1 = (Dali::SignalObserver *) 0 ;
+  Dali::SlotObserver *arg2 = (Dali::SlotObserver *) 0 ;
+  Dali::CallbackBase *arg3 = (Dali::CallbackBase *) 0 ;
+  
+  arg1 = (Dali::SignalObserver *)jarg1; 
+  arg2 = (Dali::SlotObserver *)jarg2; 
+  arg3 = (Dali::CallbackBase *)jarg3; 
+  {
+    try {
+      (arg1)->SignalDisconnected(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_SlotObserver(void * jarg1) {
+  Dali::SlotObserver *arg1 = (Dali::SlotObserver *) 0 ;
+  
+  arg1 = (Dali::SlotObserver *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_SlotObserver_SlotDisconnected(void * jarg1, void * jarg2) {
+  Dali::SlotObserver *arg1 = (Dali::SlotObserver *) 0 ;
+  Dali::CallbackBase *arg2 = (Dali::CallbackBase *) 0 ;
+  
+  arg1 = (Dali::SlotObserver *)jarg1; 
+  arg2 = (Dali::CallbackBase *)jarg2; 
+  {
+    try {
+      (arg1)->SlotDisconnected(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ConnectionTracker(void * jarg1) {
+  Dali::ConnectionTracker *arg1 = (Dali::ConnectionTracker *) 0 ;
+  
+  arg1 = (Dali::ConnectionTracker *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ConnectionTracker_DisconnectAll(void * jarg1) {
+  Dali::ConnectionTracker *arg1 = (Dali::ConnectionTracker *) 0 ;
+  
+  arg1 = (Dali::ConnectionTracker *)jarg1; 
+  {
+    try {
+      (arg1)->DisconnectAll();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ConnectionTracker_SignalConnected(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::ConnectionTracker *arg1 = (Dali::ConnectionTracker *) 0 ;
+  Dali::SlotObserver *arg2 = (Dali::SlotObserver *) 0 ;
+  Dali::CallbackBase *arg3 = (Dali::CallbackBase *) 0 ;
+  
+  arg1 = (Dali::ConnectionTracker *)jarg1; 
+  arg2 = (Dali::SlotObserver *)jarg2; 
+  arg3 = (Dali::CallbackBase *)jarg3; 
+  {
+    try {
+      (arg1)->SignalConnected(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ConnectionTracker_SignalDisconnected(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::ConnectionTracker *arg1 = (Dali::ConnectionTracker *) 0 ;
+  Dali::SlotObserver *arg2 = (Dali::SlotObserver *) 0 ;
+  Dali::CallbackBase *arg3 = (Dali::CallbackBase *) 0 ;
+  
+  arg1 = (Dali::ConnectionTracker *)jarg1; 
+  arg2 = (Dali::SlotObserver *)jarg2; 
+  arg3 = (Dali::CallbackBase *)jarg3; 
+  {
+    try {
+      (arg1)->SignalDisconnected(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ConnectionTracker_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::ConnectionTracker *arg1 = (Dali::ConnectionTracker *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::ConnectionTracker *)jarg1; 
+  {
+    try {
+      result = ((Dali::ConnectionTracker const *)arg1)->GetConnectionCount();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ObjectRegistry__SWIG_0() {
+  void * jresult ;
+  Dali::ObjectRegistry *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::ObjectRegistry *)new Dali::ObjectRegistry();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ObjectRegistry(void * jarg1) {
+  Dali::ObjectRegistry *arg1 = (Dali::ObjectRegistry *) 0 ;
+  
+  arg1 = (Dali::ObjectRegistry *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ObjectRegistry__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::ObjectRegistry *arg1 = 0 ;
+  Dali::ObjectRegistry *result = 0 ;
+  
+  arg1 = (Dali::ObjectRegistry *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::ObjectRegistry const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::ObjectRegistry *)new Dali::ObjectRegistry((Dali::ObjectRegistry const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ObjectRegistry_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::ObjectRegistry *arg1 = (Dali::ObjectRegistry *) 0 ;
+  Dali::ObjectRegistry *arg2 = 0 ;
+  Dali::ObjectRegistry *result = 0 ;
+  
+  arg1 = (Dali::ObjectRegistry *)jarg1; 
+  arg2 = (Dali::ObjectRegistry *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::ObjectRegistry const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::ObjectRegistry *) &(arg1)->operator =((Dali::ObjectRegistry const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ObjectRegistry_ObjectCreatedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::ObjectRegistry *arg1 = (Dali::ObjectRegistry *) 0 ;
+  Dali::ObjectRegistry::ObjectCreatedSignalType *result = 0 ;
+  
+  arg1 = (Dali::ObjectRegistry *)jarg1; 
+  {
+    try {
+      result = (Dali::ObjectRegistry::ObjectCreatedSignalType *) &(arg1)->ObjectCreatedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ObjectRegistry_ObjectDestroyedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::ObjectRegistry *arg1 = (Dali::ObjectRegistry *) 0 ;
+  Dali::ObjectRegistry::ObjectDestroyedSignalType *result = 0 ;
+  
+  arg1 = (Dali::ObjectRegistry *)jarg1; 
+  {
+    try {
+      result = (Dali::ObjectRegistry::ObjectDestroyedSignalType *) &(arg1)->ObjectDestroyedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PropertyCondition__SWIG_0() {
+  void * jresult ;
+  Dali::PropertyCondition *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::PropertyCondition *)new Dali::PropertyCondition();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PropertyCondition(void * jarg1) {
+  Dali::PropertyCondition *arg1 = (Dali::PropertyCondition *) 0 ;
+  
+  arg1 = (Dali::PropertyCondition *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PropertyCondition__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::PropertyCondition *arg1 = 0 ;
+  Dali::PropertyCondition *result = 0 ;
+  
+  arg1 = (Dali::PropertyCondition *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PropertyCondition const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::PropertyCondition *)new Dali::PropertyCondition((Dali::PropertyCondition const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PropertyCondition_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::PropertyCondition *arg1 = (Dali::PropertyCondition *) 0 ;
+  Dali::PropertyCondition *arg2 = 0 ;
+  Dali::PropertyCondition *result = 0 ;
+  
+  arg1 = (Dali::PropertyCondition *)jarg1; 
+  arg2 = (Dali::PropertyCondition *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PropertyCondition const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::PropertyCondition *) &(arg1)->operator =((Dali::PropertyCondition const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_PropertyCondition_GetArgumentCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::PropertyCondition *arg1 = (Dali::PropertyCondition *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::PropertyCondition *)jarg1; 
+  {
+    try {
+      result = ((Dali::PropertyCondition const *)arg1)->GetArgumentCount();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PropertyCondition_GetArgument(void * jarg1, unsigned long jarg2) {
+  float jresult ;
+  Dali::PropertyCondition *arg1 = (Dali::PropertyCondition *) 0 ;
+  std::size_t arg2 ;
+  float result;
+  
+  arg1 = (Dali::PropertyCondition *)jarg1; 
+  arg2 = (std::size_t)jarg2; 
+  {
+    try {
+      result = (float)((Dali::PropertyCondition const *)arg1)->GetArgument(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_LessThanCondition(float jarg1) {
+  void * jresult ;
+  float arg1 ;
+  Dali::PropertyCondition result;
+  
+  arg1 = (float)jarg1; 
+  {
+    try {
+      result = Dali::LessThanCondition(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PropertyCondition((const Dali::PropertyCondition &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_GreaterThanCondition(float jarg1) {
+  void * jresult ;
+  float arg1 ;
+  Dali::PropertyCondition result;
+  
+  arg1 = (float)jarg1; 
+  {
+    try {
+      result = Dali::GreaterThanCondition(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PropertyCondition((const Dali::PropertyCondition &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_InsideCondition(float jarg1, float jarg2) {
+  void * jresult ;
+  float arg1 ;
+  float arg2 ;
+  Dali::PropertyCondition result;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = Dali::InsideCondition(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PropertyCondition((const Dali::PropertyCondition &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_OutsideCondition(float jarg1, float jarg2) {
+  void * jresult ;
+  float arg1 ;
+  float arg2 ;
+  Dali::PropertyCondition result;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = Dali::OutsideCondition(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PropertyCondition((const Dali::PropertyCondition &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_StepCondition__SWIG_0(float jarg1, float jarg2) {
+  void * jresult ;
+  float arg1 ;
+  float arg2 ;
+  Dali::PropertyCondition result;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = Dali::StepCondition(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PropertyCondition((const Dali::PropertyCondition &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_StepCondition__SWIG_1(float jarg1) {
+  void * jresult ;
+  float arg1 ;
+  Dali::PropertyCondition result;
+  
+  arg1 = (float)jarg1; 
+  {
+    try {
+      result = Dali::StepCondition(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PropertyCondition((const Dali::PropertyCondition &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VariableStepCondition(void * jarg1) {
+  void * jresult ;
+  Dali::Vector< float,TypeTraits< float >::IS_TRIVIAL_TYPE==true > *arg1 = 0 ;
+  Dali::PropertyCondition result;
+  
+  arg1 = (Dali::Vector< float,TypeTraits< float >::IS_TRIVIAL_TYPE==true > *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< float,TypeTraits< float >::IS_TRIVIAL_TYPE==true > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = Dali::VariableStepCondition((Dali::Vector< float,TypeTraits< float >::IS_TRIVIAL_TYPE==true > const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PropertyCondition((const Dali::PropertyCondition &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PropertyNotification__SWIG_0() {
+  void * jresult ;
+  Dali::PropertyNotification *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::PropertyNotification *)new Dali::PropertyNotification();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PropertyNotification_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::PropertyNotification result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::PropertyNotification::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PropertyNotification((const Dali::PropertyNotification &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PropertyNotification(void * jarg1) {
+  Dali::PropertyNotification *arg1 = (Dali::PropertyNotification *) 0 ;
+  
+  arg1 = (Dali::PropertyNotification *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PropertyNotification__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::PropertyNotification *arg1 = 0 ;
+  Dali::PropertyNotification *result = 0 ;
+  
+  arg1 = (Dali::PropertyNotification *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PropertyNotification const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::PropertyNotification *)new Dali::PropertyNotification((Dali::PropertyNotification const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PropertyNotification_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::PropertyNotification *arg1 = (Dali::PropertyNotification *) 0 ;
+  Dali::PropertyNotification *arg2 = 0 ;
+  Dali::PropertyNotification *result = 0 ;
+  
+  arg1 = (Dali::PropertyNotification *)jarg1; 
+  arg2 = (Dali::PropertyNotification *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PropertyNotification const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::PropertyNotification *) &(arg1)->operator =((Dali::PropertyNotification const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PropertyNotification_GetCondition__SWIG_0(void * jarg1) {
+  void * jresult ;
+  Dali::PropertyNotification *arg1 = (Dali::PropertyNotification *) 0 ;
+  Dali::PropertyCondition result;
+  
+  arg1 = (Dali::PropertyNotification *)jarg1; 
+  {
+    try {
+      result = (arg1)->GetCondition();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PropertyCondition((const Dali::PropertyCondition &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PropertyNotification_GetTarget(void * jarg1) {
+  void * jresult ;
+  Dali::PropertyNotification *arg1 = (Dali::PropertyNotification *) 0 ;
+  Dali::Handle result;
+  
+  arg1 = (Dali::PropertyNotification *)jarg1; 
+  {
+    try {
+      result = ((Dali::PropertyNotification const *)arg1)->GetTarget();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Handle((const Dali::Handle &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PropertyNotification_GetTargetProperty(void * jarg1) {
+  int jresult ;
+  Dali::PropertyNotification *arg1 = (Dali::PropertyNotification *) 0 ;
+  Dali::Property::Index result;
+  
+  arg1 = (Dali::PropertyNotification *)jarg1; 
+  {
+    try {
+      result = (Dali::Property::Index)((Dali::PropertyNotification const *)arg1)->GetTargetProperty();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PropertyNotification_SetNotifyMode(void * jarg1, int jarg2) {
+  Dali::PropertyNotification *arg1 = (Dali::PropertyNotification *) 0 ;
+  Dali::PropertyNotification::NotifyMode arg2 ;
+  
+  arg1 = (Dali::PropertyNotification *)jarg1; 
+  arg2 = (Dali::PropertyNotification::NotifyMode)jarg2; 
+  {
+    try {
+      (arg1)->SetNotifyMode(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PropertyNotification_GetNotifyMode(void * jarg1) {
+  int jresult ;
+  Dali::PropertyNotification *arg1 = (Dali::PropertyNotification *) 0 ;
+  Dali::PropertyNotification::NotifyMode result;
+  
+  arg1 = (Dali::PropertyNotification *)jarg1; 
+  {
+    try {
+      result = (Dali::PropertyNotification::NotifyMode)(arg1)->GetNotifyMode();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_PropertyNotification_GetNotifyResult(void * jarg1) {
+  unsigned int jresult ;
+  Dali::PropertyNotification *arg1 = (Dali::PropertyNotification *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::PropertyNotification *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::PropertyNotification const *)arg1)->GetNotifyResult();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PropertyNotification_NotifySignal(void * jarg1) {
+  void * jresult ;
+  Dali::PropertyNotification *arg1 = (Dali::PropertyNotification *) 0 ;
+  Dali::PropertyNotifySignalType *result = 0 ;
+  
+  arg1 = (Dali::PropertyNotification *)jarg1; 
+  {
+    try {
+      result = (Dali::PropertyNotifySignalType *) &(arg1)->NotifySignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Handle__SWIG_0() {
+  void * jresult ;
+  Dali::Handle *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Handle *)new Dali::Handle();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Handle_New() {
+  void * jresult ;
+  Dali::Handle result;
+  
+  {
+    try {
+      result = Dali::Handle::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Handle((const Dali::Handle &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Handle(void * jarg1) {
+  Dali::Handle *arg1 = (Dali::Handle *) 0 ;
+  
+  arg1 = (Dali::Handle *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Handle__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Handle *arg1 = 0 ;
+  Dali::Handle *result = 0 ;
+  
+  arg1 = (Dali::Handle *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Handle const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Handle *)new Dali::Handle((Dali::Handle const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Handle_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Handle *arg1 = (Dali::Handle *) 0 ;
+  Dali::Handle *arg2 = 0 ;
+  Dali::Handle *result = 0 ;
+  
+  arg1 = (Dali::Handle *)jarg1; 
+  arg2 = (Dali::Handle *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Handle const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Handle *) &(arg1)->operator =((Dali::Handle const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Handle_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Handle result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Handle::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Handle((const Dali::Handle &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Handle_Supports(void * jarg1, int jarg2) {
+  unsigned int jresult ;
+  Dali::Handle *arg1 = (Dali::Handle *) 0 ;
+  Dali::Handle::Capability arg2 ;
+  bool result;
+  
+  arg1 = (Dali::Handle *)jarg1; 
+  arg2 = (Dali::Handle::Capability)jarg2; 
+  {
+    try {
+      result = (bool)((Dali::Handle const *)arg1)->Supports(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Handle_GetPropertyCount(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Handle *arg1 = (Dali::Handle *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Handle *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::Handle const *)arg1)->GetPropertyCount();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_Handle_GetPropertyName(void * jarg1, int jarg2) {
+  char * jresult ;
+  Dali::Handle *arg1 = (Dali::Handle *) 0 ;
+  Dali::Property::Index arg2 ;
+  std::string result;
+  
+  arg1 = (Dali::Handle *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  {
+    try {
+      result = ((Dali::Handle const *)arg1)->GetPropertyName(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = SWIG_csharp_string_callback((&result)->c_str()); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Handle_GetPropertyIndex(void * jarg1, char * jarg2) {
+  int jresult ;
+  Dali::Handle *arg1 = (Dali::Handle *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property::Index result;
+  
+  arg1 = (Dali::Handle *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      result = (Dali::Property::Index)((Dali::Handle const *)arg1)->GetPropertyIndex((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Handle_IsPropertyWritable(void * jarg1, int jarg2) {
+  unsigned int jresult ;
+  Dali::Handle *arg1 = (Dali::Handle *) 0 ;
+  Dali::Property::Index arg2 ;
+  bool result;
+  
+  arg1 = (Dali::Handle *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  {
+    try {
+      result = (bool)((Dali::Handle const *)arg1)->IsPropertyWritable(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Handle_IsPropertyAnimatable(void * jarg1, int jarg2) {
+  unsigned int jresult ;
+  Dali::Handle *arg1 = (Dali::Handle *) 0 ;
+  Dali::Property::Index arg2 ;
+  bool result;
+  
+  arg1 = (Dali::Handle *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  {
+    try {
+      result = (bool)((Dali::Handle const *)arg1)->IsPropertyAnimatable(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Handle_IsPropertyAConstraintInput(void * jarg1, int jarg2) {
+  unsigned int jresult ;
+  Dali::Handle *arg1 = (Dali::Handle *) 0 ;
+  Dali::Property::Index arg2 ;
+  bool result;
+  
+  arg1 = (Dali::Handle *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  {
+    try {
+      result = (bool)((Dali::Handle const *)arg1)->IsPropertyAConstraintInput(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Handle_GetPropertyType(void * jarg1, int jarg2) {
+  int jresult ;
+  Dali::Handle *arg1 = (Dali::Handle *) 0 ;
+  Dali::Property::Index arg2 ;
+  Dali::Property::Type result;
+  
+  arg1 = (Dali::Handle *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  {
+    try {
+      result = (Dali::Property::Type)((Dali::Handle const *)arg1)->GetPropertyType(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Handle_SetProperty(void * jarg1, int jarg2, void * jarg3) {
+  Dali::Handle *arg1 = (Dali::Handle *) 0 ;
+  Dali::Property::Index arg2 ;
+  Dali::Property::Value *arg3 = 0 ;
+  
+  arg1 = (Dali::Handle *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  arg3 = (Dali::Property::Value *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Value const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetProperty(arg2,(Dali::Property::Value const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Handle_RegisterProperty__SWIG_0(void * jarg1, char * jarg2, void * jarg3) {
+  int jresult ;
+  Dali::Handle *arg1 = (Dali::Handle *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property::Value *arg3 = 0 ;
+  Dali::Property::Index result;
+  
+  arg1 = (Dali::Handle *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::Property::Value *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Value const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Property::Index)(arg1)->RegisterProperty((std::string const &)*arg2,(Dali::Property::Value const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Handle_RegisterProperty__SWIG_1(void * jarg1, char * jarg2, void * jarg3, int jarg4) {
+  int jresult ;
+  Dali::Handle *arg1 = (Dali::Handle *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property::Value *arg3 = 0 ;
+  Dali::Property::AccessMode arg4 ;
+  Dali::Property::Index result;
+  
+  arg1 = (Dali::Handle *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::Property::Value *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Value const & type is null", 0);
+    return 0;
+  } 
+  arg4 = (Dali::Property::AccessMode)jarg4; 
+  {
+    try {
+      result = (Dali::Property::Index)(arg1)->RegisterProperty((std::string const &)*arg2,(Dali::Property::Value const &)*arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Handle_GetProperty(void * jarg1, int jarg2) {
+  void * jresult ;
+  Dali::Handle *arg1 = (Dali::Handle *) 0 ;
+  Dali::Property::Index arg2 ;
+  Dali::Property::Value result;
+  
+  arg1 = (Dali::Handle *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  {
+    try {
+      result = ((Dali::Handle const *)arg1)->GetProperty(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Property::Value((const Dali::Property::Value &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Handle_GetPropertyIndices(void * jarg1, void * jarg2) {
+  Dali::Handle *arg1 = (Dali::Handle *) 0 ;
+  Dali::Property::IndexContainer *arg2 = 0 ;
+  
+  arg1 = (Dali::Handle *)jarg1; 
+  arg2 = (Dali::Property::IndexContainer *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::IndexContainer & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      ((Dali::Handle const *)arg1)->GetPropertyIndices(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Handle_AddPropertyNotification__SWIG_0(void * jarg1, int jarg2, void * jarg3) {
+  void * jresult ;
+  Dali::Handle *arg1 = (Dali::Handle *) 0 ;
+  Dali::Property::Index arg2 ;
+  Dali::PropertyCondition *arg3 = 0 ;
+  Dali::PropertyNotification result;
+  
+  arg1 = (Dali::Handle *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  arg3 = (Dali::PropertyCondition *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PropertyCondition const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (arg1)->AddPropertyNotification(arg2,(Dali::PropertyCondition const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PropertyNotification((const Dali::PropertyNotification &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Handle_AddPropertyNotification__SWIG_1(void * jarg1, int jarg2, int jarg3, void * jarg4) {
+  void * jresult ;
+  Dali::Handle *arg1 = (Dali::Handle *) 0 ;
+  Dali::Property::Index arg2 ;
+  int arg3 ;
+  Dali::PropertyCondition *arg4 = 0 ;
+  Dali::PropertyNotification result;
+  
+  arg1 = (Dali::Handle *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  arg3 = (int)jarg3; 
+  arg4 = (Dali::PropertyCondition *)jarg4;
+  if (!arg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PropertyCondition const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (arg1)->AddPropertyNotification(arg2,arg3,(Dali::PropertyCondition const &)*arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PropertyNotification((const Dali::PropertyNotification &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Handle_RemovePropertyNotification(void * jarg1, void * jarg2) {
+  Dali::Handle *arg1 = (Dali::Handle *) 0 ;
+  Dali::PropertyNotification arg2 ;
+  Dali::PropertyNotification *argp2 ;
+  
+  arg1 = (Dali::Handle *)jarg1; 
+  argp2 = (Dali::PropertyNotification *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::PropertyNotification", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->RemovePropertyNotification(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Handle_RemovePropertyNotifications(void * jarg1) {
+  Dali::Handle *arg1 = (Dali::Handle *) 0 ;
+  
+  arg1 = (Dali::Handle *)jarg1; 
+  {
+    try {
+      (arg1)->RemovePropertyNotifications();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Handle_RemoveConstraints__SWIG_0(void * jarg1) {
+  Dali::Handle *arg1 = (Dali::Handle *) 0 ;
+  
+  arg1 = (Dali::Handle *)jarg1; 
+  {
+    try {
+      (arg1)->RemoveConstraints();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Handle_RemoveConstraints__SWIG_1(void * jarg1, unsigned int jarg2) {
+  Dali::Handle *arg1 = (Dali::Handle *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::Handle *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      (arg1)->RemoveConstraints(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_WEIGHT_get() {
+  int jresult ;
+  Dali::Property::Index result;
+  
+  result = (Dali::Property::Index)(Dali::Property::Index)Dali::WeightObject::WEIGHT;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_New() {
+  void * jresult ;
+  Dali::Handle result;
+  
+  {
+    try {
+      result = Dali::WeightObject::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Handle((const Dali::Handle &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TypeInfo__SWIG_0() {
+  void * jresult ;
+  Dali::TypeInfo *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::TypeInfo *)new Dali::TypeInfo();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TypeInfo(void * jarg1) {
+  Dali::TypeInfo *arg1 = (Dali::TypeInfo *) 0 ;
+  
+  arg1 = (Dali::TypeInfo *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TypeInfo__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::TypeInfo *arg1 = 0 ;
+  Dali::TypeInfo *result = 0 ;
+  
+  arg1 = (Dali::TypeInfo *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TypeInfo const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::TypeInfo *)new Dali::TypeInfo((Dali::TypeInfo const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TypeInfo_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::TypeInfo *arg1 = (Dali::TypeInfo *) 0 ;
+  Dali::TypeInfo *arg2 = 0 ;
+  Dali::TypeInfo *result = 0 ;
+  
+  arg1 = (Dali::TypeInfo *)jarg1; 
+  arg2 = (Dali::TypeInfo *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TypeInfo const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::TypeInfo *) &(arg1)->operator =((Dali::TypeInfo const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_TypeInfo_GetName(void * jarg1) {
+  char * jresult ;
+  Dali::TypeInfo *arg1 = (Dali::TypeInfo *) 0 ;
+  std::string *result = 0 ;
+  
+  arg1 = (Dali::TypeInfo *)jarg1; 
+  {
+    try {
+      result = (std::string *) &((Dali::TypeInfo const *)arg1)->GetName();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = SWIG_csharp_string_callback(result->c_str()); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_TypeInfo_GetBaseName(void * jarg1) {
+  char * jresult ;
+  Dali::TypeInfo *arg1 = (Dali::TypeInfo *) 0 ;
+  std::string *result = 0 ;
+  
+  arg1 = (Dali::TypeInfo *)jarg1; 
+  {
+    try {
+      result = (std::string *) &((Dali::TypeInfo const *)arg1)->GetBaseName();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = SWIG_csharp_string_callback(result->c_str()); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TypeInfo_CreateInstance(void * jarg1) {
+  void * jresult ;
+  Dali::TypeInfo *arg1 = (Dali::TypeInfo *) 0 ;
+  Dali::BaseHandle result;
+  
+  arg1 = (Dali::TypeInfo *)jarg1; 
+  {
+    try {
+      result = ((Dali::TypeInfo const *)arg1)->CreateInstance();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::BaseHandle((const Dali::BaseHandle &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TypeInfo_GetActionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::TypeInfo *arg1 = (Dali::TypeInfo *) 0 ;
+  size_t result;
+  
+  arg1 = (Dali::TypeInfo *)jarg1; 
+  {
+    try {
+      result = ((Dali::TypeInfo const *)arg1)->GetActionCount();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_TypeInfo_GetActionName(void * jarg1, unsigned long jarg2) {
+  char * jresult ;
+  Dali::TypeInfo *arg1 = (Dali::TypeInfo *) 0 ;
+  size_t arg2 ;
+  std::string result;
+  
+  arg1 = (Dali::TypeInfo *)jarg1; 
+  arg2 = (size_t)jarg2; 
+  {
+    try {
+      result = (arg1)->GetActionName(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = SWIG_csharp_string_callback((&result)->c_str()); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TypeInfo_GetSignalCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::TypeInfo *arg1 = (Dali::TypeInfo *) 0 ;
+  size_t result;
+  
+  arg1 = (Dali::TypeInfo *)jarg1; 
+  {
+    try {
+      result = ((Dali::TypeInfo const *)arg1)->GetSignalCount();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_TypeInfo_GetSignalName(void * jarg1, unsigned long jarg2) {
+  char * jresult ;
+  Dali::TypeInfo *arg1 = (Dali::TypeInfo *) 0 ;
+  size_t arg2 ;
+  std::string result;
+  
+  arg1 = (Dali::TypeInfo *)jarg1; 
+  arg2 = (size_t)jarg2; 
+  {
+    try {
+      result = (arg1)->GetSignalName(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = SWIG_csharp_string_callback((&result)->c_str()); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TypeInfo_GetPropertyCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::TypeInfo *arg1 = (Dali::TypeInfo *) 0 ;
+  size_t result;
+  
+  arg1 = (Dali::TypeInfo *)jarg1; 
+  {
+    try {
+      result = ((Dali::TypeInfo const *)arg1)->GetPropertyCount();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TypeInfo_GetPropertyIndices(void * jarg1, void * jarg2) {
+  Dali::TypeInfo *arg1 = (Dali::TypeInfo *) 0 ;
+  Dali::Property::IndexContainer *arg2 = 0 ;
+  
+  arg1 = (Dali::TypeInfo *)jarg1; 
+  arg2 = (Dali::Property::IndexContainer *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::IndexContainer & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      ((Dali::TypeInfo const *)arg1)->GetPropertyIndices(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_TypeInfo_GetPropertyName(void * jarg1, int jarg2) {
+  char * jresult ;
+  Dali::TypeInfo *arg1 = (Dali::TypeInfo *) 0 ;
+  Dali::Property::Index arg2 ;
+  std::string *result = 0 ;
+  
+  arg1 = (Dali::TypeInfo *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  {
+    try {
+      result = (std::string *) &((Dali::TypeInfo const *)arg1)->GetPropertyName(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = SWIG_csharp_string_callback(result->c_str()); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TypeRegistry_Get() {
+  void * jresult ;
+  Dali::TypeRegistry result;
+  
+  {
+    try {
+      result = Dali::TypeRegistry::Get();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::TypeRegistry((const Dali::TypeRegistry &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TypeRegistry__SWIG_0() {
+  void * jresult ;
+  Dali::TypeRegistry *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::TypeRegistry *)new Dali::TypeRegistry();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TypeRegistry(void * jarg1) {
+  Dali::TypeRegistry *arg1 = (Dali::TypeRegistry *) 0 ;
+  
+  arg1 = (Dali::TypeRegistry *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TypeRegistry__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::TypeRegistry *arg1 = 0 ;
+  Dali::TypeRegistry *result = 0 ;
+  
+  arg1 = (Dali::TypeRegistry *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TypeRegistry const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::TypeRegistry *)new Dali::TypeRegistry((Dali::TypeRegistry const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TypeRegistry_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::TypeRegistry *arg1 = (Dali::TypeRegistry *) 0 ;
+  Dali::TypeRegistry *arg2 = 0 ;
+  Dali::TypeRegistry *result = 0 ;
+  
+  arg1 = (Dali::TypeRegistry *)jarg1; 
+  arg2 = (Dali::TypeRegistry *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TypeRegistry const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::TypeRegistry *) &(arg1)->operator =((Dali::TypeRegistry const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TypeRegistry_GetTypeInfo__SWIG_0(void * jarg1, char * jarg2) {
+  void * jresult ;
+  Dali::TypeRegistry *arg1 = (Dali::TypeRegistry *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::TypeInfo result;
+  
+  arg1 = (Dali::TypeRegistry *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      result = (arg1)->GetTypeInfo((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::TypeInfo((const Dali::TypeInfo &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TypeRegistry_GetTypeInfo__SWIG_1(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::TypeRegistry *arg1 = (Dali::TypeRegistry *) 0 ;
+  std::type_info *arg2 = 0 ;
+  Dali::TypeInfo result;
+  
+  arg1 = (Dali::TypeRegistry *)jarg1; 
+  arg2 = (std::type_info *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::type_info const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (arg1)->GetTypeInfo((std::type_info const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::TypeInfo((const Dali::TypeInfo &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TypeRegistry_GetTypeNameCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::TypeRegistry *arg1 = (Dali::TypeRegistry *) 0 ;
+  size_t result;
+  
+  arg1 = (Dali::TypeRegistry *)jarg1; 
+  {
+    try {
+      result = ((Dali::TypeRegistry const *)arg1)->GetTypeNameCount();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_TypeRegistry_GetTypeName(void * jarg1, unsigned long jarg2) {
+  char * jresult ;
+  Dali::TypeRegistry *arg1 = (Dali::TypeRegistry *) 0 ;
+  size_t arg2 ;
+  std::string result;
+  
+  arg1 = (Dali::TypeRegistry *)jarg1; 
+  arg2 = (size_t)jarg2; 
+  {
+    try {
+      result = ((Dali::TypeRegistry const *)arg1)->GetTypeName(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = SWIG_csharp_string_callback((&result)->c_str()); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TypeRegistry__SWIG_2(void * jarg1) {
+  void * jresult ;
+  Dali::Internal::TypeRegistry *arg1 = (Dali::Internal::TypeRegistry *) 0 ;
+  Dali::TypeRegistry *result = 0 ;
+  
+  arg1 = (Dali::Internal::TypeRegistry *)jarg1; 
+  {
+    try {
+      result = (Dali::TypeRegistry *)new Dali::TypeRegistry(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TypeRegistration__SWIG_0(void * jarg1, void * jarg2, void * jarg3) {
+  void * jresult ;
+  std::type_info *arg1 = 0 ;
+  std::type_info *arg2 = 0 ;
+  Dali::TypeInfo::CreateFunction arg3 = (Dali::TypeInfo::CreateFunction) 0 ;
+  Dali::TypeRegistration *result = 0 ;
+  
+  arg1 = (std::type_info *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::type_info const & type is null", 0);
+    return 0;
+  } 
+  arg2 = (std::type_info *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::type_info const & type is null", 0);
+    return 0;
+  } 
+  arg3 = (Dali::TypeInfo::CreateFunction)jarg3; 
+  {
+    try {
+      result = (Dali::TypeRegistration *)new Dali::TypeRegistration((std::type_info const &)*arg1,(std::type_info const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TypeRegistration__SWIG_1(void * jarg1, void * jarg2, void * jarg3, unsigned int jarg4) {
+  void * jresult ;
+  std::type_info *arg1 = 0 ;
+  std::type_info *arg2 = 0 ;
+  Dali::TypeInfo::CreateFunction arg3 = (Dali::TypeInfo::CreateFunction) 0 ;
+  bool arg4 ;
+  Dali::TypeRegistration *result = 0 ;
+  
+  arg1 = (std::type_info *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::type_info const & type is null", 0);
+    return 0;
+  } 
+  arg2 = (std::type_info *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::type_info const & type is null", 0);
+    return 0;
+  } 
+  arg3 = (Dali::TypeInfo::CreateFunction)jarg3; 
+  arg4 = jarg4 ? true : false; 
+  {
+    try {
+      result = (Dali::TypeRegistration *)new Dali::TypeRegistration((std::type_info const &)*arg1,(std::type_info const &)*arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TypeRegistration__SWIG_2(char * jarg1, void * jarg2, void * jarg3) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  std::type_info *arg2 = 0 ;
+  Dali::TypeInfo::CreateFunction arg3 = (Dali::TypeInfo::CreateFunction) 0 ;
+  Dali::TypeRegistration *result = 0 ;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  arg2 = (std::type_info *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::type_info const & type is null", 0);
+    return 0;
+  } 
+  arg3 = (Dali::TypeInfo::CreateFunction)jarg3; 
+  {
+    try {
+      result = (Dali::TypeRegistration *)new Dali::TypeRegistration((std::string const &)*arg1,(std::type_info const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_TypeRegistration_RegisteredName(void * jarg1) {
+  char * jresult ;
+  Dali::TypeRegistration *arg1 = (Dali::TypeRegistration *) 0 ;
+  std::string result;
+  
+  arg1 = (Dali::TypeRegistration *)jarg1; 
+  {
+    try {
+      result = ((Dali::TypeRegistration const *)arg1)->RegisteredName();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = SWIG_csharp_string_callback((&result)->c_str()); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TypeRegistration_RegisterControl(char * jarg1, void * jarg2) {
+  std::string *arg1 = 0 ;
+  Dali::CSharpTypeInfo::CreateFunction arg2 = (Dali::CSharpTypeInfo::CreateFunction) 0 ;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  arg2 = (Dali::CSharpTypeInfo::CreateFunction)jarg2; 
+  {
+    try {
+      Dali_TypeRegistration_RegisterControl((std::string const &)*arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+  
+  //argout typemap for const std::string&
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TypeRegistration_RegisterProperty(char * jarg1, char * jarg2, int jarg3, int jarg4, void * jarg5, void * jarg6) {
+  std::string *arg1 = 0 ;
+  std::string *arg2 = 0 ;
+  int arg3 ;
+  Dali::Property::Type arg4 ;
+  Dali::CSharpTypeInfo::SetPropertyFunction arg5 = (Dali::CSharpTypeInfo::SetPropertyFunction) 0 ;
+  Dali::CSharpTypeInfo::GetPropertyFunction arg6 = (Dali::CSharpTypeInfo::GetPropertyFunction) 0 ;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (int)jarg3; 
+  arg4 = (Dali::Property::Type)jarg4; 
+  arg5 = (Dali::CSharpTypeInfo::SetPropertyFunction)jarg5; 
+  arg6 = (Dali::CSharpTypeInfo::GetPropertyFunction)jarg6; 
+  {
+    try {
+      Dali_TypeRegistration_RegisterProperty((std::string const &)*arg1,(std::string const &)*arg2,arg3,arg4,arg5,arg6);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+  
+  //argout typemap for const std::string&
+  
+  
+  //argout typemap for const std::string&
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TypeRegistration(void * jarg1) {
+  Dali::TypeRegistration *arg1 = (Dali::TypeRegistration *) 0 ;
+  
+  arg1 = (Dali::TypeRegistration *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_SignalConnectorType(void * jarg1, char * jarg2, void * jarg3) {
+  void * jresult ;
+  Dali::TypeRegistration *arg1 = 0 ;
+  std::string *arg2 = 0 ;
+  Dali::TypeInfo::SignalConnectorFunction arg3 = (Dali::TypeInfo::SignalConnectorFunction) 0 ;
+  Dali::SignalConnectorType *result = 0 ;
+  
+  arg1 = (Dali::TypeRegistration *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TypeRegistration & type is null", 0);
+    return 0;
+  } 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::TypeInfo::SignalConnectorFunction)jarg3; 
+  {
+    try {
+      result = (Dali::SignalConnectorType *)new Dali::SignalConnectorType(*arg1,(std::string const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_SignalConnectorType(void * jarg1) {
+  Dali::SignalConnectorType *arg1 = (Dali::SignalConnectorType *) 0 ;
+  
+  arg1 = (Dali::SignalConnectorType *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TypeAction(void * jarg1, char * jarg2, void * jarg3) {
+  void * jresult ;
+  Dali::TypeRegistration *arg1 = 0 ;
+  std::string *arg2 = 0 ;
+  Dali::TypeInfo::ActionFunction arg3 = (Dali::TypeInfo::ActionFunction) 0 ;
+  Dali::TypeAction *result = 0 ;
+  
+  arg1 = (Dali::TypeRegistration *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TypeRegistration & type is null", 0);
+    return 0;
+  } 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::TypeInfo::ActionFunction)jarg3; 
+  {
+    try {
+      result = (Dali::TypeAction *)new Dali::TypeAction(*arg1,(std::string const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TypeAction(void * jarg1) {
+  Dali::TypeAction *arg1 = (Dali::TypeAction *) 0 ;
+  
+  arg1 = (Dali::TypeAction *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PropertyRegistration(void * jarg1, char * jarg2, int jarg3, int jarg4, void * jarg5, void * jarg6) {
+  void * jresult ;
+  Dali::TypeRegistration *arg1 = 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property::Index arg3 ;
+  Dali::Property::Type arg4 ;
+  Dali::TypeInfo::SetPropertyFunction arg5 = (Dali::TypeInfo::SetPropertyFunction) 0 ;
+  Dali::TypeInfo::GetPropertyFunction arg6 = (Dali::TypeInfo::GetPropertyFunction) 0 ;
+  Dali::PropertyRegistration *result = 0 ;
+  
+  arg1 = (Dali::TypeRegistration *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TypeRegistration & type is null", 0);
+    return 0;
+  } 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::Property::Index)jarg3; 
+  arg4 = (Dali::Property::Type)jarg4; 
+  arg5 = (Dali::TypeInfo::SetPropertyFunction)jarg5; 
+  arg6 = (Dali::TypeInfo::GetPropertyFunction)jarg6; 
+  {
+    try {
+      result = (Dali::PropertyRegistration *)new Dali::PropertyRegistration(*arg1,(std::string const &)*arg2,arg3,arg4,arg5,arg6);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PropertyRegistration(void * jarg1) {
+  Dali::PropertyRegistration *arg1 = (Dali::PropertyRegistration *) 0 ;
+  
+  arg1 = (Dali::PropertyRegistration *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AnimatablePropertyRegistration__SWIG_0(void * jarg1, char * jarg2, int jarg3, int jarg4) {
+  void * jresult ;
+  Dali::TypeRegistration *arg1 = 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property::Index arg3 ;
+  Dali::Property::Type arg4 ;
+  Dali::AnimatablePropertyRegistration *result = 0 ;
+  
+  arg1 = (Dali::TypeRegistration *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TypeRegistration & type is null", 0);
+    return 0;
+  } 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::Property::Index)jarg3; 
+  arg4 = (Dali::Property::Type)jarg4; 
+  {
+    try {
+      result = (Dali::AnimatablePropertyRegistration *)new Dali::AnimatablePropertyRegistration(*arg1,(std::string const &)*arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AnimatablePropertyRegistration__SWIG_1(void * jarg1, char * jarg2, int jarg3, void * jarg4) {
+  void * jresult ;
+  Dali::TypeRegistration *arg1 = 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property::Index arg3 ;
+  Dali::Property::Value *arg4 = 0 ;
+  Dali::AnimatablePropertyRegistration *result = 0 ;
+  
+  arg1 = (Dali::TypeRegistration *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TypeRegistration & type is null", 0);
+    return 0;
+  } 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::Property::Index)jarg3; 
+  arg4 = (Dali::Property::Value *)jarg4;
+  if (!arg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Value const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::AnimatablePropertyRegistration *)new Dali::AnimatablePropertyRegistration(*arg1,(std::string const &)*arg2,arg3,(Dali::Property::Value const &)*arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_AnimatablePropertyRegistration(void * jarg1) {
+  Dali::AnimatablePropertyRegistration *arg1 = (Dali::AnimatablePropertyRegistration *) 0 ;
+  
+  arg1 = (Dali::AnimatablePropertyRegistration *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AnimatablePropertyComponentRegistration(void * jarg1, char * jarg2, int jarg3, int jarg4, unsigned int jarg5) {
+  void * jresult ;
+  Dali::TypeRegistration *arg1 = 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property::Index arg3 ;
+  Dali::Property::Index arg4 ;
+  unsigned int arg5 ;
+  Dali::AnimatablePropertyComponentRegistration *result = 0 ;
+  
+  arg1 = (Dali::TypeRegistration *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TypeRegistration & type is null", 0);
+    return 0;
+  } 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::Property::Index)jarg3; 
+  arg4 = (Dali::Property::Index)jarg4; 
+  arg5 = (unsigned int)jarg5; 
+  {
+    try {
+      result = (Dali::AnimatablePropertyComponentRegistration *)new Dali::AnimatablePropertyComponentRegistration(*arg1,(std::string const &)*arg2,arg3,arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_AnimatablePropertyComponentRegistration(void * jarg1) {
+  Dali::AnimatablePropertyComponentRegistration *arg1 = (Dali::AnimatablePropertyComponentRegistration *) 0 ;
+  
+  arg1 = (Dali::AnimatablePropertyComponentRegistration *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ChildPropertyRegistration(void * jarg1, char * jarg2, int jarg3, int jarg4) {
+  void * jresult ;
+  Dali::TypeRegistration *arg1 = 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property::Index arg3 ;
+  Dali::Property::Type arg4 ;
+  Dali::ChildPropertyRegistration *result = 0 ;
+  
+  arg1 = (Dali::TypeRegistration *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TypeRegistration & type is null", 0);
+    return 0;
+  } 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::Property::Index)jarg3; 
+  arg4 = (Dali::Property::Type)jarg4; 
+  {
+    try {
+      result = (Dali::ChildPropertyRegistration *)new Dali::ChildPropertyRegistration(*arg1,(std::string const &)*arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ChildPropertyRegistration(void * jarg1) {
+  Dali::ChildPropertyRegistration *arg1 = (Dali::ChildPropertyRegistration *) 0 ;
+  
+  arg1 = (Dali::ChildPropertyRegistration *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RegisterType(char * jarg1, void * jarg2, void * jarg3) {
+  unsigned int jresult ;
+  std::string *arg1 = 0 ;
+  std::type_info *arg2 = 0 ;
+  Dali::CSharpTypeInfo::CreateFunction arg3 = (Dali::CSharpTypeInfo::CreateFunction) 0 ;
+  bool result;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  arg2 = (std::type_info *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::type_info const & type is null", 0);
+    return 0;
+  } 
+  arg3 = (Dali::CSharpTypeInfo::CreateFunction)jarg3; 
+  {
+    try {
+      result = (bool)Dali::CSharpTypeRegistry::RegisterType((std::string const &)*arg1,(std::type_info const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RegisterProperty(char * jarg1, char * jarg2, int jarg3, int jarg4, void * jarg5, void * jarg6) {
+  unsigned int jresult ;
+  std::string *arg1 = 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property::Index arg3 ;
+  Dali::Property::Type arg4 ;
+  Dali::CSharpTypeInfo::SetPropertyFunction arg5 = (Dali::CSharpTypeInfo::SetPropertyFunction) 0 ;
+  Dali::CSharpTypeInfo::GetPropertyFunction arg6 = (Dali::CSharpTypeInfo::GetPropertyFunction) 0 ;
+  bool result;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::Property::Index)jarg3; 
+  arg4 = (Dali::Property::Type)jarg4; 
+  arg5 = (Dali::CSharpTypeInfo::SetPropertyFunction)jarg5; 
+  arg6 = (Dali::CSharpTypeInfo::GetPropertyFunction)jarg6; 
+  {
+    try {
+      result = (bool)Dali::CSharpTypeRegistry::RegisterProperty((std::string const &)*arg1,(std::string const &)*arg2,arg3,arg4,arg5,arg6);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  
+  //argout typemap for const std::string&
+  
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ParentOriginTop_get() {
+  float jresult ;
+  float result;
+  
+  result = (float)(float)Dali::ParentOrigin::TOP;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ParentOriginBottom_get() {
+  float jresult ;
+  float result;
+  
+  result = (float)(float)Dali::ParentOrigin::BOTTOM;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ParentOriginLeft_get() {
+  float jresult ;
+  float result;
+  
+  result = (float)(float)Dali::ParentOrigin::LEFT;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ParentOriginRight_get() {
+  float jresult ;
+  float result;
+  
+  result = (float)(float)Dali::ParentOrigin::RIGHT;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ParentOriginMiddle_get() {
+  float jresult ;
+  float result;
+  
+  result = (float)(float)Dali::ParentOrigin::MIDDLE;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ParentOriginTopLeft_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::ParentOrigin::TOP_LEFT;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ParentOriginTopCenter_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::ParentOrigin::TOP_CENTER;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ParentOriginTopRight_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::ParentOrigin::TOP_RIGHT;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ParentOriginCenterLeft_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::ParentOrigin::CENTER_LEFT;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ParentOriginCenter_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::ParentOrigin::CENTER;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ParentOriginCenterRight_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::ParentOrigin::CENTER_RIGHT;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ParentOriginBottomLeft_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::ParentOrigin::BOTTOM_LEFT;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ParentOriginBottomCenter_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::ParentOrigin::BOTTOM_CENTER;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ParentOriginBottomRight_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::ParentOrigin::BOTTOM_RIGHT;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_AnchorPointTop_get() {
+  float jresult ;
+  float result;
+  
+  result = (float)(float)Dali::AnchorPoint::TOP;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_AnchorPointBottom_get() {
+  float jresult ;
+  float result;
+  
+  result = (float)(float)Dali::AnchorPoint::BOTTOM;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_AnchorPointLeft_get() {
+  float jresult ;
+  float result;
+  
+  result = (float)(float)Dali::AnchorPoint::LEFT;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_AnchorPointRight_get() {
+  float jresult ;
+  float result;
+  
+  result = (float)(float)Dali::AnchorPoint::RIGHT;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_AnchorPointMiddle_get() {
+  float jresult ;
+  float result;
+  
+  result = (float)(float)Dali::AnchorPoint::MIDDLE;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AnchorPointTopLeft_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::AnchorPoint::TOP_LEFT;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AnchorPointTopCenter_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::AnchorPoint::TOP_CENTER;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AnchorPointTopRight_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::AnchorPoint::TOP_RIGHT;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AnchorPointCenterLeft_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::AnchorPoint::CENTER_LEFT;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AnchorPointCenter_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::AnchorPoint::CENTER;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AnchorPointCenterRight_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::AnchorPoint::CENTER_RIGHT;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AnchorPointBottomLeft_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::AnchorPoint::BOTTOM_LEFT;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AnchorPointBottomCenter_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::AnchorPoint::BOTTOM_CENTER;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AnchorPointBottomRight_get() {
+  void * jresult ;
+  Dali::Vector3 *result = 0 ;
+  
+  result = (Dali::Vector3 *)&Dali::AnchorPoint::BOTTOM_RIGHT;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_BLACK_get() {
+  void * jresult ;
+  Dali::Vector4 *result = 0 ;
+  
+  result = (Dali::Vector4 *)&Dali::Color::BLACK;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_WHITE_get() {
+  void * jresult ;
+  Dali::Vector4 *result = 0 ;
+  
+  result = (Dali::Vector4 *)&Dali::Color::WHITE;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RED_get() {
+  void * jresult ;
+  Dali::Vector4 *result = 0 ;
+  
+  result = (Dali::Vector4 *)&Dali::Color::RED;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_GREEN_get() {
+  void * jresult ;
+  Dali::Vector4 *result = 0 ;
+  
+  result = (Dali::Vector4 *)&Dali::Color::GREEN;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_BLUE_get() {
+  void * jresult ;
+  Dali::Vector4 *result = 0 ;
+  
+  result = (Dali::Vector4 *)&Dali::Color::BLUE;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_YELLOW_get() {
+  void * jresult ;
+  Dali::Vector4 *result = 0 ;
+  
+  result = (Dali::Vector4 *)&Dali::Color::YELLOW;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_MAGENTA_get() {
+  void * jresult ;
+  Dali::Vector4 *result = 0 ;
+  
+  result = (Dali::Vector4 *)&Dali::Color::MAGENTA;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_CYAN_get() {
+  void * jresult ;
+  Dali::Vector4 *result = 0 ;
+  
+  result = (Dali::Vector4 *)&Dali::Color::CYAN;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TRANSPARENT_get() {
+  void * jresult ;
+  Dali::Vector4 *result = 0 ;
+  
+  result = (Dali::Vector4 *)&Dali::Color::TRANSPARENT;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_MACHINE_EPSILON_0_get() {
+  float jresult ;
+  float result;
+  
+  result = (float)(float)Dali::Math::MACHINE_EPSILON_0;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_MACHINE_EPSILON_1_get() {
+  float jresult ;
+  float result;
+  
+  result = (float)(float)Dali::Math::MACHINE_EPSILON_1;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_MACHINE_EPSILON_10_get() {
+  float jresult ;
+  float result;
+  
+  result = (float)(float)Dali::Math::MACHINE_EPSILON_10;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_MACHINE_EPSILON_100_get() {
+  float jresult ;
+  float result;
+  
+  result = (float)(float)Dali::Math::MACHINE_EPSILON_100;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_MACHINE_EPSILON_1000_get() {
+  float jresult ;
+  float result;
+  
+  result = (float)(float)Dali::Math::MACHINE_EPSILON_1000;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_MACHINE_EPSILON_10000_get() {
+  float jresult ;
+  float result;
+  
+  result = (float)(float)Dali::Math::MACHINE_EPSILON_10000;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PI_get() {
+  float jresult ;
+  float result;
+  
+  result = (float)(float)Dali::Math::PI;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PI_2_get() {
+  float jresult ;
+  float result;
+  
+  result = (float)(float)Dali::Math::PI_2;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PI_4_get() {
+  float jresult ;
+  float result;
+  
+  result = (float)(float)Dali::Math::PI_4;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PI_OVER_180_get() {
+  float jresult ;
+  float result;
+  
+  result = (float)(float)Dali::Math::PI_OVER_180;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ONE80_OVER_PI_get() {
+  float jresult ;
+  float result;
+  
+  result = (float)(float)Dali::Math::ONE80_OVER_PI;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ResizePolicyDefault_get() {
+  int jresult ;
+  Dali::ResizePolicy::Type result;
+  
+  result = (Dali::ResizePolicy::Type)(Dali::ResizePolicy::Type)Dali::ResizePolicy::DEFAULT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_VectorBase_Count(void * jarg1) {
+  unsigned long jresult ;
+  Dali::VectorBase *arg1 = (Dali::VectorBase *) 0 ;
+  Dali::VectorBase::SizeType result;
+  
+  arg1 = (Dali::VectorBase *)jarg1; 
+  {
+    try {
+      result = ((Dali::VectorBase const *)arg1)->Count();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_VectorBase_Size(void * jarg1) {
+  unsigned long jresult ;
+  Dali::VectorBase *arg1 = (Dali::VectorBase *) 0 ;
+  Dali::VectorBase::SizeType result;
+  
+  arg1 = (Dali::VectorBase *)jarg1; 
+  {
+    try {
+      result = ((Dali::VectorBase const *)arg1)->Size();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_VectorBase_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::VectorBase *arg1 = (Dali::VectorBase *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::VectorBase *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::VectorBase const *)arg1)->Empty();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_VectorBase_Capacity(void * jarg1) {
+  unsigned long jresult ;
+  Dali::VectorBase *arg1 = (Dali::VectorBase *) 0 ;
+  Dali::VectorBase::SizeType result;
+  
+  arg1 = (Dali::VectorBase *)jarg1; 
+  {
+    try {
+      result = ((Dali::VectorBase const *)arg1)->Capacity();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorBase_Release(void * jarg1) {
+  Dali::VectorBase *arg1 = (Dali::VectorBase *) 0 ;
+  
+  arg1 = (Dali::VectorBase *)jarg1; 
+  {
+    try {
+      (arg1)->Release();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Image__SWIG_0() {
+  void * jresult ;
+  Dali::Image *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Image *)new Dali::Image();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Image(void * jarg1) {
+  Dali::Image *arg1 = (Dali::Image *) 0 ;
+  
+  arg1 = (Dali::Image *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Image__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Image *arg1 = 0 ;
+  Dali::Image *result = 0 ;
+  
+  arg1 = (Dali::Image *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Image const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Image *)new Dali::Image((Dali::Image const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Image_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Image *arg1 = (Dali::Image *) 0 ;
+  Dali::Image *arg2 = 0 ;
+  Dali::Image *result = 0 ;
+  
+  arg1 = (Dali::Image *)jarg1; 
+  arg2 = (Dali::Image *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Image const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Image *) &(arg1)->operator =((Dali::Image const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Image_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Image result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Image::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Image((const Dali::Image &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Image_GetWidth(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Image *arg1 = (Dali::Image *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Image *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::Image const *)arg1)->GetWidth();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Image_GetHeight(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Image *arg1 = (Dali::Image *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Image *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::Image const *)arg1)->GetHeight();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Image_UploadedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Image *arg1 = (Dali::Image *) 0 ;
+  Dali::Image::ImageSignalType *result = 0 ;
+  
+  arg1 = (Dali::Image *)jarg1; 
+  {
+    try {
+      result = (Dali::Image::ImageSignalType *) &(arg1)->UploadedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_FIRST_VALID_PIXEL_FORMAT_get() {
+  int jresult ;
+  Dali::Pixel::Format result;
+  
+  result = (Dali::Pixel::Format)(Dali::Pixel::Format)Dali::Pixel::FIRST_VALID_PIXEL_FORMAT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_LAST_VALID_PIXEL_FORMAT_get() {
+  int jresult ;
+  Dali::Pixel::Format result;
+  
+  result = (Dali::Pixel::Format)(Dali::Pixel::Format)Dali::Pixel::LAST_VALID_PIXEL_FORMAT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_HasAlpha(int jarg1) {
+  unsigned int jresult ;
+  Dali::Pixel::Format arg1 ;
+  bool result;
+  
+  arg1 = (Dali::Pixel::Format)jarg1; 
+  {
+    try {
+      result = (bool)Dali::Pixel::HasAlpha(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_GetBytesPerPixel(int jarg1) {
+  unsigned int jresult ;
+  Dali::Pixel::Format arg1 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Pixel::Format)jarg1; 
+  {
+    try {
+      result = (unsigned int)Dali::Pixel::GetBytesPerPixel(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_GetAlphaOffsetAndMask(int jarg1, void * jarg2, void * jarg3) {
+  Dali::Pixel::Format arg1 ;
+  int *arg2 = 0 ;
+  int *arg3 = 0 ;
+  
+  arg1 = (Dali::Pixel::Format)jarg1; 
+  arg2 = (int *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "int & type is null", 0);
+    return ;
+  } 
+  arg3 = (int *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "int & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      Dali::Pixel::GetAlphaOffsetAndMask(arg1,*arg2,*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PixelData_New(unsigned char* jarg1, unsigned int jarg2, unsigned int jarg3, unsigned int jarg4, int jarg5, int jarg6) {
+  void * jresult ;
+  unsigned char *arg1 = (unsigned char *) 0 ;
+  unsigned int arg2 ;
+  unsigned int arg3 ;
+  unsigned int arg4 ;
+  Dali::Pixel::Format arg5 ;
+  Dali::PixelData::ReleaseFunction arg6 ;
+  Dali::PixelData result;
+  
+  arg1 = jarg1;
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (unsigned int)jarg3; 
+  arg4 = (unsigned int)jarg4; 
+  arg5 = (Dali::Pixel::Format)jarg5; 
+  arg6 = (Dali::PixelData::ReleaseFunction)jarg6; 
+  {
+    try {
+      result = Dali::PixelData::New(arg1,arg2,arg3,arg4,arg5,arg6);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PixelData((const Dali::PixelData &)result); 
+  
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PixelData__SWIG_0() {
+  void * jresult ;
+  Dali::PixelData *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::PixelData *)new Dali::PixelData();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PixelData(void * jarg1) {
+  Dali::PixelData *arg1 = (Dali::PixelData *) 0 ;
+  
+  arg1 = (Dali::PixelData *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PixelData__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::PixelData *arg1 = 0 ;
+  Dali::PixelData *result = 0 ;
+  
+  arg1 = (Dali::PixelData *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PixelData const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::PixelData *)new Dali::PixelData((Dali::PixelData const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PixelData_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::PixelData *arg1 = (Dali::PixelData *) 0 ;
+  Dali::PixelData *arg2 = 0 ;
+  Dali::PixelData *result = 0 ;
+  
+  arg1 = (Dali::PixelData *)jarg1; 
+  arg2 = (Dali::PixelData *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PixelData const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::PixelData *) &(arg1)->operator =((Dali::PixelData const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_PixelData_GetWidth(void * jarg1) {
+  unsigned int jresult ;
+  Dali::PixelData *arg1 = (Dali::PixelData *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::PixelData *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::PixelData const *)arg1)->GetWidth();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_PixelData_GetHeight(void * jarg1) {
+  unsigned int jresult ;
+  Dali::PixelData *arg1 = (Dali::PixelData *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::PixelData *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::PixelData const *)arg1)->GetHeight();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PixelData_GetPixelFormat(void * jarg1) {
+  int jresult ;
+  Dali::PixelData *arg1 = (Dali::PixelData *) 0 ;
+  Dali::Pixel::Format result;
+  
+  arg1 = (Dali::PixelData *)jarg1; 
+  {
+    try {
+      result = (Dali::Pixel::Format)((Dali::PixelData const *)arg1)->GetPixelFormat();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_POSITIVE_X_get() {
+  unsigned int jresult ;
+  unsigned int result;
+  
+  result = (unsigned int)(unsigned int)Dali::CubeMapLayer::POSITIVE_X;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_NEGATIVE_X_get() {
+  unsigned int jresult ;
+  unsigned int result;
+  
+  result = (unsigned int)(unsigned int)Dali::CubeMapLayer::NEGATIVE_X;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_POSITIVE_Y_get() {
+  unsigned int jresult ;
+  unsigned int result;
+  
+  result = (unsigned int)(unsigned int)Dali::CubeMapLayer::POSITIVE_Y;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_NEGATIVE_Y_get() {
+  unsigned int jresult ;
+  unsigned int result;
+  
+  result = (unsigned int)(unsigned int)Dali::CubeMapLayer::NEGATIVE_Y;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_POSITIVE_Z_get() {
+  unsigned int jresult ;
+  unsigned int result;
+  
+  result = (unsigned int)(unsigned int)Dali::CubeMapLayer::POSITIVE_Z;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_NEGATIVE_Z_get() {
+  unsigned int jresult ;
+  unsigned int result;
+  
+  result = (unsigned int)(unsigned int)Dali::CubeMapLayer::NEGATIVE_Z;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Texture_New__SWIG_0(int jarg1, int jarg2, unsigned int jarg3, unsigned int jarg4) {
+  void * jresult ;
+  Dali::TextureType::Type arg1 ;
+  Dali::Pixel::Format arg2 ;
+  unsigned int arg3 ;
+  unsigned int arg4 ;
+  Dali::Texture result;
+  
+  arg1 = (Dali::TextureType::Type)jarg1; 
+  arg2 = (Dali::Pixel::Format)jarg2; 
+  arg3 = (unsigned int)jarg3; 
+  arg4 = (unsigned int)jarg4; 
+  {
+    try {
+      result = Dali::Texture::New(arg1,arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Texture((const Dali::Texture &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Texture_New__SWIG_1(void * jarg1) {
+  void * jresult ;
+  NativeImageInterface *arg1 = 0 ;
+  Dali::Texture result;
+  
+  arg1 = (NativeImageInterface *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "NativeImageInterface & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = Dali::Texture::New(*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Texture((const Dali::Texture &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Texture__SWIG_0() {
+  void * jresult ;
+  Dali::Texture *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Texture *)new Dali::Texture();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Texture(void * jarg1) {
+  Dali::Texture *arg1 = (Dali::Texture *) 0 ;
+  
+  arg1 = (Dali::Texture *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Texture__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Texture *arg1 = 0 ;
+  Dali::Texture *result = 0 ;
+  
+  arg1 = (Dali::Texture *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Texture const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Texture *)new Dali::Texture((Dali::Texture const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Texture_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Texture result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Texture::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Texture((const Dali::Texture &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Texture_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Texture *arg1 = (Dali::Texture *) 0 ;
+  Dali::Texture *arg2 = 0 ;
+  Dali::Texture *result = 0 ;
+  
+  arg1 = (Dali::Texture *)jarg1; 
+  arg2 = (Dali::Texture *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Texture const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Texture *) &(arg1)->operator =((Dali::Texture const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Texture_Upload__SWIG_0(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Texture *arg1 = (Dali::Texture *) 0 ;
+  Dali::PixelData arg2 ;
+  Dali::PixelData *argp2 ;
+  bool result;
+  
+  arg1 = (Dali::Texture *)jarg1; 
+  argp2 = (Dali::PixelData *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::PixelData", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (bool)(arg1)->Upload(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Texture_Upload__SWIG_1(void * jarg1, void * jarg2, unsigned int jarg3, unsigned int jarg4, unsigned int jarg5, unsigned int jarg6, unsigned int jarg7, unsigned int jarg8) {
+  unsigned int jresult ;
+  Dali::Texture *arg1 = (Dali::Texture *) 0 ;
+  Dali::PixelData arg2 ;
+  unsigned int arg3 ;
+  unsigned int arg4 ;
+  unsigned int arg5 ;
+  unsigned int arg6 ;
+  unsigned int arg7 ;
+  unsigned int arg8 ;
+  Dali::PixelData *argp2 ;
+  bool result;
+  
+  arg1 = (Dali::Texture *)jarg1; 
+  argp2 = (Dali::PixelData *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::PixelData", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  arg3 = (unsigned int)jarg3; 
+  arg4 = (unsigned int)jarg4; 
+  arg5 = (unsigned int)jarg5; 
+  arg6 = (unsigned int)jarg6; 
+  arg7 = (unsigned int)jarg7; 
+  arg8 = (unsigned int)jarg8; 
+  {
+    try {
+      result = (bool)(arg1)->Upload(arg2,arg3,arg4,arg5,arg6,arg7,arg8);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Texture_GenerateMipmaps(void * jarg1) {
+  Dali::Texture *arg1 = (Dali::Texture *) 0 ;
+  
+  arg1 = (Dali::Texture *)jarg1; 
+  {
+    try {
+      (arg1)->GenerateMipmaps();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Texture_GetWidth(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Texture *arg1 = (Dali::Texture *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Texture *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::Texture const *)arg1)->GetWidth();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Texture_GetHeight(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Texture *arg1 = (Dali::Texture *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Texture *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::Texture const *)arg1)->GetHeight();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Texture__SWIG_2(void * jarg1) {
+  void * jresult ;
+  Dali::Internal::Texture *arg1 = (Dali::Internal::Texture *) 0 ;
+  Dali::Texture *result = 0 ;
+  
+  arg1 = (Dali::Internal::Texture *)jarg1; 
+  {
+    try {
+      result = (Dali::Texture *)new Dali::Texture(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Sampler_New() {
+  void * jresult ;
+  Dali::Sampler result;
+  
+  {
+    try {
+      result = Dali::Sampler::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Sampler((const Dali::Sampler &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Sampler__SWIG_0() {
+  void * jresult ;
+  Dali::Sampler *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Sampler *)new Dali::Sampler();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Sampler(void * jarg1) {
+  Dali::Sampler *arg1 = (Dali::Sampler *) 0 ;
+  
+  arg1 = (Dali::Sampler *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Sampler__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Sampler *arg1 = 0 ;
+  Dali::Sampler *result = 0 ;
+  
+  arg1 = (Dali::Sampler *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Sampler const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Sampler *)new Dali::Sampler((Dali::Sampler const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Sampler_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Sampler result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Sampler::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Sampler((const Dali::Sampler &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Sampler_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Sampler *arg1 = (Dali::Sampler *) 0 ;
+  Dali::Sampler *arg2 = 0 ;
+  Dali::Sampler *result = 0 ;
+  
+  arg1 = (Dali::Sampler *)jarg1; 
+  arg2 = (Dali::Sampler *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Sampler const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Sampler *) &(arg1)->operator =((Dali::Sampler const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Sampler_SetFilterMode(void * jarg1, int jarg2, int jarg3) {
+  Dali::Sampler *arg1 = (Dali::Sampler *) 0 ;
+  Dali::FilterMode::Type arg2 ;
+  Dali::FilterMode::Type arg3 ;
+  
+  arg1 = (Dali::Sampler *)jarg1; 
+  arg2 = (Dali::FilterMode::Type)jarg2; 
+  arg3 = (Dali::FilterMode::Type)jarg3; 
+  {
+    try {
+      (arg1)->SetFilterMode(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Sampler_SetWrapMode__SWIG_0(void * jarg1, int jarg2, int jarg3) {
+  Dali::Sampler *arg1 = (Dali::Sampler *) 0 ;
+  Dali::WrapMode::Type arg2 ;
+  Dali::WrapMode::Type arg3 ;
+  
+  arg1 = (Dali::Sampler *)jarg1; 
+  arg2 = (Dali::WrapMode::Type)jarg2; 
+  arg3 = (Dali::WrapMode::Type)jarg3; 
+  {
+    try {
+      (arg1)->SetWrapMode(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Sampler_SetWrapMode__SWIG_1(void * jarg1, int jarg2, int jarg3, int jarg4) {
+  Dali::Sampler *arg1 = (Dali::Sampler *) 0 ;
+  Dali::WrapMode::Type arg2 ;
+  Dali::WrapMode::Type arg3 ;
+  Dali::WrapMode::Type arg4 ;
+  
+  arg1 = (Dali::Sampler *)jarg1; 
+  arg2 = (Dali::WrapMode::Type)jarg2; 
+  arg3 = (Dali::WrapMode::Type)jarg3; 
+  arg4 = (Dali::WrapMode::Type)jarg4; 
+  {
+    try {
+      (arg1)->SetWrapMode(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TextureSet_New() {
+  void * jresult ;
+  Dali::TextureSet result;
+  
+  {
+    try {
+      result = Dali::TextureSet::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::TextureSet((const Dali::TextureSet &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TextureSet__SWIG_0() {
+  void * jresult ;
+  Dali::TextureSet *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::TextureSet *)new Dali::TextureSet();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TextureSet(void * jarg1) {
+  Dali::TextureSet *arg1 = (Dali::TextureSet *) 0 ;
+  
+  arg1 = (Dali::TextureSet *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TextureSet__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::TextureSet *arg1 = 0 ;
+  Dali::TextureSet *result = 0 ;
+  
+  arg1 = (Dali::TextureSet *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TextureSet const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::TextureSet *)new Dali::TextureSet((Dali::TextureSet const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TextureSet_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::TextureSet result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::TextureSet::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::TextureSet((const Dali::TextureSet &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TextureSet_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::TextureSet *arg1 = (Dali::TextureSet *) 0 ;
+  Dali::TextureSet *arg2 = 0 ;
+  Dali::TextureSet *result = 0 ;
+  
+  arg1 = (Dali::TextureSet *)jarg1; 
+  arg2 = (Dali::TextureSet *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TextureSet const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::TextureSet *) &(arg1)->operator =((Dali::TextureSet const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TextureSet_SetTexture(void * jarg1, unsigned long jarg2, void * jarg3) {
+  Dali::TextureSet *arg1 = (Dali::TextureSet *) 0 ;
+  size_t arg2 ;
+  Dali::Texture arg3 ;
+  Dali::Texture *argp3 ;
+  
+  arg1 = (Dali::TextureSet *)jarg1; 
+  arg2 = (size_t)jarg2; 
+  argp3 = (Dali::Texture *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Texture", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  {
+    try {
+      (arg1)->SetTexture(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TextureSet_GetTexture(void * jarg1, unsigned long jarg2) {
+  void * jresult ;
+  Dali::TextureSet *arg1 = (Dali::TextureSet *) 0 ;
+  size_t arg2 ;
+  Dali::Texture result;
+  
+  arg1 = (Dali::TextureSet *)jarg1; 
+  arg2 = (size_t)jarg2; 
+  {
+    try {
+      result = ((Dali::TextureSet const *)arg1)->GetTexture(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Texture((const Dali::Texture &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TextureSet_SetSampler(void * jarg1, unsigned long jarg2, void * jarg3) {
+  Dali::TextureSet *arg1 = (Dali::TextureSet *) 0 ;
+  size_t arg2 ;
+  Dali::Sampler arg3 ;
+  Dali::Sampler *argp3 ;
+  
+  arg1 = (Dali::TextureSet *)jarg1; 
+  arg2 = (size_t)jarg2; 
+  argp3 = (Dali::Sampler *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Sampler", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  {
+    try {
+      (arg1)->SetSampler(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TextureSet_GetSampler(void * jarg1, unsigned long jarg2) {
+  void * jresult ;
+  Dali::TextureSet *arg1 = (Dali::TextureSet *) 0 ;
+  size_t arg2 ;
+  Dali::Sampler result;
+  
+  arg1 = (Dali::TextureSet *)jarg1; 
+  arg2 = (size_t)jarg2; 
+  {
+    try {
+      result = ((Dali::TextureSet const *)arg1)->GetSampler(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Sampler((const Dali::Sampler &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TextureSet_GetTextureCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::TextureSet *arg1 = (Dali::TextureSet *) 0 ;
+  size_t result;
+  
+  arg1 = (Dali::TextureSet *)jarg1; 
+  {
+    try {
+      result = ((Dali::TextureSet const *)arg1)->GetTextureCount();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PropertyBuffer_New(void * jarg1) {
+  void * jresult ;
+  Dali::Property::Map *arg1 = 0 ;
+  Dali::PropertyBuffer result;
+  
+  arg1 = (Dali::Property::Map *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Map & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = Dali::PropertyBuffer::New(*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PropertyBuffer((const Dali::PropertyBuffer &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PropertyBuffer__SWIG_0() {
+  void * jresult ;
+  Dali::PropertyBuffer *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::PropertyBuffer *)new Dali::PropertyBuffer();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PropertyBuffer(void * jarg1) {
+  Dali::PropertyBuffer *arg1 = (Dali::PropertyBuffer *) 0 ;
+  
+  arg1 = (Dali::PropertyBuffer *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PropertyBuffer__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::PropertyBuffer *arg1 = 0 ;
+  Dali::PropertyBuffer *result = 0 ;
+  
+  arg1 = (Dali::PropertyBuffer *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PropertyBuffer const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::PropertyBuffer *)new Dali::PropertyBuffer((Dali::PropertyBuffer const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PropertyBuffer_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::PropertyBuffer result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::PropertyBuffer::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PropertyBuffer((const Dali::PropertyBuffer &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PropertyBuffer_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::PropertyBuffer *arg1 = (Dali::PropertyBuffer *) 0 ;
+  Dali::PropertyBuffer *arg2 = 0 ;
+  Dali::PropertyBuffer *result = 0 ;
+  
+  arg1 = (Dali::PropertyBuffer *)jarg1; 
+  arg2 = (Dali::PropertyBuffer *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PropertyBuffer const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::PropertyBuffer *) &(arg1)->operator =((Dali::PropertyBuffer const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PropertyBuffer_SetData(void * jarg1, void * jarg2, unsigned long jarg3) {
+  Dali::PropertyBuffer *arg1 = (Dali::PropertyBuffer *) 0 ;
+  void *arg2 = (void *) 0 ;
+  std::size_t arg3 ;
+  
+  arg1 = (Dali::PropertyBuffer *)jarg1; 
+  arg2 = jarg2; 
+  arg3 = (std::size_t)jarg3; 
+  {
+    try {
+      (arg1)->SetData((void const *)arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_PropertyBuffer_GetSize(void * jarg1) {
+  unsigned long jresult ;
+  Dali::PropertyBuffer *arg1 = (Dali::PropertyBuffer *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::PropertyBuffer *)jarg1; 
+  {
+    try {
+      result = ((Dali::PropertyBuffer const *)arg1)->GetSize();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Geometry_New() {
+  void * jresult ;
+  Dali::Geometry result;
+  
+  {
+    try {
+      result = Dali::Geometry::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Geometry((const Dali::Geometry &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Geometry__SWIG_0() {
+  void * jresult ;
+  Dali::Geometry *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Geometry *)new Dali::Geometry();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Geometry(void * jarg1) {
+  Dali::Geometry *arg1 = (Dali::Geometry *) 0 ;
+  
+  arg1 = (Dali::Geometry *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Geometry__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Geometry *arg1 = 0 ;
+  Dali::Geometry *result = 0 ;
+  
+  arg1 = (Dali::Geometry *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Geometry const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Geometry *)new Dali::Geometry((Dali::Geometry const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Geometry_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Geometry result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Geometry::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Geometry((const Dali::Geometry &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Geometry_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Geometry *arg1 = (Dali::Geometry *) 0 ;
+  Dali::Geometry *arg2 = 0 ;
+  Dali::Geometry *result = 0 ;
+  
+  arg1 = (Dali::Geometry *)jarg1; 
+  arg2 = (Dali::Geometry *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Geometry const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Geometry *) &(arg1)->operator =((Dali::Geometry const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_Geometry_AddVertexBuffer(void * jarg1, void * jarg2) {
+  unsigned long jresult ;
+  Dali::Geometry *arg1 = (Dali::Geometry *) 0 ;
+  Dali::PropertyBuffer *arg2 = 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Geometry *)jarg1; 
+  arg2 = (Dali::PropertyBuffer *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PropertyBuffer & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (arg1)->AddVertexBuffer(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_Geometry_GetNumberOfVertexBuffers(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Geometry *arg1 = (Dali::Geometry *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Geometry *)jarg1; 
+  {
+    try {
+      result = ((Dali::Geometry const *)arg1)->GetNumberOfVertexBuffers();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Geometry_RemoveVertexBuffer(void * jarg1, unsigned long jarg2) {
+  Dali::Geometry *arg1 = (Dali::Geometry *) 0 ;
+  std::size_t arg2 ;
+  
+  arg1 = (Dali::Geometry *)jarg1; 
+  arg2 = (std::size_t)jarg2; 
+  {
+    try {
+      (arg1)->RemoveVertexBuffer(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Geometry_SetIndexBuffer(void * jarg1, unsigned short* jarg2, unsigned long jarg3) {
+  Dali::Geometry *arg1 = (Dali::Geometry *) 0 ;
+  unsigned short *arg2 = (unsigned short *) 0 ;
+  size_t arg3 ;
+  
+  arg1 = (Dali::Geometry *)jarg1; 
+  arg2 = jarg2;
+  arg3 = (size_t)jarg3; 
+  {
+    try {
+      (arg1)->SetIndexBuffer((unsigned short const *)arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+  
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Geometry_SetType(void * jarg1, int jarg2) {
+  Dali::Geometry *arg1 = (Dali::Geometry *) 0 ;
+  Dali::Geometry::Type arg2 ;
+  
+  arg1 = (Dali::Geometry *)jarg1; 
+  arg2 = (Dali::Geometry::Type)jarg2; 
+  {
+    try {
+      (arg1)->SetType(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Geometry_GetType(void * jarg1) {
+  int jresult ;
+  Dali::Geometry *arg1 = (Dali::Geometry *) 0 ;
+  Dali::Geometry::Type result;
+  
+  arg1 = (Dali::Geometry *)jarg1; 
+  {
+    try {
+      result = (Dali::Geometry::Type)((Dali::Geometry const *)arg1)->GetType();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Shader_Hint() {
+  void * jresult ;
+  Dali::Shader::Hint *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Shader::Hint *)new Dali::Shader::Hint();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Shader_Hint(void * jarg1) {
+  Dali::Shader::Hint *arg1 = (Dali::Shader::Hint *) 0 ;
+  
+  arg1 = (Dali::Shader::Hint *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Shader_Property_PROGRAM_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Shader::Property::PROGRAM;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Shader_Property() {
+  void * jresult ;
+  Dali::Shader::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Shader::Property *)new Dali::Shader::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Shader_Property(void * jarg1) {
+  Dali::Shader::Property *arg1 = (Dali::Shader::Property *) 0 ;
+  
+  arg1 = (Dali::Shader::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Shader_New__SWIG_0(char * jarg1, char * jarg2, int jarg3) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Shader::Hint::Value arg3 ;
+  Dali::Shader result;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::Shader::Hint::Value)jarg3; 
+  {
+    try {
+      result = Dali::Shader::New((std::string const &)*arg1,(std::string const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Shader((const Dali::Shader &)result); 
+  
+  //argout typemap for const std::string&
+  
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Shader_New__SWIG_1(char * jarg1, char * jarg2) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Shader result;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      result = Dali::Shader::New((std::string const &)*arg1,(std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Shader((const Dali::Shader &)result); 
+  
+  //argout typemap for const std::string&
+  
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Shader__SWIG_0() {
+  void * jresult ;
+  Dali::Shader *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Shader *)new Dali::Shader();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Shader(void * jarg1) {
+  Dali::Shader *arg1 = (Dali::Shader *) 0 ;
+  
+  arg1 = (Dali::Shader *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Shader__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Shader *arg1 = 0 ;
+  Dali::Shader *result = 0 ;
+  
+  arg1 = (Dali::Shader *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Shader const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Shader *)new Dali::Shader((Dali::Shader const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Shader_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Shader result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Shader::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Shader((const Dali::Shader &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Shader_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Shader *arg1 = (Dali::Shader *) 0 ;
+  Dali::Shader *arg2 = 0 ;
+  Dali::Shader *result = 0 ;
+  
+  arg1 = (Dali::Shader *)jarg1; 
+  arg2 = (Dali::Shader *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Shader const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Shader *) &(arg1)->operator =((Dali::Shader const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Renderer_Property_DEPTH_INDEX_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Renderer::Property::DEPTH_INDEX;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Renderer_Property_FACE_CULLING_MODE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Renderer::Property::FACE_CULLING_MODE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Renderer_Property_BLEND_MODE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Renderer::Property::BLEND_MODE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Renderer_Property_BLEND_EQUATION_RGB_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Renderer::Property::BLEND_EQUATION_RGB;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Renderer_Property_BLEND_EQUATION_ALPHA_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Renderer::Property::BLEND_EQUATION_ALPHA;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Renderer_Property_BLEND_FACTOR_SRC_RGB_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Renderer::Property::BLEND_FACTOR_SRC_RGB;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Renderer_Property_BLEND_FACTOR_DEST_RGB_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Renderer::Property::BLEND_FACTOR_DEST_RGB;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Renderer_Property_BLEND_FACTOR_SRC_ALPHA_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Renderer::Property::BLEND_FACTOR_SRC_ALPHA;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Renderer_Property_BLEND_FACTOR_DEST_ALPHA_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Renderer::Property::BLEND_FACTOR_DEST_ALPHA;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Renderer_Property_BLEND_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Renderer::Property::BLEND_COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Renderer_Property_BLEND_PRE_MULTIPLIED_ALPHA_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Renderer::Property::BLEND_PRE_MULTIPLIED_ALPHA;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Renderer_Property_INDEX_RANGE_FIRST_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Renderer::Property::INDEX_RANGE_FIRST;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Renderer_Property_INDEX_RANGE_COUNT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Renderer::Property::INDEX_RANGE_COUNT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Renderer_Property_DEPTH_WRITE_MODE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Renderer::Property::DEPTH_WRITE_MODE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Renderer_Property_DEPTH_FUNCTION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Renderer::Property::DEPTH_FUNCTION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Renderer_Property_DEPTH_TEST_MODE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Renderer::Property::DEPTH_TEST_MODE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Renderer_Property_RENDER_MODE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Renderer::Property::RENDER_MODE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Renderer_Property_STENCIL_FUNCTION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Renderer::Property::STENCIL_FUNCTION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Renderer_Property_STENCIL_FUNCTION_MASK_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Renderer::Property::STENCIL_FUNCTION_MASK;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Renderer_Property_STENCIL_FUNCTION_REFERENCE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Renderer::Property::STENCIL_FUNCTION_REFERENCE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Renderer_Property_STENCIL_MASK_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Renderer::Property::STENCIL_MASK;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Renderer_Property_STENCIL_OPERATION_ON_FAIL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Renderer::Property::STENCIL_OPERATION_ON_FAIL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Renderer_Property_STENCIL_OPERATION_ON_Z_FAIL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Renderer::Property::STENCIL_OPERATION_ON_Z_FAIL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Renderer_Property_STENCIL_OPERATION_ON_Z_PASS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Renderer::Property::STENCIL_OPERATION_ON_Z_PASS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Renderer_Property() {
+  void * jresult ;
+  Dali::Renderer::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Renderer::Property *)new Dali::Renderer::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Renderer_Property(void * jarg1) {
+  Dali::Renderer::Property *arg1 = (Dali::Renderer::Property *) 0 ;
+  
+  arg1 = (Dali::Renderer::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Renderer_New(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Geometry *arg1 = 0 ;
+  Dali::Shader *arg2 = 0 ;
+  Dali::Renderer result;
+  
+  arg1 = (Dali::Geometry *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Geometry & type is null", 0);
+    return 0;
+  } 
+  arg2 = (Dali::Shader *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Shader & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = Dali::Renderer::New(*arg1,*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Renderer((const Dali::Renderer &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Renderer__SWIG_0() {
+  void * jresult ;
+  Dali::Renderer *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Renderer *)new Dali::Renderer();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Renderer(void * jarg1) {
+  Dali::Renderer *arg1 = (Dali::Renderer *) 0 ;
+  
+  arg1 = (Dali::Renderer *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Renderer__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Renderer *arg1 = 0 ;
+  Dali::Renderer *result = 0 ;
+  
+  arg1 = (Dali::Renderer *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Renderer const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Renderer *)new Dali::Renderer((Dali::Renderer const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Renderer_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Renderer result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Renderer::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Renderer((const Dali::Renderer &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Renderer_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Renderer *arg1 = (Dali::Renderer *) 0 ;
+  Dali::Renderer *arg2 = 0 ;
+  Dali::Renderer *result = 0 ;
+  
+  arg1 = (Dali::Renderer *)jarg1; 
+  arg2 = (Dali::Renderer *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Renderer const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Renderer *) &(arg1)->operator =((Dali::Renderer const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Renderer_SetGeometry(void * jarg1, void * jarg2) {
+  Dali::Renderer *arg1 = (Dali::Renderer *) 0 ;
+  Dali::Geometry *arg2 = 0 ;
+  
+  arg1 = (Dali::Renderer *)jarg1; 
+  arg2 = (Dali::Geometry *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Geometry & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetGeometry(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Renderer_GetGeometry(void * jarg1) {
+  void * jresult ;
+  Dali::Renderer *arg1 = (Dali::Renderer *) 0 ;
+  Dali::Geometry result;
+  
+  arg1 = (Dali::Renderer *)jarg1; 
+  {
+    try {
+      result = ((Dali::Renderer const *)arg1)->GetGeometry();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Geometry((const Dali::Geometry &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Renderer_SetIndexRange(void * jarg1, int jarg2, int jarg3) {
+  Dali::Renderer *arg1 = (Dali::Renderer *) 0 ;
+  int arg2 ;
+  int arg3 ;
+  
+  arg1 = (Dali::Renderer *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (int)jarg3; 
+  {
+    try {
+      (arg1)->SetIndexRange(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Renderer_SetTextures(void * jarg1, void * jarg2) {
+  Dali::Renderer *arg1 = (Dali::Renderer *) 0 ;
+  Dali::TextureSet *arg2 = 0 ;
+  
+  arg1 = (Dali::Renderer *)jarg1; 
+  arg2 = (Dali::TextureSet *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TextureSet & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetTextures(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Renderer_GetTextures(void * jarg1) {
+  void * jresult ;
+  Dali::Renderer *arg1 = (Dali::Renderer *) 0 ;
+  Dali::TextureSet result;
+  
+  arg1 = (Dali::Renderer *)jarg1; 
+  {
+    try {
+      result = ((Dali::Renderer const *)arg1)->GetTextures();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::TextureSet((const Dali::TextureSet &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Renderer_SetShader(void * jarg1, void * jarg2) {
+  Dali::Renderer *arg1 = (Dali::Renderer *) 0 ;
+  Dali::Shader *arg2 = 0 ;
+  
+  arg1 = (Dali::Renderer *)jarg1; 
+  arg2 = (Dali::Shader *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Shader & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetShader(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Renderer_GetShader(void * jarg1) {
+  void * jresult ;
+  Dali::Renderer *arg1 = (Dali::Renderer *) 0 ;
+  Dali::Shader result;
+  
+  arg1 = (Dali::Renderer *)jarg1; 
+  {
+    try {
+      result = ((Dali::Renderer const *)arg1)->GetShader();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Shader((const Dali::Shader &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_FrameBuffer_Attachment() {
+  void * jresult ;
+  Dali::FrameBuffer::Attachment *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::FrameBuffer::Attachment *)new Dali::FrameBuffer::Attachment();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_FrameBuffer_Attachment(void * jarg1) {
+  Dali::FrameBuffer::Attachment *arg1 = (Dali::FrameBuffer::Attachment *) 0 ;
+  
+  arg1 = (Dali::FrameBuffer::Attachment *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_FrameBuffer_New(unsigned int jarg1, unsigned int jarg2, unsigned int jarg3) {
+  void * jresult ;
+  unsigned int arg1 ;
+  unsigned int arg2 ;
+  unsigned int arg3 ;
+  Dali::FrameBuffer result;
+  
+  arg1 = (unsigned int)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (unsigned int)jarg3; 
+  {
+    try {
+      result = Dali::FrameBuffer::New(arg1,arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::FrameBuffer((const Dali::FrameBuffer &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_FrameBuffer__SWIG_0() {
+  void * jresult ;
+  Dali::FrameBuffer *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::FrameBuffer *)new Dali::FrameBuffer();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_FrameBuffer(void * jarg1) {
+  Dali::FrameBuffer *arg1 = (Dali::FrameBuffer *) 0 ;
+  
+  arg1 = (Dali::FrameBuffer *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_FrameBuffer__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::FrameBuffer *arg1 = 0 ;
+  Dali::FrameBuffer *result = 0 ;
+  
+  arg1 = (Dali::FrameBuffer *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::FrameBuffer const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::FrameBuffer *)new Dali::FrameBuffer((Dali::FrameBuffer const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_FrameBuffer_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::FrameBuffer result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::FrameBuffer::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::FrameBuffer((const Dali::FrameBuffer &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_FrameBuffer_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::FrameBuffer *arg1 = (Dali::FrameBuffer *) 0 ;
+  Dali::FrameBuffer *arg2 = 0 ;
+  Dali::FrameBuffer *result = 0 ;
+  
+  arg1 = (Dali::FrameBuffer *)jarg1; 
+  arg2 = (Dali::FrameBuffer *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::FrameBuffer const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::FrameBuffer *) &(arg1)->operator =((Dali::FrameBuffer const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_FrameBuffer_AttachColorTexture__SWIG_0(void * jarg1, void * jarg2) {
+  Dali::FrameBuffer *arg1 = (Dali::FrameBuffer *) 0 ;
+  Dali::Texture *arg2 = 0 ;
+  
+  arg1 = (Dali::FrameBuffer *)jarg1; 
+  arg2 = (Dali::Texture *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Texture & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->AttachColorTexture(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_FrameBuffer_AttachColorTexture__SWIG_1(void * jarg1, void * jarg2, unsigned int jarg3, unsigned int jarg4) {
+  Dali::FrameBuffer *arg1 = (Dali::FrameBuffer *) 0 ;
+  Dali::Texture *arg2 = 0 ;
+  unsigned int arg3 ;
+  unsigned int arg4 ;
+  
+  arg1 = (Dali::FrameBuffer *)jarg1; 
+  arg2 = (Dali::Texture *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Texture & type is null", 0);
+    return ;
+  } 
+  arg3 = (unsigned int)jarg3; 
+  arg4 = (unsigned int)jarg4; 
+  {
+    try {
+      (arg1)->AttachColorTexture(*arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_FrameBuffer_GetColorTexture(void * jarg1) {
+  void * jresult ;
+  Dali::FrameBuffer *arg1 = (Dali::FrameBuffer *) 0 ;
+  Dali::Texture result;
+  
+  arg1 = (Dali::FrameBuffer *)jarg1; 
+  {
+    try {
+      result = (arg1)->GetColorTexture();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Texture((const Dali::Texture &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RenderTaskList__SWIG_0() {
+  void * jresult ;
+  Dali::RenderTaskList *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::RenderTaskList *)new Dali::RenderTaskList();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RenderTaskList_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::RenderTaskList result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::RenderTaskList::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::RenderTaskList((const Dali::RenderTaskList &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_RenderTaskList(void * jarg1) {
+  Dali::RenderTaskList *arg1 = (Dali::RenderTaskList *) 0 ;
+  
+  arg1 = (Dali::RenderTaskList *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RenderTaskList__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::RenderTaskList *arg1 = 0 ;
+  Dali::RenderTaskList *result = 0 ;
+  
+  arg1 = (Dali::RenderTaskList *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::RenderTaskList const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::RenderTaskList *)new Dali::RenderTaskList((Dali::RenderTaskList const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RenderTaskList_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::RenderTaskList *arg1 = (Dali::RenderTaskList *) 0 ;
+  Dali::RenderTaskList *arg2 = 0 ;
+  Dali::RenderTaskList *result = 0 ;
+  
+  arg1 = (Dali::RenderTaskList *)jarg1; 
+  arg2 = (Dali::RenderTaskList *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::RenderTaskList const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::RenderTaskList *) &(arg1)->operator =((Dali::RenderTaskList const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RenderTaskList_CreateTask(void * jarg1) {
+  void * jresult ;
+  Dali::RenderTaskList *arg1 = (Dali::RenderTaskList *) 0 ;
+  Dali::RenderTask result;
+  
+  arg1 = (Dali::RenderTaskList *)jarg1; 
+  {
+    try {
+      result = (arg1)->CreateTask();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::RenderTask((const Dali::RenderTask &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RenderTaskList_RemoveTask(void * jarg1, void * jarg2) {
+  Dali::RenderTaskList *arg1 = (Dali::RenderTaskList *) 0 ;
+  Dali::RenderTask arg2 ;
+  Dali::RenderTask *argp2 ;
+  
+  arg1 = (Dali::RenderTaskList *)jarg1; 
+  argp2 = (Dali::RenderTask *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::RenderTask", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->RemoveTask(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RenderTaskList_GetTaskCount(void * jarg1) {
+  unsigned int jresult ;
+  Dali::RenderTaskList *arg1 = (Dali::RenderTaskList *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::RenderTaskList *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::RenderTaskList const *)arg1)->GetTaskCount();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RenderTaskList_GetTask(void * jarg1, unsigned int jarg2) {
+  void * jresult ;
+  Dali::RenderTaskList *arg1 = (Dali::RenderTaskList *) 0 ;
+  unsigned int arg2 ;
+  Dali::RenderTask result;
+  
+  arg1 = (Dali::RenderTaskList *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = ((Dali::RenderTaskList const *)arg1)->GetTask(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::RenderTask((const Dali::RenderTask &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RenderTask_Property_VIEWPORT_POSITION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::RenderTask::Property::VIEWPORT_POSITION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RenderTask_Property_VIEWPORT_SIZE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::RenderTask::Property::VIEWPORT_SIZE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RenderTask_Property_CLEAR_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::RenderTask::Property::CLEAR_COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RenderTask_Property_REQUIRES_SYNC_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::RenderTask::Property::REQUIRES_SYNC;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RenderTask_Property() {
+  void * jresult ;
+  Dali::RenderTask::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::RenderTask::Property *)new Dali::RenderTask::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_RenderTask_Property(void * jarg1) {
+  Dali::RenderTask::Property *arg1 = (Dali::RenderTask::Property *) 0 ;
+  
+  arg1 = (Dali::RenderTask::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RenderTask_DEFAULT_SCREEN_TO_FRAMEBUFFER_FUNCTION_get() {
+  void * jresult ;
+  bool (*result)(Dali::Vector2 &) = 0 ;
+  
+  result = (bool (*)(Dali::Vector2 &))Dali::RenderTask::DEFAULT_SCREEN_TO_FRAMEBUFFER_FUNCTION;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RenderTask_FULLSCREEN_FRAMEBUFFER_FUNCTION_get() {
+  void * jresult ;
+  bool (*result)(Dali::Vector2 &) = 0 ;
+  
+  result = (bool (*)(Dali::Vector2 &))Dali::RenderTask::FULLSCREEN_FRAMEBUFFER_FUNCTION;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RenderTask_DEFAULT_EXCLUSIVE_get() {
+  unsigned int jresult ;
+  bool result;
+  
+  result = (bool)(bool)Dali::RenderTask::DEFAULT_EXCLUSIVE;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RenderTask_DEFAULT_INPUT_ENABLED_get() {
+  unsigned int jresult ;
+  bool result;
+  
+  result = (bool)(bool)Dali::RenderTask::DEFAULT_INPUT_ENABLED;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RenderTask_DEFAULT_CLEAR_COLOR_get() {
+  void * jresult ;
+  Dali::Vector4 *result = 0 ;
+  
+  result = (Dali::Vector4 *)&Dali::RenderTask::DEFAULT_CLEAR_COLOR;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RenderTask_DEFAULT_CLEAR_ENABLED_get() {
+  unsigned int jresult ;
+  bool result;
+  
+  result = (bool)(bool)Dali::RenderTask::DEFAULT_CLEAR_ENABLED;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RenderTask_DEFAULT_CULL_MODE_get() {
+  unsigned int jresult ;
+  bool result;
+  
+  result = (bool)(bool)Dali::RenderTask::DEFAULT_CULL_MODE;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RenderTask_DEFAULT_REFRESH_RATE_get() {
+  unsigned int jresult ;
+  unsigned int result;
+  
+  result = (unsigned int)(unsigned int)Dali::RenderTask::DEFAULT_REFRESH_RATE;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RenderTask__SWIG_0() {
+  void * jresult ;
+  Dali::RenderTask *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::RenderTask *)new Dali::RenderTask();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RenderTask_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::RenderTask result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::RenderTask::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::RenderTask((const Dali::RenderTask &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_RenderTask(void * jarg1) {
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RenderTask__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::RenderTask *arg1 = 0 ;
+  Dali::RenderTask *result = 0 ;
+  
+  arg1 = (Dali::RenderTask *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::RenderTask const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::RenderTask *)new Dali::RenderTask((Dali::RenderTask const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RenderTask_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  Dali::RenderTask *arg2 = 0 ;
+  Dali::RenderTask *result = 0 ;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  arg2 = (Dali::RenderTask *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::RenderTask const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::RenderTask *) &(arg1)->operator =((Dali::RenderTask const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RenderTask_SetSourceActor(void * jarg1, void * jarg2) {
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetSourceActor(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RenderTask_GetSourceActor(void * jarg1) {
+  void * jresult ;
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  {
+    try {
+      result = ((Dali::RenderTask const *)arg1)->GetSourceActor();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RenderTask_SetExclusive(void * jarg1, unsigned int jarg2) {
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetExclusive(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RenderTask_IsExclusive(void * jarg1) {
+  unsigned int jresult ;
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::RenderTask const *)arg1)->IsExclusive();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RenderTask_SetInputEnabled(void * jarg1, unsigned int jarg2) {
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetInputEnabled(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RenderTask_GetInputEnabled(void * jarg1) {
+  unsigned int jresult ;
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::RenderTask const *)arg1)->GetInputEnabled();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RenderTask_SetCameraActor(void * jarg1, void * jarg2) {
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  Dali::CameraActor arg2 ;
+  Dali::CameraActor *argp2 ;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  argp2 = (Dali::CameraActor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::CameraActor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetCameraActor(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RenderTask_GetCameraActor(void * jarg1) {
+  void * jresult ;
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  Dali::CameraActor result;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  {
+    try {
+      result = ((Dali::RenderTask const *)arg1)->GetCameraActor();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::CameraActor((const Dali::CameraActor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RenderTask_SetTargetFrameBuffer(void * jarg1, void * jarg2) {
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  Dali::FrameBufferImage arg2 ;
+  Dali::FrameBufferImage *argp2 ;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  argp2 = (Dali::FrameBufferImage *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::FrameBufferImage", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetTargetFrameBuffer(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RenderTask_GetTargetFrameBuffer(void * jarg1) {
+  void * jresult ;
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  Dali::FrameBufferImage result;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  {
+    try {
+      result = ((Dali::RenderTask const *)arg1)->GetTargetFrameBuffer();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::FrameBufferImage((const Dali::FrameBufferImage &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RenderTask_SetFrameBuffer(void * jarg1, void * jarg2) {
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  Dali::FrameBuffer arg2 ;
+  Dali::FrameBuffer *argp2 ;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  argp2 = (Dali::FrameBuffer *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::FrameBuffer", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetFrameBuffer(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RenderTask_GetFrameBuffer(void * jarg1) {
+  void * jresult ;
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  Dali::FrameBuffer result;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  {
+    try {
+      result = ((Dali::RenderTask const *)arg1)->GetFrameBuffer();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::FrameBuffer((const Dali::FrameBuffer &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RenderTask_SetScreenToFrameBufferFunction(void * jarg1, void * jarg2) {
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  Dali::RenderTask::ScreenToFrameBufferFunction arg2 = (Dali::RenderTask::ScreenToFrameBufferFunction) 0 ;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  arg2 = (Dali::RenderTask::ScreenToFrameBufferFunction)jarg2; 
+  {
+    try {
+      (arg1)->SetScreenToFrameBufferFunction(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RenderTask_GetScreenToFrameBufferFunction(void * jarg1) {
+  void * jresult ;
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  Dali::RenderTask::ScreenToFrameBufferFunction result;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  {
+    try {
+      result = (Dali::RenderTask::ScreenToFrameBufferFunction)((Dali::RenderTask const *)arg1)->GetScreenToFrameBufferFunction();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RenderTask_SetScreenToFrameBufferMappingActor(void * jarg1, void * jarg2) {
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetScreenToFrameBufferMappingActor(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RenderTask_GetScreenToFrameBufferMappingActor(void * jarg1) {
+  void * jresult ;
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  {
+    try {
+      result = ((Dali::RenderTask const *)arg1)->GetScreenToFrameBufferMappingActor();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RenderTask_SetViewportPosition(void * jarg1, void * jarg2) {
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  Dali::Vector2 arg2 ;
+  Dali::Vector2 *argp2 ;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  argp2 = (Dali::Vector2 *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Vector2", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetViewportPosition(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RenderTask_GetCurrentViewportPosition(void * jarg1) {
+  void * jresult ;
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  Dali::Vector2 result;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  {
+    try {
+      result = ((Dali::RenderTask const *)arg1)->GetCurrentViewportPosition();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector2((const Dali::Vector2 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RenderTask_SetViewportSize(void * jarg1, void * jarg2) {
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  Dali::Vector2 arg2 ;
+  Dali::Vector2 *argp2 ;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  argp2 = (Dali::Vector2 *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Vector2", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetViewportSize(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RenderTask_GetCurrentViewportSize(void * jarg1) {
+  void * jresult ;
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  Dali::Vector2 result;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  {
+    try {
+      result = ((Dali::RenderTask const *)arg1)->GetCurrentViewportSize();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector2((const Dali::Vector2 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RenderTask_SetViewport(void * jarg1, void * jarg2) {
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  Dali::Viewport arg2 ;
+  Dali::Viewport *argp2 ;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  argp2 = (Dali::Viewport *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Viewport", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetViewport(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RenderTask_GetViewport(void * jarg1) {
+  void * jresult ;
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  Dali::Viewport result;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  {
+    try {
+      result = ((Dali::RenderTask const *)arg1)->GetViewport();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Viewport((const Dali::Viewport &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RenderTask_SetClearColor(void * jarg1, void * jarg2) {
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetClearColor((Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RenderTask_GetClearColor(void * jarg1) {
+  void * jresult ;
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  Dali::Vector4 result;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  {
+    try {
+      result = ((Dali::RenderTask const *)arg1)->GetClearColor();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector4((const Dali::Vector4 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RenderTask_SetClearEnabled(void * jarg1, unsigned int jarg2) {
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetClearEnabled(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RenderTask_GetClearEnabled(void * jarg1) {
+  unsigned int jresult ;
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::RenderTask const *)arg1)->GetClearEnabled();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RenderTask_SetCullMode(void * jarg1, unsigned int jarg2) {
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetCullMode(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RenderTask_GetCullMode(void * jarg1) {
+  unsigned int jresult ;
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::RenderTask const *)arg1)->GetCullMode();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RenderTask_SetRefreshRate(void * jarg1, unsigned int jarg2) {
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      (arg1)->SetRefreshRate(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RenderTask_GetRefreshRate(void * jarg1) {
+  unsigned int jresult ;
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::RenderTask const *)arg1)->GetRefreshRate();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RenderTask_WorldToViewport(void * jarg1, void * jarg2, float * jarg3, float * jarg4) {
+  unsigned int jresult ;
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  float *arg3 = 0 ;
+  float *arg4 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  arg3 = (float *)jarg3; 
+  arg4 = (float *)jarg4; 
+  {
+    try {
+      result = (bool)((Dali::RenderTask const *)arg1)->WorldToViewport((Dali::Vector3 const &)*arg2,*arg3,*arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RenderTask_ViewportToLocal(void * jarg1, void * jarg2, float jarg3, float jarg4, float * jarg5, float * jarg6) {
+  unsigned int jresult ;
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  Dali::Actor arg2 ;
+  float arg3 ;
+  float arg4 ;
+  float *arg5 = 0 ;
+  float *arg6 = 0 ;
+  Dali::Actor *argp2 ;
+  bool result;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  arg5 = (float *)jarg5; 
+  arg6 = (float *)jarg6; 
+  {
+    try {
+      result = (bool)((Dali::RenderTask const *)arg1)->ViewportToLocal(arg2,arg3,arg4,*arg5,*arg6);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RenderTask_FinishedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::RenderTask *arg1 = (Dali::RenderTask *) 0 ;
+  Dali::RenderTask::RenderTaskSignalType *result = 0 ;
+  
+  arg1 = (Dali::RenderTask *)jarg1; 
+  {
+    try {
+      result = (Dali::RenderTask::RenderTaskSignalType *) &(arg1)->FinishedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TouchPoint__SWIG_0(int jarg1, int jarg2, float jarg3, float jarg4) {
+  void * jresult ;
+  int arg1 ;
+  Dali::TouchPoint::State arg2 ;
+  float arg3 ;
+  float arg4 ;
+  Dali::TouchPoint *result = 0 ;
+  
+  arg1 = (int)jarg1; 
+  arg2 = (Dali::TouchPoint::State)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  {
+    try {
+      result = (Dali::TouchPoint *)new Dali::TouchPoint(arg1,arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TouchPoint__SWIG_1(int jarg1, int jarg2, float jarg3, float jarg4, float jarg5, float jarg6) {
+  void * jresult ;
+  int arg1 ;
+  Dali::TouchPoint::State arg2 ;
+  float arg3 ;
+  float arg4 ;
+  float arg5 ;
+  float arg6 ;
+  Dali::TouchPoint *result = 0 ;
+  
+  arg1 = (int)jarg1; 
+  arg2 = (Dali::TouchPoint::State)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  arg5 = (float)jarg5; 
+  arg6 = (float)jarg6; 
+  {
+    try {
+      result = (Dali::TouchPoint *)new Dali::TouchPoint(arg1,arg2,arg3,arg4,arg5,arg6);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TouchPoint(void * jarg1) {
+  Dali::TouchPoint *arg1 = (Dali::TouchPoint *) 0 ;
+  
+  arg1 = (Dali::TouchPoint *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchPoint_deviceId_set(void * jarg1, int jarg2) {
+  Dali::TouchPoint *arg1 = (Dali::TouchPoint *) 0 ;
+  int arg2 ;
+  
+  arg1 = (Dali::TouchPoint *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->deviceId = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TouchPoint_deviceId_get(void * jarg1) {
+  int jresult ;
+  Dali::TouchPoint *arg1 = (Dali::TouchPoint *) 0 ;
+  int result;
+  
+  arg1 = (Dali::TouchPoint *)jarg1; 
+  result = (int) ((arg1)->deviceId);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchPoint_state_set(void * jarg1, int jarg2) {
+  Dali::TouchPoint *arg1 = (Dali::TouchPoint *) 0 ;
+  Dali::TouchPoint::State arg2 ;
+  
+  arg1 = (Dali::TouchPoint *)jarg1; 
+  arg2 = (Dali::TouchPoint::State)jarg2; 
+  if (arg1) (arg1)->state = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TouchPoint_state_get(void * jarg1) {
+  int jresult ;
+  Dali::TouchPoint *arg1 = (Dali::TouchPoint *) 0 ;
+  Dali::TouchPoint::State result;
+  
+  arg1 = (Dali::TouchPoint *)jarg1; 
+  result = (Dali::TouchPoint::State) ((arg1)->state);
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchPoint_hitActor_set(void * jarg1, void * jarg2) {
+  Dali::TouchPoint *arg1 = (Dali::TouchPoint *) 0 ;
+  Dali::Actor *arg2 = (Dali::Actor *) 0 ;
+  
+  arg1 = (Dali::TouchPoint *)jarg1; 
+  arg2 = (Dali::Actor *)jarg2; 
+  if (arg1) (arg1)->hitActor = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TouchPoint_hitActor_get(void * jarg1) {
+  void * jresult ;
+  Dali::TouchPoint *arg1 = (Dali::TouchPoint *) 0 ;
+  Dali::Actor *result = 0 ;
+  
+  arg1 = (Dali::TouchPoint *)jarg1; 
+  result = (Dali::Actor *)& ((arg1)->hitActor);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchPoint_local_set(void * jarg1, void * jarg2) {
+  Dali::TouchPoint *arg1 = (Dali::TouchPoint *) 0 ;
+  Dali::Vector2 *arg2 = (Dali::Vector2 *) 0 ;
+  
+  arg1 = (Dali::TouchPoint *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2; 
+  if (arg1) (arg1)->local = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TouchPoint_local_get(void * jarg1) {
+  void * jresult ;
+  Dali::TouchPoint *arg1 = (Dali::TouchPoint *) 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::TouchPoint *)jarg1; 
+  result = (Dali::Vector2 *)& ((arg1)->local);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchPoint_screen_set(void * jarg1, void * jarg2) {
+  Dali::TouchPoint *arg1 = (Dali::TouchPoint *) 0 ;
+  Dali::Vector2 *arg2 = (Dali::Vector2 *) 0 ;
+  
+  arg1 = (Dali::TouchPoint *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2; 
+  if (arg1) (arg1)->screen = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TouchPoint_screen_get(void * jarg1) {
+  void * jresult ;
+  Dali::TouchPoint *arg1 = (Dali::TouchPoint *) 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::TouchPoint *)jarg1; 
+  result = (Dali::Vector2 *)& ((arg1)->screen);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Touch__SWIG_0() {
+  void * jresult ;
+  Dali::TouchData *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::TouchData *)new Dali::TouchData();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Touch__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::TouchData *arg1 = 0 ;
+  Dali::TouchData *result = 0 ;
+  
+  arg1 = (Dali::TouchData *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TouchData const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::TouchData *)new Dali::TouchData((Dali::TouchData const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Touch(void * jarg1) {
+  Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
+  
+  arg1 = (Dali::TouchData *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Touch_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
+  Dali::TouchData *arg2 = 0 ;
+  Dali::TouchData *result = 0 ;
+  
+  arg1 = (Dali::TouchData *)jarg1; 
+  arg2 = (Dali::TouchData *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TouchData const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::TouchData *) &(arg1)->operator =((Dali::TouchData const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_Touch_GetTime(void * jarg1) {
+  unsigned long jresult ;
+  Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
+  unsigned long result;
+  
+  arg1 = (Dali::TouchData *)jarg1; 
+  {
+    try {
+      result = (unsigned long)((Dali::TouchData const *)arg1)->GetTime();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_Touch_GetPointCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::TouchData *)jarg1; 
+  {
+    try {
+      result = ((Dali::TouchData const *)arg1)->GetPointCount();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Touch_GetDeviceId(void * jarg1, unsigned long jarg2) {
+  int jresult ;
+  Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
+  std::size_t arg2 ;
+  int32_t result;
+  
+  arg1 = (Dali::TouchData *)jarg1; 
+  arg2 = (std::size_t)jarg2; 
+  {
+    try {
+      result = ((Dali::TouchData const *)arg1)->GetDeviceId(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Touch_GetState(void * jarg1, unsigned long jarg2) {
+  int jresult ;
+  Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
+  std::size_t arg2 ;
+  Dali::PointState::Type result;
+  
+  arg1 = (Dali::TouchData *)jarg1; 
+  arg2 = (std::size_t)jarg2; 
+  {
+    try {
+      result = (Dali::PointState::Type)((Dali::TouchData const *)arg1)->GetState(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Touch_GetHitActor(void * jarg1, unsigned long jarg2) {
+  void * jresult ;
+  Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
+  std::size_t arg2 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::TouchData *)jarg1; 
+  arg2 = (std::size_t)jarg2; 
+  {
+    try {
+      result = ((Dali::TouchData const *)arg1)->GetHitActor(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Touch_GetLocalPosition(void * jarg1, unsigned long jarg2) {
+  void * jresult ;
+  Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
+  std::size_t arg2 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::TouchData *)jarg1; 
+  arg2 = (std::size_t)jarg2; 
+  {
+    try {
+      result = (Dali::Vector2 *) &((Dali::TouchData const *)arg1)->GetLocalPosition(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Touch_GetScreenPosition(void * jarg1, unsigned long jarg2) {
+  void * jresult ;
+  Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
+  std::size_t arg2 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::TouchData *)jarg1; 
+  arg2 = (std::size_t)jarg2; 
+  {
+    try {
+      result = (Dali::Vector2 *) &((Dali::TouchData const *)arg1)->GetScreenPosition(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Touch_GetRadius(void * jarg1, unsigned long jarg2) {
+  float jresult ;
+  Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
+  std::size_t arg2 ;
+  float result;
+  
+  arg1 = (Dali::TouchData *)jarg1; 
+  arg2 = (std::size_t)jarg2; 
+  {
+    try {
+      result = (float)((Dali::TouchData const *)arg1)->GetRadius(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Touch_GetEllipseRadius(void * jarg1, unsigned long jarg2) {
+  void * jresult ;
+  Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
+  std::size_t arg2 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::TouchData *)jarg1; 
+  arg2 = (std::size_t)jarg2; 
+  {
+    try {
+      result = (Dali::Vector2 *) &((Dali::TouchData const *)arg1)->GetEllipseRadius(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Touch_GetPressure(void * jarg1, unsigned long jarg2) {
+  float jresult ;
+  Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
+  std::size_t arg2 ;
+  float result;
+  
+  arg1 = (Dali::TouchData *)jarg1; 
+  arg2 = (std::size_t)jarg2; 
+  {
+    try {
+      result = (float)((Dali::TouchData const *)arg1)->GetPressure(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Touch_GetAngle(void * jarg1, unsigned long jarg2) {
+  void * jresult ;
+  Dali::TouchData *arg1 = (Dali::TouchData *) 0 ;
+  std::size_t arg2 ;
+  Dali::Degree result;
+  
+  arg1 = (Dali::TouchData *)jarg1; 
+  arg2 = (std::size_t)jarg2; 
+  {
+    try {
+      result = ((Dali::TouchData const *)arg1)->GetAngle(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Degree((const Dali::Degree &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_GestureDetector__SWIG_0() {
+  void * jresult ;
+  Dali::GestureDetector *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::GestureDetector *)new Dali::GestureDetector();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_GestureDetector_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::GestureDetector result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::GestureDetector::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::GestureDetector((const Dali::GestureDetector &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_GestureDetector(void * jarg1) {
+  Dali::GestureDetector *arg1 = (Dali::GestureDetector *) 0 ;
+  
+  arg1 = (Dali::GestureDetector *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_GestureDetector__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::GestureDetector *arg1 = 0 ;
+  Dali::GestureDetector *result = 0 ;
+  
+  arg1 = (Dali::GestureDetector *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::GestureDetector const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::GestureDetector *)new Dali::GestureDetector((Dali::GestureDetector const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_GestureDetector_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::GestureDetector *arg1 = (Dali::GestureDetector *) 0 ;
+  Dali::GestureDetector *arg2 = 0 ;
+  Dali::GestureDetector *result = 0 ;
+  
+  arg1 = (Dali::GestureDetector *)jarg1; 
+  arg2 = (Dali::GestureDetector *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::GestureDetector const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::GestureDetector *) &(arg1)->operator =((Dali::GestureDetector const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_GestureDetector_Attach(void * jarg1, void * jarg2) {
+  Dali::GestureDetector *arg1 = (Dali::GestureDetector *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::GestureDetector *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->Attach(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_GestureDetector_Detach(void * jarg1, void * jarg2) {
+  Dali::GestureDetector *arg1 = (Dali::GestureDetector *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::GestureDetector *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->Detach(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_GestureDetector_DetachAll(void * jarg1) {
+  Dali::GestureDetector *arg1 = (Dali::GestureDetector *) 0 ;
+  
+  arg1 = (Dali::GestureDetector *)jarg1; 
+  {
+    try {
+      (arg1)->DetachAll();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_GestureDetector_GetAttachedActorCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::GestureDetector *arg1 = (Dali::GestureDetector *) 0 ;
+  size_t result;
+  
+  arg1 = (Dali::GestureDetector *)jarg1; 
+  {
+    try {
+      result = ((Dali::GestureDetector const *)arg1)->GetAttachedActorCount();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_GestureDetector_GetAttachedActor(void * jarg1, unsigned long jarg2) {
+  void * jresult ;
+  Dali::GestureDetector *arg1 = (Dali::GestureDetector *) 0 ;
+  size_t arg2 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::GestureDetector *)jarg1; 
+  arg2 = (size_t)jarg2; 
+  {
+    try {
+      result = ((Dali::GestureDetector const *)arg1)->GetAttachedActor(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Gesture(void * jarg1) {
+  void * jresult ;
+  Dali::Gesture *arg1 = 0 ;
+  Dali::Gesture *result = 0 ;
+  
+  arg1 = (Dali::Gesture *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Gesture const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Gesture *)new Dali::Gesture((Dali::Gesture const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Gesture_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Gesture *arg1 = (Dali::Gesture *) 0 ;
+  Dali::Gesture *arg2 = 0 ;
+  Dali::Gesture *result = 0 ;
+  
+  arg1 = (Dali::Gesture *)jarg1; 
+  arg2 = (Dali::Gesture *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Gesture const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Gesture *) &(arg1)->operator =((Dali::Gesture const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Gesture(void * jarg1) {
+  Dali::Gesture *arg1 = (Dali::Gesture *) 0 ;
+  
+  arg1 = (Dali::Gesture *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Gesture_type_set(void * jarg1, int jarg2) {
+  Dali::Gesture *arg1 = (Dali::Gesture *) 0 ;
+  Dali::Gesture::Type arg2 ;
+  
+  arg1 = (Dali::Gesture *)jarg1; 
+  arg2 = (Dali::Gesture::Type)jarg2; 
+  if (arg1) (arg1)->type = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Gesture_type_get(void * jarg1) {
+  int jresult ;
+  Dali::Gesture *arg1 = (Dali::Gesture *) 0 ;
+  Dali::Gesture::Type result;
+  
+  arg1 = (Dali::Gesture *)jarg1; 
+  result = (Dali::Gesture::Type) ((arg1)->type);
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Gesture_state_set(void * jarg1, int jarg2) {
+  Dali::Gesture *arg1 = (Dali::Gesture *) 0 ;
+  Dali::Gesture::State arg2 ;
+  
+  arg1 = (Dali::Gesture *)jarg1; 
+  arg2 = (Dali::Gesture::State)jarg2; 
+  if (arg1) (arg1)->state = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Gesture_state_get(void * jarg1) {
+  int jresult ;
+  Dali::Gesture *arg1 = (Dali::Gesture *) 0 ;
+  Dali::Gesture::State result;
+  
+  arg1 = (Dali::Gesture *)jarg1; 
+  result = (Dali::Gesture::State) ((arg1)->state);
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Gesture_time_set(void * jarg1, unsigned int jarg2) {
+  Dali::Gesture *arg1 = (Dali::Gesture *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::Gesture *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->time = arg2;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Gesture_time_get(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Gesture *arg1 = (Dali::Gesture *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Gesture *)jarg1; 
+  result = (unsigned int) ((arg1)->time);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Hover__SWIG_0() {
+  void * jresult ;
+  Dali::HoverEvent *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::HoverEvent *)new Dali::HoverEvent();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Hover__SWIG_1(unsigned long jarg1) {
+  void * jresult ;
+  unsigned long arg1 ;
+  Dali::HoverEvent *result = 0 ;
+  
+  arg1 = (unsigned long)jarg1; 
+  {
+    try {
+      result = (Dali::HoverEvent *)new Dali::HoverEvent(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Hover(void * jarg1) {
+  Dali::HoverEvent *arg1 = (Dali::HoverEvent *) 0 ;
+  
+  arg1 = (Dali::HoverEvent *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Hover_points_set(void * jarg1, void * jarg2) {
+  Dali::HoverEvent *arg1 = (Dali::HoverEvent *) 0 ;
+  Dali::TouchPointContainer *arg2 = (Dali::TouchPointContainer *) 0 ;
+  
+  arg1 = (Dali::HoverEvent *)jarg1; 
+  arg2 = (Dali::TouchPointContainer *)jarg2; 
+  if (arg1) (arg1)->points = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Hover_points_get(void * jarg1) {
+  void * jresult ;
+  Dali::HoverEvent *arg1 = (Dali::HoverEvent *) 0 ;
+  Dali::TouchPointContainer *result = 0 ;
+  
+  arg1 = (Dali::HoverEvent *)jarg1; 
+  result = (Dali::TouchPointContainer *)& ((arg1)->points);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Hover_time_set(void * jarg1, unsigned long jarg2) {
+  Dali::HoverEvent *arg1 = (Dali::HoverEvent *) 0 ;
+  unsigned long arg2 ;
+  
+  arg1 = (Dali::HoverEvent *)jarg1; 
+  arg2 = (unsigned long)jarg2; 
+  if (arg1) (arg1)->time = arg2;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_Hover_time_get(void * jarg1) {
+  unsigned long jresult ;
+  Dali::HoverEvent *arg1 = (Dali::HoverEvent *) 0 ;
+  unsigned long result;
+  
+  arg1 = (Dali::HoverEvent *)jarg1; 
+  result = (unsigned long) ((arg1)->time);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Hover_GetPointCount(void * jarg1) {
+  unsigned int jresult ;
+  Dali::HoverEvent *arg1 = (Dali::HoverEvent *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::HoverEvent *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::HoverEvent const *)arg1)->GetPointCount();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Hover_GetPoint(void * jarg1, unsigned int jarg2) {
+  void * jresult ;
+  Dali::HoverEvent *arg1 = (Dali::HoverEvent *) 0 ;
+  unsigned int arg2 ;
+  Dali::TouchPoint *result = 0 ;
+  
+  arg1 = (Dali::HoverEvent *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = (Dali::TouchPoint *) &((Dali::HoverEvent const *)arg1)->GetPoint(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Key__SWIG_0() {
+  void * jresult ;
+  Dali::KeyEvent *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::KeyEvent *)new Dali::KeyEvent();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Key__SWIG_1(char * jarg1, char * jarg2, int jarg3, int jarg4, unsigned long jarg5, int jarg6) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  std::string *arg2 = 0 ;
+  int arg3 ;
+  int arg4 ;
+  unsigned long arg5 ;
+  Dali::KeyEvent::State *arg6 = 0 ;
+  Dali::KeyEvent::State temp6 ;
+  Dali::KeyEvent *result = 0 ;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (int)jarg3; 
+  arg4 = (int)jarg4; 
+  arg5 = (unsigned long)jarg5; 
+  temp6 = (Dali::KeyEvent::State)jarg6; 
+  arg6 = &temp6; 
+  {
+    try {
+      result = (Dali::KeyEvent *)new Dali::KeyEvent((std::string const &)*arg1,(std::string const &)*arg2,arg3,arg4,arg5,(Dali::KeyEvent::State const &)*arg6);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  //argout typemap for const std::string&
+  
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Key(void * jarg1) {
+  Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
+  
+  arg1 = (Dali::KeyEvent *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Key_IsShiftModifier(void * jarg1) {
+  unsigned int jresult ;
+  Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::KeyEvent *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::KeyEvent const *)arg1)->IsShiftModifier();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Key_IsCtrlModifier(void * jarg1) {
+  unsigned int jresult ;
+  Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::KeyEvent *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::KeyEvent const *)arg1)->IsCtrlModifier();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Key_IsAltModifier(void * jarg1) {
+  unsigned int jresult ;
+  Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::KeyEvent *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::KeyEvent const *)arg1)->IsAltModifier();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Key_keyPressedName_set(void * jarg1, char * jarg2) {
+  Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
+  std::string *arg2 = 0 ;
+  
+  arg1 = (Dali::KeyEvent *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  if (arg1) (arg1)->keyPressedName = *arg2;
+  
+  //argout typemap for const std::string&
+  
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_Key_keyPressedName_get(void * jarg1) {
+  char * jresult ;
+  Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
+  std::string *result = 0 ;
+  
+  arg1 = (Dali::KeyEvent *)jarg1; 
+  result = (std::string *) & ((arg1)->keyPressedName);
+  jresult = SWIG_csharp_string_callback(result->c_str()); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Key_keyPressed_set(void * jarg1, char * jarg2) {
+  Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
+  std::string *arg2 = 0 ;
+  
+  arg1 = (Dali::KeyEvent *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  if (arg1) (arg1)->keyPressed = *arg2;
+  
+  //argout typemap for const std::string&
+  
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_Key_keyPressed_get(void * jarg1) {
+  char * jresult ;
+  Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
+  std::string *result = 0 ;
+  
+  arg1 = (Dali::KeyEvent *)jarg1; 
+  result = (std::string *) & ((arg1)->keyPressed);
+  jresult = SWIG_csharp_string_callback(result->c_str()); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Key_keyCode_set(void * jarg1, int jarg2) {
+  Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
+  int arg2 ;
+  
+  arg1 = (Dali::KeyEvent *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->keyCode = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Key_keyCode_get(void * jarg1) {
+  int jresult ;
+  Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
+  int result;
+  
+  arg1 = (Dali::KeyEvent *)jarg1; 
+  result = (int) ((arg1)->keyCode);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Key_keyModifier_set(void * jarg1, int jarg2) {
+  Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
+  int arg2 ;
+  
+  arg1 = (Dali::KeyEvent *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->keyModifier = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Key_keyModifier_get(void * jarg1) {
+  int jresult ;
+  Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
+  int result;
+  
+  arg1 = (Dali::KeyEvent *)jarg1; 
+  result = (int) ((arg1)->keyModifier);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Key_time_set(void * jarg1, unsigned long jarg2) {
+  Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
+  unsigned long arg2 ;
+  
+  arg1 = (Dali::KeyEvent *)jarg1; 
+  arg2 = (unsigned long)jarg2; 
+  if (arg1) (arg1)->time = arg2;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_Key_time_get(void * jarg1) {
+  unsigned long jresult ;
+  Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
+  unsigned long result;
+  
+  arg1 = (Dali::KeyEvent *)jarg1; 
+  result = (unsigned long) ((arg1)->time);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Key_state_set(void * jarg1, int jarg2) {
+  Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
+  Dali::KeyEvent::State arg2 ;
+  
+  arg1 = (Dali::KeyEvent *)jarg1; 
+  arg2 = (Dali::KeyEvent::State)jarg2; 
+  if (arg1) (arg1)->state = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Key_state_get(void * jarg1) {
+  int jresult ;
+  Dali::KeyEvent *arg1 = (Dali::KeyEvent *) 0 ;
+  Dali::KeyEvent::State result;
+  
+  arg1 = (Dali::KeyEvent *)jarg1; 
+  result = (Dali::KeyEvent::State) ((arg1)->state);
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_LongPressGestureDetector__SWIG_0() {
+  void * jresult ;
+  Dali::LongPressGestureDetector *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::LongPressGestureDetector *)new Dali::LongPressGestureDetector();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_LongPressGestureDetector_New__SWIG_0() {
+  void * jresult ;
+  Dali::LongPressGestureDetector result;
+  
+  {
+    try {
+      result = Dali::LongPressGestureDetector::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::LongPressGestureDetector((const Dali::LongPressGestureDetector &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_LongPressGestureDetector_New__SWIG_1(unsigned int jarg1) {
+  void * jresult ;
+  unsigned int arg1 ;
+  Dali::LongPressGestureDetector result;
+  
+  arg1 = (unsigned int)jarg1; 
+  {
+    try {
+      result = Dali::LongPressGestureDetector::New(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::LongPressGestureDetector((const Dali::LongPressGestureDetector &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_LongPressGestureDetector_New__SWIG_2(unsigned int jarg1, unsigned int jarg2) {
+  void * jresult ;
+  unsigned int arg1 ;
+  unsigned int arg2 ;
+  Dali::LongPressGestureDetector result;
+  
+  arg1 = (unsigned int)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = Dali::LongPressGestureDetector::New(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::LongPressGestureDetector((const Dali::LongPressGestureDetector &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_LongPressGestureDetector_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::LongPressGestureDetector result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::LongPressGestureDetector::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::LongPressGestureDetector((const Dali::LongPressGestureDetector &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_LongPressGestureDetector(void * jarg1) {
+  Dali::LongPressGestureDetector *arg1 = (Dali::LongPressGestureDetector *) 0 ;
+  
+  arg1 = (Dali::LongPressGestureDetector *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_LongPressGestureDetector__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::LongPressGestureDetector *arg1 = 0 ;
+  Dali::LongPressGestureDetector *result = 0 ;
+  
+  arg1 = (Dali::LongPressGestureDetector *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::LongPressGestureDetector const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::LongPressGestureDetector *)new Dali::LongPressGestureDetector((Dali::LongPressGestureDetector const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_LongPressGestureDetector_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::LongPressGestureDetector *arg1 = (Dali::LongPressGestureDetector *) 0 ;
+  Dali::LongPressGestureDetector *arg2 = 0 ;
+  Dali::LongPressGestureDetector *result = 0 ;
+  
+  arg1 = (Dali::LongPressGestureDetector *)jarg1; 
+  arg2 = (Dali::LongPressGestureDetector *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::LongPressGestureDetector const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::LongPressGestureDetector *) &(arg1)->operator =((Dali::LongPressGestureDetector const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_LongPressGestureDetector_SetTouchesRequired__SWIG_0(void * jarg1, unsigned int jarg2) {
+  Dali::LongPressGestureDetector *arg1 = (Dali::LongPressGestureDetector *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::LongPressGestureDetector *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      (arg1)->SetTouchesRequired(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_LongPressGestureDetector_SetTouchesRequired__SWIG_1(void * jarg1, unsigned int jarg2, unsigned int jarg3) {
+  Dali::LongPressGestureDetector *arg1 = (Dali::LongPressGestureDetector *) 0 ;
+  unsigned int arg2 ;
+  unsigned int arg3 ;
+  
+  arg1 = (Dali::LongPressGestureDetector *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (unsigned int)jarg3; 
+  {
+    try {
+      (arg1)->SetTouchesRequired(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_LongPressGestureDetector_GetMinimumTouchesRequired(void * jarg1) {
+  unsigned int jresult ;
+  Dali::LongPressGestureDetector *arg1 = (Dali::LongPressGestureDetector *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::LongPressGestureDetector *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::LongPressGestureDetector const *)arg1)->GetMinimumTouchesRequired();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_LongPressGestureDetector_GetMaximumTouchesRequired(void * jarg1) {
+  unsigned int jresult ;
+  Dali::LongPressGestureDetector *arg1 = (Dali::LongPressGestureDetector *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::LongPressGestureDetector *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::LongPressGestureDetector const *)arg1)->GetMaximumTouchesRequired();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_LongPressGestureDetector_DetectedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::LongPressGestureDetector *arg1 = (Dali::LongPressGestureDetector *) 0 ;
+  Dali::LongPressGestureDetector::DetectedSignalType *result = 0 ;
+  
+  arg1 = (Dali::LongPressGestureDetector *)jarg1; 
+  {
+    try {
+      result = (Dali::LongPressGestureDetector::DetectedSignalType *) &(arg1)->DetectedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_LongPressGesture__SWIG_0(int jarg1) {
+  void * jresult ;
+  Dali::Gesture::State arg1 ;
+  Dali::LongPressGesture *result = 0 ;
+  
+  arg1 = (Dali::Gesture::State)jarg1; 
+  {
+    try {
+      result = (Dali::LongPressGesture *)new Dali::LongPressGesture(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_LongPressGesture__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::LongPressGesture *arg1 = 0 ;
+  Dali::LongPressGesture *result = 0 ;
+  
+  arg1 = (Dali::LongPressGesture *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::LongPressGesture const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::LongPressGesture *)new Dali::LongPressGesture((Dali::LongPressGesture const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_LongPressGesture_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::LongPressGesture *arg1 = (Dali::LongPressGesture *) 0 ;
+  Dali::LongPressGesture *arg2 = 0 ;
+  Dali::LongPressGesture *result = 0 ;
+  
+  arg1 = (Dali::LongPressGesture *)jarg1; 
+  arg2 = (Dali::LongPressGesture *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::LongPressGesture const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::LongPressGesture *) &(arg1)->operator =((Dali::LongPressGesture const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_LongPressGesture(void * jarg1) {
+  Dali::LongPressGesture *arg1 = (Dali::LongPressGesture *) 0 ;
+  
+  arg1 = (Dali::LongPressGesture *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_LongPressGesture_numberOfTouches_set(void * jarg1, unsigned int jarg2) {
+  Dali::LongPressGesture *arg1 = (Dali::LongPressGesture *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::LongPressGesture *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->numberOfTouches = arg2;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_LongPressGesture_numberOfTouches_get(void * jarg1) {
+  unsigned int jresult ;
+  Dali::LongPressGesture *arg1 = (Dali::LongPressGesture *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::LongPressGesture *)jarg1; 
+  result = (unsigned int) ((arg1)->numberOfTouches);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_LongPressGesture_screenPoint_set(void * jarg1, void * jarg2) {
+  Dali::LongPressGesture *arg1 = (Dali::LongPressGesture *) 0 ;
+  Dali::Vector2 *arg2 = (Dali::Vector2 *) 0 ;
+  
+  arg1 = (Dali::LongPressGesture *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2; 
+  if (arg1) (arg1)->screenPoint = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_LongPressGesture_screenPoint_get(void * jarg1) {
+  void * jresult ;
+  Dali::LongPressGesture *arg1 = (Dali::LongPressGesture *) 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::LongPressGesture *)jarg1; 
+  result = (Dali::Vector2 *)& ((arg1)->screenPoint);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_LongPressGesture_localPoint_set(void * jarg1, void * jarg2) {
+  Dali::LongPressGesture *arg1 = (Dali::LongPressGesture *) 0 ;
+  Dali::Vector2 *arg2 = (Dali::Vector2 *) 0 ;
+  
+  arg1 = (Dali::LongPressGesture *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2; 
+  if (arg1) (arg1)->localPoint = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_LongPressGesture_localPoint_get(void * jarg1) {
+  void * jresult ;
+  Dali::LongPressGesture *arg1 = (Dali::LongPressGesture *) 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::LongPressGesture *)jarg1; 
+  result = (Dali::Vector2 *)& ((arg1)->localPoint);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Wheel__SWIG_0() {
+  void * jresult ;
+  Dali::WheelEvent *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::WheelEvent *)new Dali::WheelEvent();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Wheel__SWIG_1(int jarg1, int jarg2, unsigned int jarg3, void * jarg4, int jarg5, unsigned int jarg6) {
+  void * jresult ;
+  Dali::WheelEvent::Type arg1 ;
+  int arg2 ;
+  unsigned int arg3 ;
+  Dali::Vector2 arg4 ;
+  int arg5 ;
+  unsigned int arg6 ;
+  Dali::Vector2 *argp4 ;
+  Dali::WheelEvent *result = 0 ;
+  
+  arg1 = (Dali::WheelEvent::Type)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (unsigned int)jarg3; 
+  argp4 = (Dali::Vector2 *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Vector2", 0);
+    return 0;
+  }
+  arg4 = *argp4; 
+  arg5 = (int)jarg5; 
+  arg6 = (unsigned int)jarg6; 
+  {
+    try {
+      result = (Dali::WheelEvent *)new Dali::WheelEvent(arg1,arg2,arg3,arg4,arg5,arg6);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Wheel(void * jarg1) {
+  Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
+  
+  arg1 = (Dali::WheelEvent *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Wheel_IsShiftModifier(void * jarg1) {
+  unsigned int jresult ;
+  Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::WheelEvent *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::WheelEvent const *)arg1)->IsShiftModifier();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Wheel_IsCtrlModifier(void * jarg1) {
+  unsigned int jresult ;
+  Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::WheelEvent *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::WheelEvent const *)arg1)->IsCtrlModifier();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Wheel_IsAltModifier(void * jarg1) {
+  unsigned int jresult ;
+  Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::WheelEvent *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::WheelEvent const *)arg1)->IsAltModifier();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Wheel_type_set(void * jarg1, int jarg2) {
+  Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
+  Dali::WheelEvent::Type arg2 ;
+  
+  arg1 = (Dali::WheelEvent *)jarg1; 
+  arg2 = (Dali::WheelEvent::Type)jarg2; 
+  if (arg1) (arg1)->type = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Wheel_type_get(void * jarg1) {
+  int jresult ;
+  Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
+  Dali::WheelEvent::Type result;
+  
+  arg1 = (Dali::WheelEvent *)jarg1; 
+  result = (Dali::WheelEvent::Type) ((arg1)->type);
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Wheel_direction_set(void * jarg1, int jarg2) {
+  Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
+  int arg2 ;
+  
+  arg1 = (Dali::WheelEvent *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->direction = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Wheel_direction_get(void * jarg1) {
+  int jresult ;
+  Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
+  int result;
+  
+  arg1 = (Dali::WheelEvent *)jarg1; 
+  result = (int) ((arg1)->direction);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Wheel_modifiers_set(void * jarg1, unsigned int jarg2) {
+  Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::WheelEvent *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->modifiers = arg2;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Wheel_modifiers_get(void * jarg1) {
+  unsigned int jresult ;
+  Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::WheelEvent *)jarg1; 
+  result = (unsigned int) ((arg1)->modifiers);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Wheel_point_set(void * jarg1, void * jarg2) {
+  Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
+  Dali::Vector2 *arg2 = (Dali::Vector2 *) 0 ;
+  
+  arg1 = (Dali::WheelEvent *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2; 
+  if (arg1) (arg1)->point = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Wheel_point_get(void * jarg1) {
+  void * jresult ;
+  Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::WheelEvent *)jarg1; 
+  result = (Dali::Vector2 *)& ((arg1)->point);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Wheel_z_set(void * jarg1, int jarg2) {
+  Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
+  int arg2 ;
+  
+  arg1 = (Dali::WheelEvent *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->z = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Wheel_z_get(void * jarg1) {
+  int jresult ;
+  Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
+  int result;
+  
+  arg1 = (Dali::WheelEvent *)jarg1; 
+  result = (int) ((arg1)->z);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Wheel_timeStamp_set(void * jarg1, unsigned int jarg2) {
+  Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::WheelEvent *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->timeStamp = arg2;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Wheel_timeStamp_get(void * jarg1) {
+  unsigned int jresult ;
+  Dali::WheelEvent *arg1 = (Dali::WheelEvent *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::WheelEvent *)jarg1; 
+  result = (unsigned int) ((arg1)->timeStamp);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_PARENT_ORIGIN_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::PARENT_ORIGIN;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_PARENT_ORIGIN_X_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::PARENT_ORIGIN_X;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_PARENT_ORIGIN_Y_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::PARENT_ORIGIN_Y;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_PARENT_ORIGIN_Z_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::PARENT_ORIGIN_Z;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_ANCHOR_POINT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::ANCHOR_POINT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_ANCHOR_POINT_X_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::ANCHOR_POINT_X;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_ANCHOR_POINT_Y_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::ANCHOR_POINT_Y;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_ANCHOR_POINT_Z_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::ANCHOR_POINT_Z;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_SIZE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::SIZE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_SIZE_WIDTH_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::SIZE_WIDTH;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_SIZE_HEIGHT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::SIZE_HEIGHT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_SIZE_DEPTH_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::SIZE_DEPTH;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_POSITION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::POSITION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_POSITION_X_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::POSITION_X;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_POSITION_Y_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::POSITION_Y;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_POSITION_Z_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::POSITION_Z;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_WORLD_POSITION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::WORLD_POSITION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_WORLD_POSITION_X_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::WORLD_POSITION_X;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_WORLD_POSITION_Y_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::WORLD_POSITION_Y;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_WORLD_POSITION_Z_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::WORLD_POSITION_Z;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_ORIENTATION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::ORIENTATION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_WORLD_ORIENTATION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::WORLD_ORIENTATION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_SCALE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::SCALE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_SCALE_X_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::SCALE_X;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_SCALE_Y_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::SCALE_Y;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_SCALE_Z_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::SCALE_Z;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_WORLD_SCALE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::WORLD_SCALE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_VISIBLE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::VISIBLE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_COLOR_RED_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::COLOR_RED;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_COLOR_GREEN_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::COLOR_GREEN;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_COLOR_BLUE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::COLOR_BLUE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_COLOR_ALPHA_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::COLOR_ALPHA;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_WORLD_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::WORLD_COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_WORLD_MATRIX_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::WORLD_MATRIX;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_NAME_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::NAME;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_SENSITIVE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::SENSITIVE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_LEAVE_REQUIRED_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::LEAVE_REQUIRED;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_INHERIT_ORIENTATION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::INHERIT_ORIENTATION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_INHERIT_SCALE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::INHERIT_SCALE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_COLOR_MODE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::COLOR_MODE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_POSITION_INHERITANCE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::POSITION_INHERITANCE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_DRAW_MODE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::DRAW_MODE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_SIZE_MODE_FACTOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::SIZE_MODE_FACTOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_WIDTH_RESIZE_POLICY_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::WIDTH_RESIZE_POLICY;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_HEIGHT_RESIZE_POLICY_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::HEIGHT_RESIZE_POLICY;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_SIZE_SCALE_POLICY_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::SIZE_SCALE_POLICY;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_WIDTH_FOR_HEIGHT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::WIDTH_FOR_HEIGHT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_HEIGHT_FOR_WIDTH_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::HEIGHT_FOR_WIDTH;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_PADDING_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::PADDING;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_MINIMUM_SIZE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::MINIMUM_SIZE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_MAXIMUM_SIZE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::MAXIMUM_SIZE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_INHERIT_POSITION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::INHERIT_POSITION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_Property_CLIPPING_MODE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Actor::Property::CLIPPING_MODE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Actor_Property() {
+  void * jresult ;
+  Dali::Actor::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Actor::Property *)new Dali::Actor::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Actor_Property(void * jarg1) {
+  Dali::Actor::Property *arg1 = (Dali::Actor::Property *) 0 ;
+  
+  arg1 = (Dali::Actor::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Actor__SWIG_0() {
+  void * jresult ;
+  Dali::Actor *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Actor *)new Dali::Actor();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_New() {
+  void * jresult ;
+  Dali::Actor result;
+  
+  {
+    try {
+      result = Dali::Actor::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Actor result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Actor::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Actor(void * jarg1) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Actor__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = 0 ;
+  Dali::Actor *result = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Actor *)new Dali::Actor((Dali::Actor const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Actor *arg2 = 0 ;
+  Dali::Actor *result = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Actor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Actor *) &(arg1)->operator =((Dali::Actor const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_Actor_GetName(void * jarg1) {
+  char * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  std::string *result = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (std::string *) &((Dali::Actor const *)arg1)->GetName();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = SWIG_csharp_string_callback(result->c_str()); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetName(void * jarg1, char * jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  std::string *arg2 = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      (arg1)->SetName((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+  
+  //argout typemap for const std::string&
+  
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Actor_GetId(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::Actor const *)arg1)->GetId();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Actor_IsRoot(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Actor const *)arg1)->IsRoot();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Actor_OnStage(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Actor const *)arg1)->OnStage();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Actor_IsLayer(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Actor const *)arg1)->IsLayer();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_GetLayer(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Layer result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (arg1)->GetLayer();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Layer((const Dali::Layer &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_Add(void * jarg1, void * jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->Add(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_Remove(void * jarg1, void * jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->Remove(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_Unparent(void * jarg1) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      (arg1)->Unparent();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Actor_GetChildCount(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::Actor const *)arg1)->GetChildCount();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_GetChildAt(void * jarg1, unsigned int jarg2) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  unsigned int arg2 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = ((Dali::Actor const *)arg1)->GetChildAt(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_FindChildByName(void * jarg1, char * jarg2) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      result = (arg1)->FindChildByName((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_FindChildById(void * jarg1, unsigned int jarg2) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  unsigned int arg2 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = (arg1)->FindChildById(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_GetParent(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = ((Dali::Actor const *)arg1)->GetParent();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetParentOrigin(void * jarg1, void * jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetParentOrigin((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_GetCurrentParentOrigin(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = ((Dali::Actor const *)arg1)->GetCurrentParentOrigin();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetAnchorPoint(void * jarg1, void * jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetAnchorPoint((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_GetCurrentAnchorPoint(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = ((Dali::Actor const *)arg1)->GetCurrentAnchorPoint();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetSize__SWIG_0(void * jarg1, float jarg2, float jarg3) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      (arg1)->SetSize(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetSize__SWIG_1(void * jarg1, float jarg2, float jarg3, float jarg4) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  {
+    try {
+      (arg1)->SetSize(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetSize__SWIG_2(void * jarg1, void * jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetSize((Dali::Vector2 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetSize__SWIG_3(void * jarg1, void * jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetSize((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_GetTargetSize(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = ((Dali::Actor const *)arg1)->GetTargetSize();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_GetCurrentSize(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = ((Dali::Actor const *)arg1)->GetCurrentSize();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_GetNaturalSize(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = ((Dali::Actor const *)arg1)->GetNaturalSize();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetPosition__SWIG_0(void * jarg1, float jarg2, float jarg3) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      (arg1)->SetPosition(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetPosition__SWIG_1(void * jarg1, float jarg2, float jarg3, float jarg4) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  {
+    try {
+      (arg1)->SetPosition(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetPosition__SWIG_2(void * jarg1, void * jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetPosition((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetX(void * jarg1, float jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetX(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetY(void * jarg1, float jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetY(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetZ(void * jarg1, float jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetZ(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_TranslateBy(void * jarg1, void * jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->TranslateBy((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_GetCurrentPosition(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = ((Dali::Actor const *)arg1)->GetCurrentPosition();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_GetCurrentWorldPosition(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = ((Dali::Actor const *)arg1)->GetCurrentWorldPosition();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetInheritPosition(void * jarg1, unsigned int jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetInheritPosition(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_GetPositionInheritanceMode(void * jarg1) {
+  int jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::PositionInheritanceMode result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (Dali::PositionInheritanceMode)((Dali::Actor const *)arg1)->GetPositionInheritanceMode();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Actor_IsPositionInherited(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Actor const *)arg1)->IsPositionInherited();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetOrientation__SWIG_0(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Degree *arg2 = 0 ;
+  Dali::Vector3 *arg3 = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Degree *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Degree const & type is null", 0);
+    return ;
+  } 
+  arg3 = (Dali::Vector3 *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetOrientation((Dali::Degree const &)*arg2,(Dali::Vector3 const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetOrientation__SWIG_1(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Radian *arg2 = 0 ;
+  Dali::Vector3 *arg3 = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Radian *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Radian const & type is null", 0);
+    return ;
+  } 
+  arg3 = (Dali::Vector3 *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetOrientation((Dali::Radian const &)*arg2,(Dali::Vector3 const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetOrientation__SWIG_2(void * jarg1, void * jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Quaternion *arg2 = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Quaternion *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetOrientation((Dali::Quaternion const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_RotateBy__SWIG_0(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Degree *arg2 = 0 ;
+  Dali::Vector3 *arg3 = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Degree *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Degree const & type is null", 0);
+    return ;
+  } 
+  arg3 = (Dali::Vector3 *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->RotateBy((Dali::Degree const &)*arg2,(Dali::Vector3 const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_RotateBy__SWIG_1(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Radian *arg2 = 0 ;
+  Dali::Vector3 *arg3 = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Radian *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Radian const & type is null", 0);
+    return ;
+  } 
+  arg3 = (Dali::Vector3 *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->RotateBy((Dali::Radian const &)*arg2,(Dali::Vector3 const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_RotateBy__SWIG_2(void * jarg1, void * jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Quaternion *arg2 = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Quaternion *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Quaternion const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->RotateBy((Dali::Quaternion const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_GetCurrentOrientation(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Quaternion result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = ((Dali::Actor const *)arg1)->GetCurrentOrientation();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Quaternion((const Dali::Quaternion &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetInheritOrientation(void * jarg1, unsigned int jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetInheritOrientation(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Actor_IsOrientationInherited(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Actor const *)arg1)->IsOrientationInherited();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_GetCurrentWorldOrientation(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Quaternion result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = ((Dali::Actor const *)arg1)->GetCurrentWorldOrientation();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Quaternion((const Dali::Quaternion &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetScale__SWIG_0(void * jarg1, float jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetScale(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetScale__SWIG_1(void * jarg1, float jarg2, float jarg3, float jarg4) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  {
+    try {
+      (arg1)->SetScale(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetScale__SWIG_2(void * jarg1, void * jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetScale((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_ScaleBy(void * jarg1, void * jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->ScaleBy((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_GetCurrentScale(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = ((Dali::Actor const *)arg1)->GetCurrentScale();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_GetCurrentWorldScale(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = ((Dali::Actor const *)arg1)->GetCurrentWorldScale();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetInheritScale(void * jarg1, unsigned int jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetInheritScale(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Actor_IsScaleInherited(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Actor const *)arg1)->IsScaleInherited();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_GetCurrentWorldMatrix(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Matrix result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = ((Dali::Actor const *)arg1)->GetCurrentWorldMatrix();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Matrix((const Dali::Matrix &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetVisible(void * jarg1, unsigned int jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetVisible(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Actor_IsVisible(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Actor const *)arg1)->IsVisible();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetOpacity(void * jarg1, float jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetOpacity(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Actor_GetCurrentOpacity(void * jarg1) {
+  float jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Actor const *)arg1)->GetCurrentOpacity();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetColor(void * jarg1, void * jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetColor((Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_GetCurrentColor(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector4 result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = ((Dali::Actor const *)arg1)->GetCurrentColor();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector4((const Dali::Vector4 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetColorMode(void * jarg1, int jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::ColorMode arg2 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::ColorMode)jarg2; 
+  {
+    try {
+      (arg1)->SetColorMode(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_GetColorMode(void * jarg1) {
+  int jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::ColorMode result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (Dali::ColorMode)((Dali::Actor const *)arg1)->GetColorMode();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_GetCurrentWorldColor(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector4 result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = ((Dali::Actor const *)arg1)->GetCurrentWorldColor();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector4((const Dali::Vector4 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetDrawMode(void * jarg1, int jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::DrawMode::Type arg2 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::DrawMode::Type)jarg2; 
+  {
+    try {
+      (arg1)->SetDrawMode(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_GetDrawMode(void * jarg1) {
+  int jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::DrawMode::Type result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (Dali::DrawMode::Type)((Dali::Actor const *)arg1)->GetDrawMode();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetSensitive(void * jarg1, unsigned int jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetSensitive(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Actor_IsSensitive(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Actor const *)arg1)->IsSensitive();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Actor_ScreenToLocal(void * jarg1, float * jarg2, float * jarg3, float jarg4, float jarg5) {
+  unsigned int jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  float *arg2 = 0 ;
+  float *arg3 = 0 ;
+  float arg4 ;
+  float arg5 ;
+  bool result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (float *)jarg2; 
+  arg3 = (float *)jarg3; 
+  arg4 = (float)jarg4; 
+  arg5 = (float)jarg5; 
+  {
+    try {
+      result = (bool)((Dali::Actor const *)arg1)->ScreenToLocal(*arg2,*arg3,arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetLeaveRequired(void * jarg1, unsigned int jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetLeaveRequired(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Actor_GetLeaveRequired(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Actor const *)arg1)->GetLeaveRequired();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetKeyboardFocusable(void * jarg1, unsigned int jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetKeyboardFocusable(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Actor_IsKeyboardFocusable(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Actor const *)arg1)->IsKeyboardFocusable();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetResizePolicy(void * jarg1, int jarg2, int jarg3) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::ResizePolicy::Type arg2 ;
+  Dali::Dimension::Type arg3 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::ResizePolicy::Type)jarg2; 
+  arg3 = (Dali::Dimension::Type)jarg3; 
+  {
+    try {
+      (arg1)->SetResizePolicy(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_GetResizePolicy(void * jarg1, int jarg2) {
+  int jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Dimension::Type arg2 ;
+  Dali::ResizePolicy::Type result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Dimension::Type)jarg2; 
+  {
+    try {
+      result = (Dali::ResizePolicy::Type)((Dali::Actor const *)arg1)->GetResizePolicy(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetSizeScalePolicy(void * jarg1, int jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::SizeScalePolicy::Type arg2 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::SizeScalePolicy::Type)jarg2; 
+  {
+    try {
+      (arg1)->SetSizeScalePolicy(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_GetSizeScalePolicy(void * jarg1) {
+  int jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::SizeScalePolicy::Type result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (Dali::SizeScalePolicy::Type)((Dali::Actor const *)arg1)->GetSizeScalePolicy();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetSizeModeFactor(void * jarg1, void * jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetSizeModeFactor((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_GetSizeModeFactor(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = ((Dali::Actor const *)arg1)->GetSizeModeFactor();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Actor_GetHeightForWidth(void * jarg1, float jarg2) {
+  float jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  float arg2 ;
+  float result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (float)(arg1)->GetHeightForWidth(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Actor_GetWidthForHeight(void * jarg1, float jarg2) {
+  float jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  float arg2 ;
+  float result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (float)(arg1)->GetWidthForHeight(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Actor_GetRelayoutSize(void * jarg1, int jarg2) {
+  float jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Dimension::Type arg2 ;
+  float result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Dimension::Type)jarg2; 
+  {
+    try {
+      result = (float)((Dali::Actor const *)arg1)->GetRelayoutSize(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetPadding(void * jarg1, void * jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Padding *arg2 = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Padding *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Padding const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetPadding((Dali::Padding const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_GetPadding(void * jarg1, void * jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Padding *arg2 = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Padding *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Padding & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      ((Dali::Actor const *)arg1)->GetPadding(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetMinimumSize(void * jarg1, void * jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetMinimumSize((Dali::Vector2 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_GetMinimumSize(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector2 result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (arg1)->GetMinimumSize();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector2((const Dali::Vector2 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_SetMaximumSize(void * jarg1, void * jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetMaximumSize((Dali::Vector2 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_GetMaximumSize(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Vector2 result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (arg1)->GetMaximumSize();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector2((const Dali::Vector2 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Actor_GetHierarchyDepth(void * jarg1) {
+  int jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  int result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (int)(arg1)->GetHierarchyDepth();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Actor_AddRenderer(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Renderer *arg2 = 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Renderer *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Renderer & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (unsigned int)(arg1)->AddRenderer(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Actor_GetRendererCount(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::Actor const *)arg1)->GetRendererCount();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_GetRendererAt(void * jarg1, unsigned int jarg2) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  unsigned int arg2 ;
+  Dali::Renderer result;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = (arg1)->GetRendererAt(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Renderer((const Dali::Renderer &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_RemoveRenderer__SWIG_0(void * jarg1, void * jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Renderer *arg2 = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (Dali::Renderer *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Renderer & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->RemoveRenderer(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Actor_RemoveRenderer__SWIG_1(void * jarg1, unsigned int jarg2) {
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      (arg1)->RemoveRenderer(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_TouchedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Actor::TouchSignalType *result = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (Dali::Actor::TouchSignalType *) &(arg1)->TouchedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_TouchSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Actor::TouchDataSignalType *result = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (Dali::Actor::TouchDataSignalType *) &(arg1)->TouchSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_HoveredSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Actor::HoverSignalType *result = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (Dali::Actor::HoverSignalType *) &(arg1)->HoveredSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_WheelEventSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Actor::WheelEventSignalType *result = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (Dali::Actor::WheelEventSignalType *) &(arg1)->WheelEventSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_OnStageSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Actor::OnStageSignalType *result = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (Dali::Actor::OnStageSignalType *) &(arg1)->OnStageSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_OffStageSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Actor::OffStageSignalType *result = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (Dali::Actor::OffStageSignalType *) &(arg1)->OffStageSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Actor_OnRelayoutSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Actor *arg1 = (Dali::Actor *) 0 ;
+  Dali::Actor::OnRelayoutSignalType *result = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1; 
+  {
+    try {
+      result = (Dali::Actor::OnRelayoutSignalType *) &(arg1)->OnRelayoutSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_UnparentAndReset(void * jarg1) {
+  Dali::Actor *arg1 = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      Dali::UnparentAndReset(*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Raise(void * jarg1) {
+  Dali::Actor arg1 ;
+  Dali::Actor *argp1 ;
+  
+  argp1 = (Dali::Actor *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      Dali::DevelActor::Raise(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Lower(void * jarg1) {
+  Dali::Actor arg1 ;
+  Dali::Actor *argp1 ;
+  
+  argp1 = (Dali::Actor *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      Dali::DevelActor::Lower(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RaiseToTop(void * jarg1) {
+  Dali::Actor arg1 ;
+  Dali::Actor *argp1 ;
+  
+  argp1 = (Dali::Actor *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      Dali::DevelActor::RaiseToTop(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_LowerToBottom(void * jarg1) {
+  Dali::Actor arg1 ;
+  Dali::Actor *argp1 ;
+  
+  argp1 = (Dali::Actor *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      Dali::DevelActor::LowerToBottom(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RaiseAbove(void * jarg1, void * jarg2) {
+  Dali::Actor arg1 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp1 ;
+  Dali::Actor *argp2 ;
+  
+  argp1 = (Dali::Actor *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg1 = *argp1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      Dali::DevelActor::RaiseAbove(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_LowerBelow(void * jarg1, void * jarg2) {
+  Dali::Actor arg1 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp1 ;
+  Dali::Actor *argp2 ;
+  
+  argp1 = (Dali::Actor *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg1 = *argp1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      Dali::DevelActor::LowerBelow(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Layer_Property_CLIPPING_ENABLE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Layer::Property::CLIPPING_ENABLE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Layer_Property_CLIPPING_BOX_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Layer::Property::CLIPPING_BOX;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Layer_Property_BEHAVIOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Layer::Property::BEHAVIOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Layer_Property() {
+  void * jresult ;
+  Dali::Layer::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Layer::Property *)new Dali::Layer::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Layer_Property(void * jarg1) {
+  Dali::Layer::Property *arg1 = (Dali::Layer::Property *) 0 ;
+  
+  arg1 = (Dali::Layer::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Layer__SWIG_0() {
+  void * jresult ;
+  Dali::Layer *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Layer *)new Dali::Layer();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Layer_New() {
+  void * jresult ;
+  Dali::Layer result;
+  
+  {
+    try {
+      result = Dali::Layer::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Layer((const Dali::Layer &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Layer_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Layer result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Layer::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Layer((const Dali::Layer &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Layer(void * jarg1) {
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Layer__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Layer *arg1 = 0 ;
+  Dali::Layer *result = 0 ;
+  
+  arg1 = (Dali::Layer *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Layer const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Layer *)new Dali::Layer((Dali::Layer const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Layer_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  Dali::Layer *arg2 = 0 ;
+  Dali::Layer *result = 0 ;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  arg2 = (Dali::Layer *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Layer const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Layer *) &(arg1)->operator =((Dali::Layer const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Layer_GetDepth(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::Layer const *)arg1)->GetDepth();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Layer_Raise(void * jarg1) {
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  {
+    try {
+      (arg1)->Raise();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Layer_Lower(void * jarg1) {
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  {
+    try {
+      (arg1)->Lower();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Layer_RaiseAbove(void * jarg1, void * jarg2) {
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  Dali::Layer arg2 ;
+  Dali::Layer *argp2 ;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  argp2 = (Dali::Layer *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Layer", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->RaiseAbove(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Layer_LowerBelow(void * jarg1, void * jarg2) {
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  Dali::Layer arg2 ;
+  Dali::Layer *argp2 ;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  argp2 = (Dali::Layer *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Layer", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->LowerBelow(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Layer_RaiseToTop(void * jarg1) {
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  {
+    try {
+      (arg1)->RaiseToTop();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Layer_LowerToBottom(void * jarg1) {
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  {
+    try {
+      (arg1)->LowerToBottom();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Layer_MoveAbove(void * jarg1, void * jarg2) {
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  Dali::Layer arg2 ;
+  Dali::Layer *argp2 ;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  argp2 = (Dali::Layer *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Layer", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->MoveAbove(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Layer_MoveBelow(void * jarg1, void * jarg2) {
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  Dali::Layer arg2 ;
+  Dali::Layer *argp2 ;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  argp2 = (Dali::Layer *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Layer", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->MoveBelow(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Layer_SetBehavior(void * jarg1, int jarg2) {
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  Dali::Layer::Behavior arg2 ;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  arg2 = (Dali::Layer::Behavior)jarg2; 
+  {
+    try {
+      (arg1)->SetBehavior(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Layer_GetBehavior(void * jarg1) {
+  int jresult ;
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  Dali::Layer::Behavior result;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  {
+    try {
+      result = (Dali::Layer::Behavior)((Dali::Layer const *)arg1)->GetBehavior();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Layer_SetClipping(void * jarg1, unsigned int jarg2) {
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetClipping(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Layer_IsClipping(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Layer const *)arg1)->IsClipping();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Layer_SetClippingBox__SWIG_0(void * jarg1, int jarg2, int jarg3, int jarg4, int jarg5) {
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  int arg2 ;
+  int arg3 ;
+  int arg4 ;
+  int arg5 ;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (int)jarg3; 
+  arg4 = (int)jarg4; 
+  arg5 = (int)jarg5; 
+  {
+    try {
+      (arg1)->SetClippingBox(arg2,arg3,arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Layer_SetClippingBox__SWIG_1(void * jarg1, void * jarg2) {
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  Dali::ClippingBox arg2 ;
+  Dali::ClippingBox *argp2 ;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  argp2 = (Dali::ClippingBox *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ClippingBox", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetClippingBox(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Layer_GetClippingBox(void * jarg1) {
+  void * jresult ;
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  Dali::ClippingBox result;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  {
+    try {
+      result = ((Dali::Layer const *)arg1)->GetClippingBox();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::ClippingBox((const Dali::ClippingBox &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Layer_SetDepthTestDisabled(void * jarg1, unsigned int jarg2) {
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetDepthTestDisabled(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Layer_IsDepthTestDisabled(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Layer const *)arg1)->IsDepthTestDisabled();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Layer_SetSortFunction(void * jarg1, void * jarg2) {
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  Dali::Layer::SortFunctionType arg2 = (Dali::Layer::SortFunctionType) 0 ;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  arg2 = (Dali::Layer::SortFunctionType)jarg2; 
+  {
+    try {
+      (arg1)->SetSortFunction(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Layer_SetTouchConsumed(void * jarg1, unsigned int jarg2) {
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetTouchConsumed(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Layer_IsTouchConsumed(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Layer const *)arg1)->IsTouchConsumed();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Layer_SetHoverConsumed(void * jarg1, unsigned int jarg2) {
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetHoverConsumed(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Layer_IsHoverConsumed(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Layer *arg1 = (Dali::Layer *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Layer *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Layer const *)arg1)->IsHoverConsumed();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Stage_DEFAULT_BACKGROUND_COLOR_get() {
+  void * jresult ;
+  Dali::Vector4 *result = 0 ;
+  
+  result = (Dali::Vector4 *)&Dali::Stage::DEFAULT_BACKGROUND_COLOR;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Stage_DEBUG_BACKGROUND_COLOR_get() {
+  void * jresult ;
+  Dali::Vector4 *result = 0 ;
+  
+  result = (Dali::Vector4 *)&Dali::Stage::DEBUG_BACKGROUND_COLOR;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Stage__SWIG_0() {
+  void * jresult ;
+  Dali::Stage *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Stage *)new Dali::Stage();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Stage_GetCurrent() {
+  void * jresult ;
+  Dali::Stage result;
+  
+  {
+    try {
+      result = Dali::Stage::GetCurrent();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Stage((const Dali::Stage &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Stage_IsInstalled() {
+  unsigned int jresult ;
+  bool result;
+  
+  {
+    try {
+      result = (bool)Dali::Stage::IsInstalled();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Stage(void * jarg1) {
+  Dali::Stage *arg1 = (Dali::Stage *) 0 ;
+  
+  arg1 = (Dali::Stage *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Stage__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Stage *arg1 = 0 ;
+  Dali::Stage *result = 0 ;
+  
+  arg1 = (Dali::Stage *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Stage const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Stage *)new Dali::Stage((Dali::Stage const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Stage_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Stage *arg1 = (Dali::Stage *) 0 ;
+  Dali::Stage *arg2 = 0 ;
+  Dali::Stage *result = 0 ;
+  
+  arg1 = (Dali::Stage *)jarg1; 
+  arg2 = (Dali::Stage *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Stage const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Stage *) &(arg1)->operator =((Dali::Stage const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Stage_Add(void * jarg1, void * jarg2) {
+  Dali::Stage *arg1 = (Dali::Stage *) 0 ;
+  Dali::Actor *arg2 = 0 ;
+  
+  arg1 = (Dali::Stage *)jarg1; 
+  arg2 = (Dali::Actor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Add(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Stage_Remove(void * jarg1, void * jarg2) {
+  Dali::Stage *arg1 = (Dali::Stage *) 0 ;
+  Dali::Actor *arg2 = 0 ;
+  
+  arg1 = (Dali::Stage *)jarg1; 
+  arg2 = (Dali::Actor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Remove(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Stage_GetSize(void * jarg1) {
+  void * jresult ;
+  Dali::Stage *arg1 = (Dali::Stage *) 0 ;
+  Dali::Vector2 result;
+  
+  arg1 = (Dali::Stage *)jarg1; 
+  {
+    try {
+      result = ((Dali::Stage const *)arg1)->GetSize();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector2((const Dali::Vector2 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Stage_GetRenderTaskList(void * jarg1) {
+  void * jresult ;
+  Dali::Stage *arg1 = (Dali::Stage *) 0 ;
+  Dali::RenderTaskList result;
+  
+  arg1 = (Dali::Stage *)jarg1; 
+  {
+    try {
+      result = ((Dali::Stage const *)arg1)->GetRenderTaskList();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::RenderTaskList((const Dali::RenderTaskList &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Stage_GetLayerCount(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Stage *arg1 = (Dali::Stage *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Stage *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::Stage const *)arg1)->GetLayerCount();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Stage_GetLayer(void * jarg1, unsigned int jarg2) {
+  void * jresult ;
+  Dali::Stage *arg1 = (Dali::Stage *) 0 ;
+  unsigned int arg2 ;
+  Dali::Layer result;
+  
+  arg1 = (Dali::Stage *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = ((Dali::Stage const *)arg1)->GetLayer(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Layer((const Dali::Layer &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Stage_GetRootLayer(void * jarg1) {
+  void * jresult ;
+  Dali::Stage *arg1 = (Dali::Stage *) 0 ;
+  Dali::Layer result;
+  
+  arg1 = (Dali::Stage *)jarg1; 
+  {
+    try {
+      result = ((Dali::Stage const *)arg1)->GetRootLayer();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Layer((const Dali::Layer &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Stage_SetBackgroundColor(void * jarg1, void * jarg2) {
+  Dali::Stage *arg1 = (Dali::Stage *) 0 ;
+  Dali::Vector4 arg2 ;
+  Dali::Vector4 *argp2 ;
+  
+  arg1 = (Dali::Stage *)jarg1; 
+  argp2 = (Dali::Vector4 *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Vector4", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetBackgroundColor(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Stage_GetBackgroundColor(void * jarg1) {
+  void * jresult ;
+  Dali::Stage *arg1 = (Dali::Stage *) 0 ;
+  Dali::Vector4 result;
+  
+  arg1 = (Dali::Stage *)jarg1; 
+  {
+    try {
+      result = ((Dali::Stage const *)arg1)->GetBackgroundColor();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector4((const Dali::Vector4 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Stage_GetDpi(void * jarg1) {
+  void * jresult ;
+  Dali::Stage *arg1 = (Dali::Stage *) 0 ;
+  Dali::Vector2 result;
+  
+  arg1 = (Dali::Stage *)jarg1; 
+  {
+    try {
+      result = ((Dali::Stage const *)arg1)->GetDpi();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector2((const Dali::Vector2 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Stage_GetObjectRegistry(void * jarg1) {
+  void * jresult ;
+  Dali::Stage *arg1 = (Dali::Stage *) 0 ;
+  Dali::ObjectRegistry result;
+  
+  arg1 = (Dali::Stage *)jarg1; 
+  {
+    try {
+      result = ((Dali::Stage const *)arg1)->GetObjectRegistry();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::ObjectRegistry((const Dali::ObjectRegistry &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Stage_KeepRendering(void * jarg1, float jarg2) {
+  Dali::Stage *arg1 = (Dali::Stage *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Stage *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->KeepRendering(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Stage_KeyEventSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Stage *arg1 = (Dali::Stage *) 0 ;
+  Dali::Stage::KeyEventSignalType *result = 0 ;
+  
+  arg1 = (Dali::Stage *)jarg1; 
+  {
+    try {
+      result = (Dali::Stage::KeyEventSignalType *) &(arg1)->KeyEventSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Stage_EventProcessingFinishedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Stage *arg1 = (Dali::Stage *) 0 ;
+  Dali::Stage::EventProcessingFinishedSignalType *result = 0 ;
+  
+  arg1 = (Dali::Stage *)jarg1; 
+  {
+    try {
+      result = (Dali::Stage::EventProcessingFinishedSignalType *) &(arg1)->EventProcessingFinishedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Stage_TouchSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Stage *arg1 = (Dali::Stage *) 0 ;
+  Dali::Stage::TouchSignalType *result = 0 ;
+  
+  arg1 = (Dali::Stage *)jarg1; 
+  {
+    try {
+      result = (Dali::Stage::TouchSignalType *) &(arg1)->TouchSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Stage_WheelEventSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Stage *arg1 = (Dali::Stage *) 0 ;
+  Dali::Stage::WheelEventSignalType *result = 0 ;
+  
+  arg1 = (Dali::Stage *)jarg1; 
+  {
+    try {
+      result = (Dali::Stage::WheelEventSignalType *) &(arg1)->WheelEventSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Stage_ContextLostSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Stage *arg1 = (Dali::Stage *) 0 ;
+  Dali::Stage::ContextStatusSignal *result = 0 ;
+  
+  arg1 = (Dali::Stage *)jarg1; 
+  {
+    try {
+      result = (Dali::Stage::ContextStatusSignal *) &(arg1)->ContextLostSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Stage_ContextRegainedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Stage *arg1 = (Dali::Stage *) 0 ;
+  Dali::Stage::ContextStatusSignal *result = 0 ;
+  
+  arg1 = (Dali::Stage *)jarg1; 
+  {
+    try {
+      result = (Dali::Stage::ContextStatusSignal *) &(arg1)->ContextRegainedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Stage_SceneCreatedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Stage *arg1 = (Dali::Stage *) 0 ;
+  Dali::Stage::SceneCreatedSignalType *result = 0 ;
+  
+  arg1 = (Dali::Stage *)jarg1; 
+  {
+    try {
+      result = (Dali::Stage::SceneCreatedSignalType *) &(arg1)->SceneCreatedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_RelayoutContainer(void * jarg1) {
+  Dali::RelayoutContainer *arg1 = (Dali::RelayoutContainer *) 0 ;
+  
+  arg1 = (Dali::RelayoutContainer *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RelayoutContainer_Add(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::RelayoutContainer *arg1 = (Dali::RelayoutContainer *) 0 ;
+  Dali::Actor *arg2 = 0 ;
+  Dali::Vector2 *arg3 = 0 ;
+  
+  arg1 = (Dali::RelayoutContainer *)jarg1; 
+  arg2 = (Dali::Actor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor const & type is null", 0);
+    return ;
+  } 
+  arg3 = (Dali::Vector2 *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Add((Dali::Actor const &)*arg2,(Dali::Vector2 const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_CustomActorImpl_Self(void * jarg1) {
+  void * jresult ;
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  Dali::CustomActor result;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  {
+    try {
+      result = ((Dali::CustomActorImpl const *)arg1)->Self();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::CustomActor((const Dali::CustomActor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_CustomActorImpl_OnStageConnection(void * jarg1, int jarg2) {
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  int arg2 ;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  arg2 = (int)jarg2; 
+  {
+    try {
+      (arg1)->OnStageConnection(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_CustomActorImpl_OnStageDisconnection(void * jarg1) {
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  {
+    try {
+      (arg1)->OnStageDisconnection();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_CustomActorImpl_OnChildAdd(void * jarg1, void * jarg2) {
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  Dali::Actor *arg2 = 0 ;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  arg2 = (Dali::Actor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->OnChildAdd(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_CustomActorImpl_OnChildRemove(void * jarg1, void * jarg2) {
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  Dali::Actor *arg2 = 0 ;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  arg2 = (Dali::Actor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->OnChildRemove(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_CustomActorImpl_OnPropertySet(void * jarg1, int jarg2, void * jarg3) {
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  Dali::Property::Index arg2 ;
+  Dali::Property::Value arg3 ;
+  Dali::Property::Value *argp3 ;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  argp3 = (Dali::Property::Value *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property::Value", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  {
+    try {
+      (arg1)->OnPropertySet(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_CustomActorImpl_OnSizeSet(void * jarg1, void * jarg2) {
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->OnSizeSet((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_CustomActorImpl_OnSizeAnimation(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  Dali::Animation *arg2 = 0 ;
+  Dali::Vector3 *arg3 = 0 ;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  arg2 = (Dali::Animation *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Animation & type is null", 0);
+    return ;
+  } 
+  arg3 = (Dali::Vector3 *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->OnSizeAnimation(*arg2,(Dali::Vector3 const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_CustomActorImpl_OnTouchEvent(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  Dali::TouchEvent *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  arg2 = (Dali::TouchEvent *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TouchEvent const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)(arg1)->OnTouchEvent((Dali::TouchEvent const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_CustomActorImpl_OnHoverEvent(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  Dali::HoverEvent *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  arg2 = (Dali::HoverEvent *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::HoverEvent const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)(arg1)->OnHoverEvent((Dali::HoverEvent const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_CustomActorImpl_OnKeyEvent(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  Dali::KeyEvent *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  arg2 = (Dali::KeyEvent *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::KeyEvent const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)(arg1)->OnKeyEvent((Dali::KeyEvent const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_CustomActorImpl_OnWheelEvent(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  Dali::WheelEvent *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  arg2 = (Dali::WheelEvent *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::WheelEvent const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)(arg1)->OnWheelEvent((Dali::WheelEvent const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_CustomActorImpl_OnRelayout(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  Dali::RelayoutContainer *arg3 = 0 ;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return ;
+  } 
+  arg3 = (Dali::RelayoutContainer *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::RelayoutContainer & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->OnRelayout((Dali::Vector2 const &)*arg2,*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_CustomActorImpl_OnSetResizePolicy(void * jarg1, int jarg2, int jarg3) {
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  Dali::ResizePolicy::Type arg2 ;
+  Dali::Dimension::Type arg3 ;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  arg2 = (Dali::ResizePolicy::Type)jarg2; 
+  arg3 = (Dali::Dimension::Type)jarg3; 
+  {
+    try {
+      (arg1)->OnSetResizePolicy(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_CustomActorImpl_GetNaturalSize(void * jarg1) {
+  void * jresult ;
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  {
+    try {
+      result = (arg1)->GetNaturalSize();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_CustomActorImpl_CalculateChildSize(void * jarg1, void * jarg2, int jarg3) {
+  float jresult ;
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  Dali::Actor *arg2 = 0 ;
+  Dali::Dimension::Type arg3 ;
+  float result;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  arg2 = (Dali::Actor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor const & type is null", 0);
+    return 0;
+  } 
+  arg3 = (Dali::Dimension::Type)jarg3; 
+  {
+    try {
+      result = (float)(arg1)->CalculateChildSize((Dali::Actor const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_CustomActorImpl_GetHeightForWidth(void * jarg1, float jarg2) {
+  float jresult ;
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  float arg2 ;
+  float result;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (float)(arg1)->GetHeightForWidth(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_CustomActorImpl_GetWidthForHeight(void * jarg1, float jarg2) {
+  float jresult ;
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  float arg2 ;
+  float result;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (float)(arg1)->GetWidthForHeight(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_CustomActorImpl_RelayoutDependentOnChildren__SWIG_0(void * jarg1, int jarg2) {
+  unsigned int jresult ;
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  Dali::Dimension::Type arg2 ;
+  bool result;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  arg2 = (Dali::Dimension::Type)jarg2; 
+  {
+    try {
+      result = (bool)(arg1)->RelayoutDependentOnChildren(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_CustomActorImpl_RelayoutDependentOnChildren__SWIG_1(void * jarg1) {
+  unsigned int jresult ;
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  {
+    try {
+      result = (bool)(arg1)->RelayoutDependentOnChildren();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_CustomActorImpl_OnCalculateRelayoutSize(void * jarg1, int jarg2) {
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  Dali::Dimension::Type arg2 ;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  arg2 = (Dali::Dimension::Type)jarg2; 
+  {
+    try {
+      (arg1)->OnCalculateRelayoutSize(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_CustomActorImpl_OnLayoutNegotiated(void * jarg1, float jarg2, int jarg3) {
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  float arg2 ;
+  Dali::Dimension::Type arg3 ;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (Dali::Dimension::Type)jarg3; 
+  {
+    try {
+      (arg1)->OnLayoutNegotiated(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_CustomActorImpl_RequiresTouchEvents(void * jarg1) {
+  unsigned int jresult ;
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::CustomActorImpl const *)arg1)->RequiresTouchEvents();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_CustomActorImpl_RequiresHoverEvents(void * jarg1) {
+  unsigned int jresult ;
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::CustomActorImpl const *)arg1)->RequiresHoverEvents();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_CustomActorImpl_RequiresWheelEvents(void * jarg1) {
+  unsigned int jresult ;
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::CustomActorImpl const *)arg1)->RequiresWheelEvents();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_CustomActorImpl_IsRelayoutEnabled(void * jarg1) {
+  unsigned int jresult ;
+  Dali::CustomActorImpl *arg1 = (Dali::CustomActorImpl *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::CustomActorImpl const *)arg1)->IsRelayoutEnabled();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_CustomActor__SWIG_0() {
+  void * jresult ;
+  Dali::CustomActor *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::CustomActor *)new Dali::CustomActor();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_CustomActor_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::CustomActor result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::CustomActor::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::CustomActor((const Dali::CustomActor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_CustomActor(void * jarg1) {
+  Dali::CustomActor *arg1 = (Dali::CustomActor *) 0 ;
+  
+  arg1 = (Dali::CustomActor *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_CustomActor_GetImplementation(void * jarg1) {
+  void * jresult ;
+  Dali::CustomActor *arg1 = (Dali::CustomActor *) 0 ;
+  Dali::CustomActorImpl *result = 0 ;
+  
+  arg1 = (Dali::CustomActor *)jarg1; 
+  {
+    try {
+      result = (Dali::CustomActorImpl *) &((Dali::CustomActor const *)arg1)->GetImplementation();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_CustomActor__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::CustomActorImpl *arg1 = 0 ;
+  Dali::CustomActor *result = 0 ;
+  
+  arg1 = (Dali::CustomActorImpl *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::CustomActorImpl & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::CustomActor *)new Dali::CustomActor(*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_CustomActor__SWIG_2(void * jarg1) {
+  void * jresult ;
+  Dali::CustomActor *arg1 = 0 ;
+  Dali::CustomActor *result = 0 ;
+  
+  arg1 = (Dali::CustomActor *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::CustomActor const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::CustomActor *)new Dali::CustomActor((Dali::CustomActor const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_CustomActor_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::CustomActor *arg1 = (Dali::CustomActor *) 0 ;
+  Dali::CustomActor *arg2 = 0 ;
+  Dali::CustomActor *result = 0 ;
+  
+  arg1 = (Dali::CustomActor *)jarg1; 
+  arg2 = (Dali::CustomActor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::CustomActor const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::CustomActor *) &(arg1)->operator =((Dali::CustomActor const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PanGestureDetector_Property_SCREEN_POSITION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::PanGestureDetector::Property::SCREEN_POSITION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PanGestureDetector_Property_SCREEN_DISPLACEMENT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::PanGestureDetector::Property::SCREEN_DISPLACEMENT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PanGestureDetector_Property_SCREEN_VELOCITY_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::PanGestureDetector::Property::SCREEN_VELOCITY;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PanGestureDetector_Property_LOCAL_POSITION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::PanGestureDetector::Property::LOCAL_POSITION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PanGestureDetector_Property_LOCAL_DISPLACEMENT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::PanGestureDetector::Property::LOCAL_DISPLACEMENT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PanGestureDetector_Property_LOCAL_VELOCITY_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::PanGestureDetector::Property::LOCAL_VELOCITY;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PanGestureDetector_Property_PANNING_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::PanGestureDetector::Property::PANNING;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PanGestureDetector_Property() {
+  void * jresult ;
+  Dali::PanGestureDetector::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::PanGestureDetector::Property *)new Dali::PanGestureDetector::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PanGestureDetector_Property(void * jarg1) {
+  Dali::PanGestureDetector::Property *arg1 = (Dali::PanGestureDetector::Property *) 0 ;
+  
+  arg1 = (Dali::PanGestureDetector::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PanGestureDetector_DIRECTION_LEFT_get() {
+  void * jresult ;
+  Dali::Radian *result = 0 ;
+  
+  result = (Dali::Radian *)&Dali::PanGestureDetector::DIRECTION_LEFT;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PanGestureDetector_DIRECTION_RIGHT_get() {
+  void * jresult ;
+  Dali::Radian *result = 0 ;
+  
+  result = (Dali::Radian *)&Dali::PanGestureDetector::DIRECTION_RIGHT;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PanGestureDetector_DIRECTION_UP_get() {
+  void * jresult ;
+  Dali::Radian *result = 0 ;
+  
+  result = (Dali::Radian *)&Dali::PanGestureDetector::DIRECTION_UP;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PanGestureDetector_DIRECTION_DOWN_get() {
+  void * jresult ;
+  Dali::Radian *result = 0 ;
+  
+  result = (Dali::Radian *)&Dali::PanGestureDetector::DIRECTION_DOWN;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PanGestureDetector_DIRECTION_HORIZONTAL_get() {
+  void * jresult ;
+  Dali::Radian *result = 0 ;
+  
+  result = (Dali::Radian *)&Dali::PanGestureDetector::DIRECTION_HORIZONTAL;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PanGestureDetector_DIRECTION_VERTICAL_get() {
+  void * jresult ;
+  Dali::Radian *result = 0 ;
+  
+  result = (Dali::Radian *)&Dali::PanGestureDetector::DIRECTION_VERTICAL;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PanGestureDetector_DEFAULT_THRESHOLD_get() {
+  void * jresult ;
+  Dali::Radian *result = 0 ;
+  
+  result = (Dali::Radian *)&Dali::PanGestureDetector::DEFAULT_THRESHOLD;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PanGestureDetector__SWIG_0() {
+  void * jresult ;
+  Dali::PanGestureDetector *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::PanGestureDetector *)new Dali::PanGestureDetector();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PanGestureDetector_New() {
+  void * jresult ;
+  Dali::PanGestureDetector result;
+  
+  {
+    try {
+      result = Dali::PanGestureDetector::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PanGestureDetector((const Dali::PanGestureDetector &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PanGestureDetector_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::PanGestureDetector result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::PanGestureDetector::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PanGestureDetector((const Dali::PanGestureDetector &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PanGestureDetector(void * jarg1) {
+  Dali::PanGestureDetector *arg1 = (Dali::PanGestureDetector *) 0 ;
+  
+  arg1 = (Dali::PanGestureDetector *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PanGestureDetector__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::PanGestureDetector *arg1 = 0 ;
+  Dali::PanGestureDetector *result = 0 ;
+  
+  arg1 = (Dali::PanGestureDetector *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PanGestureDetector const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::PanGestureDetector *)new Dali::PanGestureDetector((Dali::PanGestureDetector const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PanGestureDetector_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::PanGestureDetector *arg1 = (Dali::PanGestureDetector *) 0 ;
+  Dali::PanGestureDetector *arg2 = 0 ;
+  Dali::PanGestureDetector *result = 0 ;
+  
+  arg1 = (Dali::PanGestureDetector *)jarg1; 
+  arg2 = (Dali::PanGestureDetector *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PanGestureDetector const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::PanGestureDetector *) &(arg1)->operator =((Dali::PanGestureDetector const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGestureDetector_SetMinimumTouchesRequired(void * jarg1, unsigned int jarg2) {
+  Dali::PanGestureDetector *arg1 = (Dali::PanGestureDetector *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::PanGestureDetector *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      (arg1)->SetMinimumTouchesRequired(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGestureDetector_SetMaximumTouchesRequired(void * jarg1, unsigned int jarg2) {
+  Dali::PanGestureDetector *arg1 = (Dali::PanGestureDetector *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::PanGestureDetector *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      (arg1)->SetMaximumTouchesRequired(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_PanGestureDetector_GetMinimumTouchesRequired(void * jarg1) {
+  unsigned int jresult ;
+  Dali::PanGestureDetector *arg1 = (Dali::PanGestureDetector *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::PanGestureDetector *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::PanGestureDetector const *)arg1)->GetMinimumTouchesRequired();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_PanGestureDetector_GetMaximumTouchesRequired(void * jarg1) {
+  unsigned int jresult ;
+  Dali::PanGestureDetector *arg1 = (Dali::PanGestureDetector *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::PanGestureDetector *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::PanGestureDetector const *)arg1)->GetMaximumTouchesRequired();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGestureDetector_AddAngle__SWIG_0(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::PanGestureDetector *arg1 = (Dali::PanGestureDetector *) 0 ;
+  Dali::Radian arg2 ;
+  Dali::Radian arg3 ;
+  Dali::Radian *argp2 ;
+  Dali::Radian *argp3 ;
+  
+  arg1 = (Dali::PanGestureDetector *)jarg1; 
+  argp2 = (Dali::Radian *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::Radian *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  {
+    try {
+      (arg1)->AddAngle(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGestureDetector_AddAngle__SWIG_1(void * jarg1, void * jarg2) {
+  Dali::PanGestureDetector *arg1 = (Dali::PanGestureDetector *) 0 ;
+  Dali::Radian arg2 ;
+  Dali::Radian *argp2 ;
+  
+  arg1 = (Dali::PanGestureDetector *)jarg1; 
+  argp2 = (Dali::Radian *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->AddAngle(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGestureDetector_AddDirection__SWIG_0(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::PanGestureDetector *arg1 = (Dali::PanGestureDetector *) 0 ;
+  Dali::Radian arg2 ;
+  Dali::Radian arg3 ;
+  Dali::Radian *argp2 ;
+  Dali::Radian *argp3 ;
+  
+  arg1 = (Dali::PanGestureDetector *)jarg1; 
+  argp2 = (Dali::Radian *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::Radian *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  {
+    try {
+      (arg1)->AddDirection(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGestureDetector_AddDirection__SWIG_1(void * jarg1, void * jarg2) {
+  Dali::PanGestureDetector *arg1 = (Dali::PanGestureDetector *) 0 ;
+  Dali::Radian arg2 ;
+  Dali::Radian *argp2 ;
+  
+  arg1 = (Dali::PanGestureDetector *)jarg1; 
+  argp2 = (Dali::Radian *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->AddDirection(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_PanGestureDetector_GetAngleCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::PanGestureDetector *arg1 = (Dali::PanGestureDetector *) 0 ;
+  size_t result;
+  
+  arg1 = (Dali::PanGestureDetector *)jarg1; 
+  {
+    try {
+      result = ((Dali::PanGestureDetector const *)arg1)->GetAngleCount();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PanGestureDetector_GetAngle(void * jarg1, unsigned long jarg2) {
+  void * jresult ;
+  Dali::PanGestureDetector *arg1 = (Dali::PanGestureDetector *) 0 ;
+  size_t arg2 ;
+  Dali::PanGestureDetector::AngleThresholdPair result;
+  
+  arg1 = (Dali::PanGestureDetector *)jarg1; 
+  arg2 = (size_t)jarg2; 
+  {
+    try {
+      result = ((Dali::PanGestureDetector const *)arg1)->GetAngle(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PanGestureDetector::AngleThresholdPair((const Dali::PanGestureDetector::AngleThresholdPair &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGestureDetector_ClearAngles(void * jarg1) {
+  Dali::PanGestureDetector *arg1 = (Dali::PanGestureDetector *) 0 ;
+  
+  arg1 = (Dali::PanGestureDetector *)jarg1; 
+  {
+    try {
+      (arg1)->ClearAngles();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGestureDetector_RemoveAngle(void * jarg1, void * jarg2) {
+  Dali::PanGestureDetector *arg1 = (Dali::PanGestureDetector *) 0 ;
+  Dali::Radian arg2 ;
+  Dali::Radian *argp2 ;
+  
+  arg1 = (Dali::PanGestureDetector *)jarg1; 
+  argp2 = (Dali::Radian *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->RemoveAngle(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGestureDetector_RemoveDirection(void * jarg1, void * jarg2) {
+  Dali::PanGestureDetector *arg1 = (Dali::PanGestureDetector *) 0 ;
+  Dali::Radian arg2 ;
+  Dali::Radian *argp2 ;
+  
+  arg1 = (Dali::PanGestureDetector *)jarg1; 
+  argp2 = (Dali::Radian *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->RemoveDirection(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PanGestureDetector_DetectedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::PanGestureDetector *arg1 = (Dali::PanGestureDetector *) 0 ;
+  Dali::PanGestureDetector::DetectedSignalType *result = 0 ;
+  
+  arg1 = (Dali::PanGestureDetector *)jarg1; 
+  {
+    try {
+      result = (Dali::PanGestureDetector::DetectedSignalType *) &(arg1)->DetectedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGestureDetector_SetPanGestureProperties(void * jarg1) {
+  Dali::PanGesture *arg1 = 0 ;
+  
+  arg1 = (Dali::PanGesture *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PanGesture const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      Dali::PanGestureDetector::SetPanGestureProperties((Dali::PanGesture const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PanGesture__SWIG_0() {
+  void * jresult ;
+  Dali::PanGesture *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::PanGesture *)new Dali::PanGesture();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PanGesture__SWIG_1(int jarg1) {
+  void * jresult ;
+  Dali::Gesture::State arg1 ;
+  Dali::PanGesture *result = 0 ;
+  
+  arg1 = (Dali::Gesture::State)jarg1; 
+  {
+    try {
+      result = (Dali::PanGesture *)new Dali::PanGesture(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PanGesture__SWIG_2(void * jarg1) {
+  void * jresult ;
+  Dali::PanGesture *arg1 = 0 ;
+  Dali::PanGesture *result = 0 ;
+  
+  arg1 = (Dali::PanGesture *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PanGesture const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::PanGesture *)new Dali::PanGesture((Dali::PanGesture const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PanGesture_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::PanGesture *arg1 = (Dali::PanGesture *) 0 ;
+  Dali::PanGesture *arg2 = 0 ;
+  Dali::PanGesture *result = 0 ;
+  
+  arg1 = (Dali::PanGesture *)jarg1; 
+  arg2 = (Dali::PanGesture *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PanGesture const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::PanGesture *) &(arg1)->operator =((Dali::PanGesture const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PanGesture(void * jarg1) {
+  Dali::PanGesture *arg1 = (Dali::PanGesture *) 0 ;
+  
+  arg1 = (Dali::PanGesture *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGesture_velocity_set(void * jarg1, void * jarg2) {
+  Dali::PanGesture *arg1 = (Dali::PanGesture *) 0 ;
+  Dali::Vector2 *arg2 = (Dali::Vector2 *) 0 ;
+  
+  arg1 = (Dali::PanGesture *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2; 
+  if (arg1) (arg1)->velocity = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PanGesture_velocity_get(void * jarg1) {
+  void * jresult ;
+  Dali::PanGesture *arg1 = (Dali::PanGesture *) 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::PanGesture *)jarg1; 
+  result = (Dali::Vector2 *)& ((arg1)->velocity);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGesture_displacement_set(void * jarg1, void * jarg2) {
+  Dali::PanGesture *arg1 = (Dali::PanGesture *) 0 ;
+  Dali::Vector2 *arg2 = (Dali::Vector2 *) 0 ;
+  
+  arg1 = (Dali::PanGesture *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2; 
+  if (arg1) (arg1)->displacement = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PanGesture_displacement_get(void * jarg1) {
+  void * jresult ;
+  Dali::PanGesture *arg1 = (Dali::PanGesture *) 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::PanGesture *)jarg1; 
+  result = (Dali::Vector2 *)& ((arg1)->displacement);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGesture_position_set(void * jarg1, void * jarg2) {
+  Dali::PanGesture *arg1 = (Dali::PanGesture *) 0 ;
+  Dali::Vector2 *arg2 = (Dali::Vector2 *) 0 ;
+  
+  arg1 = (Dali::PanGesture *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2; 
+  if (arg1) (arg1)->position = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PanGesture_position_get(void * jarg1) {
+  void * jresult ;
+  Dali::PanGesture *arg1 = (Dali::PanGesture *) 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::PanGesture *)jarg1; 
+  result = (Dali::Vector2 *)& ((arg1)->position);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGesture_screenVelocity_set(void * jarg1, void * jarg2) {
+  Dali::PanGesture *arg1 = (Dali::PanGesture *) 0 ;
+  Dali::Vector2 *arg2 = (Dali::Vector2 *) 0 ;
+  
+  arg1 = (Dali::PanGesture *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2; 
+  if (arg1) (arg1)->screenVelocity = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PanGesture_screenVelocity_get(void * jarg1) {
+  void * jresult ;
+  Dali::PanGesture *arg1 = (Dali::PanGesture *) 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::PanGesture *)jarg1; 
+  result = (Dali::Vector2 *)& ((arg1)->screenVelocity);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGesture_screenDisplacement_set(void * jarg1, void * jarg2) {
+  Dali::PanGesture *arg1 = (Dali::PanGesture *) 0 ;
+  Dali::Vector2 *arg2 = (Dali::Vector2 *) 0 ;
+  
+  arg1 = (Dali::PanGesture *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2; 
+  if (arg1) (arg1)->screenDisplacement = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PanGesture_screenDisplacement_get(void * jarg1) {
+  void * jresult ;
+  Dali::PanGesture *arg1 = (Dali::PanGesture *) 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::PanGesture *)jarg1; 
+  result = (Dali::Vector2 *)& ((arg1)->screenDisplacement);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGesture_screenPosition_set(void * jarg1, void * jarg2) {
+  Dali::PanGesture *arg1 = (Dali::PanGesture *) 0 ;
+  Dali::Vector2 *arg2 = (Dali::Vector2 *) 0 ;
+  
+  arg1 = (Dali::PanGesture *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2; 
+  if (arg1) (arg1)->screenPosition = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PanGesture_screenPosition_get(void * jarg1) {
+  void * jresult ;
+  Dali::PanGesture *arg1 = (Dali::PanGesture *) 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::PanGesture *)jarg1; 
+  result = (Dali::Vector2 *)& ((arg1)->screenPosition);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGesture_numberOfTouches_set(void * jarg1, unsigned int jarg2) {
+  Dali::PanGesture *arg1 = (Dali::PanGesture *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::PanGesture *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->numberOfTouches = arg2;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_PanGesture_numberOfTouches_get(void * jarg1) {
+  unsigned int jresult ;
+  Dali::PanGesture *arg1 = (Dali::PanGesture *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::PanGesture *)jarg1; 
+  result = (unsigned int) ((arg1)->numberOfTouches);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PanGesture_GetSpeed(void * jarg1) {
+  float jresult ;
+  Dali::PanGesture *arg1 = (Dali::PanGesture *) 0 ;
+  float result;
+  
+  arg1 = (Dali::PanGesture *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::PanGesture const *)arg1)->GetSpeed();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PanGesture_GetDistance(void * jarg1) {
+  float jresult ;
+  Dali::PanGesture *arg1 = (Dali::PanGesture *) 0 ;
+  float result;
+  
+  arg1 = (Dali::PanGesture *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::PanGesture const *)arg1)->GetDistance();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PanGesture_GetScreenSpeed(void * jarg1) {
+  float jresult ;
+  Dali::PanGesture *arg1 = (Dali::PanGesture *) 0 ;
+  float result;
+  
+  arg1 = (Dali::PanGesture *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::PanGesture const *)arg1)->GetScreenSpeed();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PanGesture_GetScreenDistance(void * jarg1) {
+  float jresult ;
+  Dali::PanGesture *arg1 = (Dali::PanGesture *) 0 ;
+  float result;
+  
+  arg1 = (Dali::PanGesture *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::PanGesture const *)arg1)->GetScreenDistance();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PinchGestureDetector__SWIG_0() {
+  void * jresult ;
+  Dali::PinchGestureDetector *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::PinchGestureDetector *)new Dali::PinchGestureDetector();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PinchGestureDetector_New() {
+  void * jresult ;
+  Dali::PinchGestureDetector result;
+  
+  {
+    try {
+      result = Dali::PinchGestureDetector::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PinchGestureDetector((const Dali::PinchGestureDetector &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PinchGestureDetector_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::PinchGestureDetector result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::PinchGestureDetector::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PinchGestureDetector((const Dali::PinchGestureDetector &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PinchGestureDetector(void * jarg1) {
+  Dali::PinchGestureDetector *arg1 = (Dali::PinchGestureDetector *) 0 ;
+  
+  arg1 = (Dali::PinchGestureDetector *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PinchGestureDetector__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::PinchGestureDetector *arg1 = 0 ;
+  Dali::PinchGestureDetector *result = 0 ;
+  
+  arg1 = (Dali::PinchGestureDetector *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PinchGestureDetector const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::PinchGestureDetector *)new Dali::PinchGestureDetector((Dali::PinchGestureDetector const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PinchGestureDetector_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::PinchGestureDetector *arg1 = (Dali::PinchGestureDetector *) 0 ;
+  Dali::PinchGestureDetector *arg2 = 0 ;
+  Dali::PinchGestureDetector *result = 0 ;
+  
+  arg1 = (Dali::PinchGestureDetector *)jarg1; 
+  arg2 = (Dali::PinchGestureDetector *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PinchGestureDetector const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::PinchGestureDetector *) &(arg1)->operator =((Dali::PinchGestureDetector const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PinchGestureDetector_DetectedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::PinchGestureDetector *arg1 = (Dali::PinchGestureDetector *) 0 ;
+  Dali::PinchGestureDetector::DetectedSignalType *result = 0 ;
+  
+  arg1 = (Dali::PinchGestureDetector *)jarg1; 
+  {
+    try {
+      result = (Dali::PinchGestureDetector::DetectedSignalType *) &(arg1)->DetectedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PinchGesture__SWIG_0(int jarg1) {
+  void * jresult ;
+  Dali::Gesture::State arg1 ;
+  Dali::PinchGesture *result = 0 ;
+  
+  arg1 = (Dali::Gesture::State)jarg1; 
+  {
+    try {
+      result = (Dali::PinchGesture *)new Dali::PinchGesture(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PinchGesture__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::PinchGesture *arg1 = 0 ;
+  Dali::PinchGesture *result = 0 ;
+  
+  arg1 = (Dali::PinchGesture *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PinchGesture const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::PinchGesture *)new Dali::PinchGesture((Dali::PinchGesture const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PinchGesture_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::PinchGesture *arg1 = (Dali::PinchGesture *) 0 ;
+  Dali::PinchGesture *arg2 = 0 ;
+  Dali::PinchGesture *result = 0 ;
+  
+  arg1 = (Dali::PinchGesture *)jarg1; 
+  arg2 = (Dali::PinchGesture *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PinchGesture const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::PinchGesture *) &(arg1)->operator =((Dali::PinchGesture const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PinchGesture(void * jarg1) {
+  Dali::PinchGesture *arg1 = (Dali::PinchGesture *) 0 ;
+  
+  arg1 = (Dali::PinchGesture *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PinchGesture_scale_set(void * jarg1, float jarg2) {
+  Dali::PinchGesture *arg1 = (Dali::PinchGesture *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::PinchGesture *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->scale = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PinchGesture_scale_get(void * jarg1) {
+  float jresult ;
+  Dali::PinchGesture *arg1 = (Dali::PinchGesture *) 0 ;
+  float result;
+  
+  arg1 = (Dali::PinchGesture *)jarg1; 
+  result = (float) ((arg1)->scale);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PinchGesture_speed_set(void * jarg1, float jarg2) {
+  Dali::PinchGesture *arg1 = (Dali::PinchGesture *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::PinchGesture *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->speed = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PinchGesture_speed_get(void * jarg1) {
+  float jresult ;
+  Dali::PinchGesture *arg1 = (Dali::PinchGesture *) 0 ;
+  float result;
+  
+  arg1 = (Dali::PinchGesture *)jarg1; 
+  result = (float) ((arg1)->speed);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PinchGesture_screenCenterPoint_set(void * jarg1, void * jarg2) {
+  Dali::PinchGesture *arg1 = (Dali::PinchGesture *) 0 ;
+  Dali::Vector2 *arg2 = (Dali::Vector2 *) 0 ;
+  
+  arg1 = (Dali::PinchGesture *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2; 
+  if (arg1) (arg1)->screenCenterPoint = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PinchGesture_screenCenterPoint_get(void * jarg1) {
+  void * jresult ;
+  Dali::PinchGesture *arg1 = (Dali::PinchGesture *) 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::PinchGesture *)jarg1; 
+  result = (Dali::Vector2 *)& ((arg1)->screenCenterPoint);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PinchGesture_localCenterPoint_set(void * jarg1, void * jarg2) {
+  Dali::PinchGesture *arg1 = (Dali::PinchGesture *) 0 ;
+  Dali::Vector2 *arg2 = (Dali::Vector2 *) 0 ;
+  
+  arg1 = (Dali::PinchGesture *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2; 
+  if (arg1) (arg1)->localCenterPoint = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PinchGesture_localCenterPoint_get(void * jarg1) {
+  void * jresult ;
+  Dali::PinchGesture *arg1 = (Dali::PinchGesture *) 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::PinchGesture *)jarg1; 
+  result = (Dali::Vector2 *)& ((arg1)->localCenterPoint);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TapGestureDetector__SWIG_0() {
+  void * jresult ;
+  Dali::TapGestureDetector *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::TapGestureDetector *)new Dali::TapGestureDetector();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TapGestureDetector_New__SWIG_0() {
+  void * jresult ;
+  Dali::TapGestureDetector result;
+  
+  {
+    try {
+      result = Dali::TapGestureDetector::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::TapGestureDetector((const Dali::TapGestureDetector &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TapGestureDetector_New__SWIG_1(unsigned int jarg1) {
+  void * jresult ;
+  unsigned int arg1 ;
+  Dali::TapGestureDetector result;
+  
+  arg1 = (unsigned int)jarg1; 
+  {
+    try {
+      result = Dali::TapGestureDetector::New(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::TapGestureDetector((const Dali::TapGestureDetector &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TapGestureDetector_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::TapGestureDetector result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::TapGestureDetector::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::TapGestureDetector((const Dali::TapGestureDetector &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TapGestureDetector(void * jarg1) {
+  Dali::TapGestureDetector *arg1 = (Dali::TapGestureDetector *) 0 ;
+  
+  arg1 = (Dali::TapGestureDetector *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TapGestureDetector__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::TapGestureDetector *arg1 = 0 ;
+  Dali::TapGestureDetector *result = 0 ;
+  
+  arg1 = (Dali::TapGestureDetector *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TapGestureDetector const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::TapGestureDetector *)new Dali::TapGestureDetector((Dali::TapGestureDetector const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TapGestureDetector_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::TapGestureDetector *arg1 = (Dali::TapGestureDetector *) 0 ;
+  Dali::TapGestureDetector *arg2 = 0 ;
+  Dali::TapGestureDetector *result = 0 ;
+  
+  arg1 = (Dali::TapGestureDetector *)jarg1; 
+  arg2 = (Dali::TapGestureDetector *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TapGestureDetector const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::TapGestureDetector *) &(arg1)->operator =((Dali::TapGestureDetector const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TapGestureDetector_SetMinimumTapsRequired(void * jarg1, unsigned int jarg2) {
+  Dali::TapGestureDetector *arg1 = (Dali::TapGestureDetector *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::TapGestureDetector *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      (arg1)->SetMinimumTapsRequired(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TapGestureDetector_SetMaximumTapsRequired(void * jarg1, unsigned int jarg2) {
+  Dali::TapGestureDetector *arg1 = (Dali::TapGestureDetector *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::TapGestureDetector *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      (arg1)->SetMaximumTapsRequired(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TapGestureDetector_GetMinimumTapsRequired(void * jarg1) {
+  unsigned int jresult ;
+  Dali::TapGestureDetector *arg1 = (Dali::TapGestureDetector *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::TapGestureDetector *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::TapGestureDetector const *)arg1)->GetMinimumTapsRequired();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TapGestureDetector_GetMaximumTapsRequired(void * jarg1) {
+  unsigned int jresult ;
+  Dali::TapGestureDetector *arg1 = (Dali::TapGestureDetector *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::TapGestureDetector *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::TapGestureDetector const *)arg1)->GetMaximumTapsRequired();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TapGestureDetector_DetectedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::TapGestureDetector *arg1 = (Dali::TapGestureDetector *) 0 ;
+  Dali::TapGestureDetector::DetectedSignalType *result = 0 ;
+  
+  arg1 = (Dali::TapGestureDetector *)jarg1; 
+  {
+    try {
+      result = (Dali::TapGestureDetector::DetectedSignalType *) &(arg1)->DetectedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TapGesture__SWIG_0() {
+  void * jresult ;
+  Dali::TapGesture *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::TapGesture *)new Dali::TapGesture();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TapGesture__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::TapGesture *arg1 = 0 ;
+  Dali::TapGesture *result = 0 ;
+  
+  arg1 = (Dali::TapGesture *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TapGesture const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::TapGesture *)new Dali::TapGesture((Dali::TapGesture const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TapGesture_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::TapGesture *arg1 = (Dali::TapGesture *) 0 ;
+  Dali::TapGesture *arg2 = 0 ;
+  Dali::TapGesture *result = 0 ;
+  
+  arg1 = (Dali::TapGesture *)jarg1; 
+  arg2 = (Dali::TapGesture *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TapGesture const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::TapGesture *) &(arg1)->operator =((Dali::TapGesture const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TapGesture(void * jarg1) {
+  Dali::TapGesture *arg1 = (Dali::TapGesture *) 0 ;
+  
+  arg1 = (Dali::TapGesture *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TapGesture_numberOfTaps_set(void * jarg1, unsigned int jarg2) {
+  Dali::TapGesture *arg1 = (Dali::TapGesture *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::TapGesture *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->numberOfTaps = arg2;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TapGesture_numberOfTaps_get(void * jarg1) {
+  unsigned int jresult ;
+  Dali::TapGesture *arg1 = (Dali::TapGesture *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::TapGesture *)jarg1; 
+  result = (unsigned int) ((arg1)->numberOfTaps);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TapGesture_numberOfTouches_set(void * jarg1, unsigned int jarg2) {
+  Dali::TapGesture *arg1 = (Dali::TapGesture *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::TapGesture *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->numberOfTouches = arg2;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TapGesture_numberOfTouches_get(void * jarg1) {
+  unsigned int jresult ;
+  Dali::TapGesture *arg1 = (Dali::TapGesture *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::TapGesture *)jarg1; 
+  result = (unsigned int) ((arg1)->numberOfTouches);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TapGesture_screenPoint_set(void * jarg1, void * jarg2) {
+  Dali::TapGesture *arg1 = (Dali::TapGesture *) 0 ;
+  Dali::Vector2 *arg2 = (Dali::Vector2 *) 0 ;
+  
+  arg1 = (Dali::TapGesture *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2; 
+  if (arg1) (arg1)->screenPoint = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TapGesture_screenPoint_get(void * jarg1) {
+  void * jresult ;
+  Dali::TapGesture *arg1 = (Dali::TapGesture *) 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::TapGesture *)jarg1; 
+  result = (Dali::Vector2 *)& ((arg1)->screenPoint);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TapGesture_localPoint_set(void * jarg1, void * jarg2) {
+  Dali::TapGesture *arg1 = (Dali::TapGesture *) 0 ;
+  Dali::Vector2 *arg2 = (Dali::Vector2 *) 0 ;
+  
+  arg1 = (Dali::TapGesture *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2; 
+  if (arg1) (arg1)->localPoint = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TapGesture_localPoint_get(void * jarg1) {
+  void * jresult ;
+  Dali::TapGesture *arg1 = (Dali::TapGesture *) 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::TapGesture *)jarg1; 
+  result = (Dali::Vector2 *)& ((arg1)->localPoint);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AlphaFunction__SWIG_0() {
+  void * jresult ;
+  Dali::AlphaFunction *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::AlphaFunction *)new Dali::AlphaFunction();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AlphaFunction__SWIG_1(int jarg1) {
+  void * jresult ;
+  Dali::AlphaFunction::BuiltinFunction arg1 ;
+  Dali::AlphaFunction *result = 0 ;
+  
+  arg1 = (Dali::AlphaFunction::BuiltinFunction)jarg1; 
+  {
+    try {
+      result = (Dali::AlphaFunction *)new Dali::AlphaFunction(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AlphaFunction__SWIG_2(void * jarg1) {
+  void * jresult ;
+  Dali::AlphaFunctionPrototype arg1 = (Dali::AlphaFunctionPrototype) 0 ;
+  Dali::AlphaFunction *result = 0 ;
+  
+  arg1 = (Dali::AlphaFunctionPrototype)jarg1; 
+  {
+    try {
+      result = (Dali::AlphaFunction *)new Dali::AlphaFunction(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AlphaFunction__SWIG_3(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector2 *arg1 = 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  Dali::AlphaFunction *result = 0 ;
+  
+  arg1 = (Dali::Vector2 *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return 0;
+  } 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::AlphaFunction *)new Dali::AlphaFunction((Dali::Vector2 const &)*arg1,(Dali::Vector2 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AlphaFunction_GetBezierControlPoints(void * jarg1) {
+  void * jresult ;
+  Dali::AlphaFunction *arg1 = (Dali::AlphaFunction *) 0 ;
+  Dali::Vector4 result;
+  
+  arg1 = (Dali::AlphaFunction *)jarg1; 
+  {
+    try {
+      result = ((Dali::AlphaFunction const *)arg1)->GetBezierControlPoints();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector4((const Dali::Vector4 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AlphaFunction_GetCustomFunction(void * jarg1) {
+  void * jresult ;
+  Dali::AlphaFunction *arg1 = (Dali::AlphaFunction *) 0 ;
+  Dali::AlphaFunctionPrototype result;
+  
+  arg1 = (Dali::AlphaFunction *)jarg1; 
+  {
+    try {
+      result = (Dali::AlphaFunctionPrototype)((Dali::AlphaFunction const *)arg1)->GetCustomFunction();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_AlphaFunction_GetBuiltinFunction(void * jarg1) {
+  int jresult ;
+  Dali::AlphaFunction *arg1 = (Dali::AlphaFunction *) 0 ;
+  Dali::AlphaFunction::BuiltinFunction result;
+  
+  arg1 = (Dali::AlphaFunction *)jarg1; 
+  {
+    try {
+      result = (Dali::AlphaFunction::BuiltinFunction)((Dali::AlphaFunction const *)arg1)->GetBuiltinFunction();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_AlphaFunction_GetMode(void * jarg1) {
+  int jresult ;
+  Dali::AlphaFunction *arg1 = (Dali::AlphaFunction *) 0 ;
+  Dali::AlphaFunction::Mode result;
+  
+  arg1 = (Dali::AlphaFunction *)jarg1; 
+  {
+    try {
+      result = (Dali::AlphaFunction::Mode)((Dali::AlphaFunction const *)arg1)->GetMode();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_AlphaFunction(void * jarg1) {
+  Dali::AlphaFunction *arg1 = (Dali::AlphaFunction *) 0 ;
+  
+  arg1 = (Dali::AlphaFunction *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_KeyFrames_New() {
+  void * jresult ;
+  Dali::KeyFrames result;
+  
+  {
+    try {
+      result = Dali::KeyFrames::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::KeyFrames((const Dali::KeyFrames &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_KeyFrames_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::KeyFrames result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::KeyFrames::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::KeyFrames((const Dali::KeyFrames &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_KeyFrames__SWIG_0() {
+  void * jresult ;
+  Dali::KeyFrames *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::KeyFrames *)new Dali::KeyFrames();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_KeyFrames(void * jarg1) {
+  Dali::KeyFrames *arg1 = (Dali::KeyFrames *) 0 ;
+  
+  arg1 = (Dali::KeyFrames *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_KeyFrames__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::KeyFrames *arg1 = 0 ;
+  Dali::KeyFrames *result = 0 ;
+  
+  arg1 = (Dali::KeyFrames *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::KeyFrames const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::KeyFrames *)new Dali::KeyFrames((Dali::KeyFrames const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_KeyFrames_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::KeyFrames *arg1 = (Dali::KeyFrames *) 0 ;
+  Dali::KeyFrames *arg2 = 0 ;
+  Dali::KeyFrames *result = 0 ;
+  
+  arg1 = (Dali::KeyFrames *)jarg1; 
+  arg2 = (Dali::KeyFrames *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::KeyFrames const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::KeyFrames *) &(arg1)->operator =((Dali::KeyFrames const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_KeyFrames_GetType(void * jarg1) {
+  int jresult ;
+  Dali::KeyFrames *arg1 = (Dali::KeyFrames *) 0 ;
+  Dali::Property::Type result;
+  
+  arg1 = (Dali::KeyFrames *)jarg1; 
+  {
+    try {
+      result = (Dali::Property::Type)((Dali::KeyFrames const *)arg1)->GetType();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyFrames_Add__SWIG_0(void * jarg1, float jarg2, void * jarg3) {
+  Dali::KeyFrames *arg1 = (Dali::KeyFrames *) 0 ;
+  float arg2 ;
+  Dali::Property::Value arg3 ;
+  Dali::Property::Value *argp3 ;
+  
+  arg1 = (Dali::KeyFrames *)jarg1; 
+  arg2 = (float)jarg2; 
+  argp3 = (Dali::Property::Value *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property::Value", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  {
+    try {
+      (arg1)->Add(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyFrames_Add__SWIG_1(void * jarg1, float jarg2, void * jarg3, void * jarg4) {
+  Dali::KeyFrames *arg1 = (Dali::KeyFrames *) 0 ;
+  float arg2 ;
+  Dali::Property::Value arg3 ;
+  Dali::AlphaFunction arg4 ;
+  Dali::Property::Value *argp3 ;
+  Dali::AlphaFunction *argp4 ;
+  
+  arg1 = (Dali::KeyFrames *)jarg1; 
+  arg2 = (float)jarg2; 
+  argp3 = (Dali::Property::Value *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property::Value", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  argp4 = (Dali::AlphaFunction *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::AlphaFunction", 0);
+    return ;
+  }
+  arg4 = *argp4; 
+  {
+    try {
+      (arg1)->Add(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Path_Property_POINTS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Path::Property::POINTS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Path_Property_CONTROL_POINTS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Path::Property::CONTROL_POINTS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Path_Property() {
+  void * jresult ;
+  Dali::Path::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Path::Property *)new Dali::Path::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Path_Property(void * jarg1) {
+  Dali::Path::Property *arg1 = (Dali::Path::Property *) 0 ;
+  
+  arg1 = (Dali::Path::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Path_New() {
+  void * jresult ;
+  Dali::Path result;
+  
+  {
+    try {
+      result = Dali::Path::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Path((const Dali::Path &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Path_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Path result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Path::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Path((const Dali::Path &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Path__SWIG_0() {
+  void * jresult ;
+  Dali::Path *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Path *)new Dali::Path();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Path(void * jarg1) {
+  Dali::Path *arg1 = (Dali::Path *) 0 ;
+  
+  arg1 = (Dali::Path *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Path__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Path *arg1 = 0 ;
+  Dali::Path *result = 0 ;
+  
+  arg1 = (Dali::Path *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Path const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Path *)new Dali::Path((Dali::Path const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Path_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Path *arg1 = (Dali::Path *) 0 ;
+  Dali::Path *arg2 = 0 ;
+  Dali::Path *result = 0 ;
+  
+  arg1 = (Dali::Path *)jarg1; 
+  arg2 = (Dali::Path *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Path const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Path *) &(arg1)->operator =((Dali::Path const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Path_AddPoint(void * jarg1, void * jarg2) {
+  Dali::Path *arg1 = (Dali::Path *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  
+  arg1 = (Dali::Path *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->AddPoint((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Path_AddControlPoint(void * jarg1, void * jarg2) {
+  Dali::Path *arg1 = (Dali::Path *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  
+  arg1 = (Dali::Path *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->AddControlPoint((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Path_GenerateControlPoints(void * jarg1, float jarg2) {
+  Dali::Path *arg1 = (Dali::Path *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Path *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->GenerateControlPoints(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Path_Sample(void * jarg1, float jarg2, void * jarg3, void * jarg4) {
+  Dali::Path *arg1 = (Dali::Path *) 0 ;
+  float arg2 ;
+  Dali::Vector3 *arg3 = 0 ;
+  Dali::Vector3 *arg4 = 0 ;
+  
+  arg1 = (Dali::Path *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (Dali::Vector3 *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 & type is null", 0);
+    return ;
+  } 
+  arg4 = (Dali::Vector3 *)jarg4;
+  if (!arg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      ((Dali::Path const *)arg1)->Sample(arg2,*arg3,*arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Path_GetPoint(void * jarg1, unsigned long jarg2) {
+  void * jresult ;
+  Dali::Path *arg1 = (Dali::Path *) 0 ;
+  size_t arg2 ;
+  Dali::Vector3 *result = 0 ;
+  
+  arg1 = (Dali::Path *)jarg1; 
+  arg2 = (size_t)jarg2; 
+  {
+    try {
+      result = (Dali::Vector3 *) &(arg1)->GetPoint(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Path_GetControlPoint(void * jarg1, unsigned long jarg2) {
+  void * jresult ;
+  Dali::Path *arg1 = (Dali::Path *) 0 ;
+  size_t arg2 ;
+  Dali::Vector3 *result = 0 ;
+  
+  arg1 = (Dali::Path *)jarg1; 
+  arg2 = (size_t)jarg2; 
+  {
+    try {
+      result = (Dali::Vector3 *) &(arg1)->GetControlPoint(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_Path_GetPointCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Path *arg1 = (Dali::Path *) 0 ;
+  size_t result;
+  
+  arg1 = (Dali::Path *)jarg1; 
+  {
+    try {
+      result = ((Dali::Path const *)arg1)->GetPointCount();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TimePeriod__SWIG_0(float jarg1) {
+  void * jresult ;
+  float arg1 ;
+  Dali::TimePeriod *result = 0 ;
+  
+  arg1 = (float)jarg1; 
+  {
+    try {
+      result = (Dali::TimePeriod *)new Dali::TimePeriod(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TimePeriod__SWIG_1(float jarg1, float jarg2) {
+  void * jresult ;
+  float arg1 ;
+  float arg2 ;
+  Dali::TimePeriod *result = 0 ;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (Dali::TimePeriod *)new Dali::TimePeriod(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TimePeriod(void * jarg1) {
+  Dali::TimePeriod *arg1 = (Dali::TimePeriod *) 0 ;
+  
+  arg1 = (Dali::TimePeriod *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TimePeriod_delaySeconds_set(void * jarg1, float jarg2) {
+  Dali::TimePeriod *arg1 = (Dali::TimePeriod *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::TimePeriod *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->delaySeconds = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_TimePeriod_delaySeconds_get(void * jarg1) {
+  float jresult ;
+  Dali::TimePeriod *arg1 = (Dali::TimePeriod *) 0 ;
+  float result;
+  
+  arg1 = (Dali::TimePeriod *)jarg1; 
+  result = (float) ((arg1)->delaySeconds);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TimePeriod_durationSeconds_set(void * jarg1, float jarg2) {
+  Dali::TimePeriod *arg1 = (Dali::TimePeriod *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::TimePeriod *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->durationSeconds = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_TimePeriod_durationSeconds_get(void * jarg1) {
+  float jresult ;
+  Dali::TimePeriod *arg1 = (Dali::TimePeriod *) 0 ;
+  float result;
+  
+  arg1 = (Dali::TimePeriod *)jarg1; 
+  result = (float) ((arg1)->durationSeconds);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Animation__SWIG_0() {
+  void * jresult ;
+  Dali::Animation *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Animation *)new Dali::Animation();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Animation_New(float jarg1) {
+  void * jresult ;
+  float arg1 ;
+  Dali::Animation result;
+  
+  arg1 = (float)jarg1; 
+  {
+    try {
+      result = Dali::Animation::New(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Animation((const Dali::Animation &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Animation_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Animation result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Animation::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Animation((const Dali::Animation &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Animation(void * jarg1) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Animation__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Animation *arg1 = 0 ;
+  Dali::Animation *result = 0 ;
+  
+  arg1 = (Dali::Animation *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Animation const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Animation *)new Dali::Animation((Dali::Animation const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Animation_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  Dali::Animation *arg2 = 0 ;
+  Dali::Animation *result = 0 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  arg2 = (Dali::Animation *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Animation const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Animation *) &(arg1)->operator =((Dali::Animation const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_SetDuration(void * jarg1, float jarg2) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetDuration(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Animation_GetDuration(void * jarg1) {
+  float jresult ;
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Animation const *)arg1)->GetDuration();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_SetLooping(void * jarg1, unsigned int jarg2) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetLooping(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_SetLoopCount(void * jarg1, int jarg2) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  int arg2 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  arg2 = (int)jarg2; 
+  {
+    try {
+      (arg1)->SetLoopCount(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Animation_GetLoopCount(void * jarg1) {
+  int jresult ;
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  int result;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  {
+    try {
+      result = (int)(arg1)->GetLoopCount();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Animation_GetCurrentLoop(void * jarg1) {
+  int jresult ;
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  int result;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  {
+    try {
+      result = (int)(arg1)->GetCurrentLoop();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Animation_IsLooping(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Animation const *)arg1)->IsLooping();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_SetEndAction(void * jarg1, int jarg2) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  Dali::Animation::EndAction arg2 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  arg2 = (Dali::Animation::EndAction)jarg2; 
+  {
+    try {
+      (arg1)->SetEndAction(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Animation_GetEndAction(void * jarg1) {
+  int jresult ;
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  Dali::Animation::EndAction result;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  {
+    try {
+      result = (Dali::Animation::EndAction)((Dali::Animation const *)arg1)->GetEndAction();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_SetDisconnectAction(void * jarg1, int jarg2) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  Dali::Animation::EndAction arg2 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  arg2 = (Dali::Animation::EndAction)jarg2; 
+  {
+    try {
+      (arg1)->SetDisconnectAction(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Animation_GetDisconnectAction(void * jarg1) {
+  int jresult ;
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  Dali::Animation::EndAction result;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  {
+    try {
+      result = (Dali::Animation::EndAction)((Dali::Animation const *)arg1)->GetDisconnectAction();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_SetDefaultAlphaFunction(void * jarg1, void * jarg2) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  Dali::AlphaFunction arg2 ;
+  Dali::AlphaFunction *argp2 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  argp2 = (Dali::AlphaFunction *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::AlphaFunction", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetDefaultAlphaFunction(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Animation_GetDefaultAlphaFunction(void * jarg1) {
+  void * jresult ;
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  Dali::AlphaFunction result;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  {
+    try {
+      result = ((Dali::Animation const *)arg1)->GetDefaultAlphaFunction();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::AlphaFunction((const Dali::AlphaFunction &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_SetCurrentProgress(void * jarg1, float jarg2) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetCurrentProgress(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Animation_GetCurrentProgress(void * jarg1) {
+  float jresult ;
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  {
+    try {
+      result = (float)(arg1)->GetCurrentProgress();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_SetSpeedFactor(void * jarg1, float jarg2) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetSpeedFactor(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Animation_GetSpeedFactor(void * jarg1) {
+  float jresult ;
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Animation const *)arg1)->GetSpeedFactor();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_SetPlayRange(void * jarg1, void * jarg2) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetPlayRange((Dali::Vector2 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Animation_GetPlayRange(void * jarg1) {
+  void * jresult ;
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  Dali::Vector2 result;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  {
+    try {
+      result = ((Dali::Animation const *)arg1)->GetPlayRange();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector2((const Dali::Vector2 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_Play(void * jarg1) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  {
+    try {
+      (arg1)->Play();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_PlayFrom(void * jarg1, float jarg2) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->PlayFrom(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_Pause(void * jarg1) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  {
+    try {
+      (arg1)->Pause();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Animation_GetState(void * jarg1) {
+  int jresult ;
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  Dali::Animation::State result;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  {
+    try {
+      result = (Dali::Animation::State)((Dali::Animation const *)arg1)->GetState();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_Stop(void * jarg1) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  {
+    try {
+      (arg1)->Stop();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_Clear(void * jarg1) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  {
+    try {
+      (arg1)->Clear();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Animation_FinishedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  Dali::Animation::AnimationSignalType *result = 0 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  {
+    try {
+      result = (Dali::Animation::AnimationSignalType *) &(arg1)->FinishedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_AnimateBy__SWIG_0(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  SwigValueWrapper< Dali::Property > arg2 ;
+  Dali::Property::Value arg3 ;
+  Dali::Property *argp2 ;
+  Dali::Property::Value *argp3 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  argp2 = (Dali::Property *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::Property::Value *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property::Value", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  {
+    try {
+      (arg1)->AnimateBy(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_AnimateBy__SWIG_1(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  SwigValueWrapper< Dali::Property > arg2 ;
+  Dali::Property::Value arg3 ;
+  Dali::AlphaFunction arg4 ;
+  Dali::Property *argp2 ;
+  Dali::Property::Value *argp3 ;
+  Dali::AlphaFunction *argp4 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  argp2 = (Dali::Property *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::Property::Value *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property::Value", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  argp4 = (Dali::AlphaFunction *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::AlphaFunction", 0);
+    return ;
+  }
+  arg4 = *argp4; 
+  {
+    try {
+      (arg1)->AnimateBy(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_AnimateBy__SWIG_2(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  SwigValueWrapper< Dali::Property > arg2 ;
+  Dali::Property::Value arg3 ;
+  SwigValueWrapper< Dali::TimePeriod > arg4 ;
+  Dali::Property *argp2 ;
+  Dali::Property::Value *argp3 ;
+  Dali::TimePeriod *argp4 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  argp2 = (Dali::Property *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::Property::Value *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property::Value", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  argp4 = (Dali::TimePeriod *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::TimePeriod", 0);
+    return ;
+  }
+  arg4 = *argp4; 
+  {
+    try {
+      (arg1)->AnimateBy(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_AnimateBy__SWIG_3(void * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  SwigValueWrapper< Dali::Property > arg2 ;
+  Dali::Property::Value arg3 ;
+  Dali::AlphaFunction arg4 ;
+  SwigValueWrapper< Dali::TimePeriod > arg5 ;
+  Dali::Property *argp2 ;
+  Dali::Property::Value *argp3 ;
+  Dali::AlphaFunction *argp4 ;
+  Dali::TimePeriod *argp5 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  argp2 = (Dali::Property *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::Property::Value *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property::Value", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  argp4 = (Dali::AlphaFunction *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::AlphaFunction", 0);
+    return ;
+  }
+  arg4 = *argp4; 
+  argp5 = (Dali::TimePeriod *)jarg5; 
+  if (!argp5) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::TimePeriod", 0);
+    return ;
+  }
+  arg5 = *argp5; 
+  {
+    try {
+      (arg1)->AnimateBy(arg2,arg3,arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_AnimateTo__SWIG_0(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  SwigValueWrapper< Dali::Property > arg2 ;
+  Dali::Property::Value arg3 ;
+  Dali::Property *argp2 ;
+  Dali::Property::Value *argp3 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  argp2 = (Dali::Property *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::Property::Value *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property::Value", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  {
+    try {
+      (arg1)->AnimateTo(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_AnimateTo__SWIG_1(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  SwigValueWrapper< Dali::Property > arg2 ;
+  Dali::Property::Value arg3 ;
+  Dali::AlphaFunction arg4 ;
+  Dali::Property *argp2 ;
+  Dali::Property::Value *argp3 ;
+  Dali::AlphaFunction *argp4 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  argp2 = (Dali::Property *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::Property::Value *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property::Value", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  argp4 = (Dali::AlphaFunction *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::AlphaFunction", 0);
+    return ;
+  }
+  arg4 = *argp4; 
+  {
+    try {
+      (arg1)->AnimateTo(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_AnimateTo__SWIG_2(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  SwigValueWrapper< Dali::Property > arg2 ;
+  Dali::Property::Value arg3 ;
+  SwigValueWrapper< Dali::TimePeriod > arg4 ;
+  Dali::Property *argp2 ;
+  Dali::Property::Value *argp3 ;
+  Dali::TimePeriod *argp4 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  argp2 = (Dali::Property *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::Property::Value *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property::Value", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  argp4 = (Dali::TimePeriod *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::TimePeriod", 0);
+    return ;
+  }
+  arg4 = *argp4; 
+  {
+    try {
+      (arg1)->AnimateTo(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_AnimateTo__SWIG_3(void * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  SwigValueWrapper< Dali::Property > arg2 ;
+  Dali::Property::Value arg3 ;
+  Dali::AlphaFunction arg4 ;
+  SwigValueWrapper< Dali::TimePeriod > arg5 ;
+  Dali::Property *argp2 ;
+  Dali::Property::Value *argp3 ;
+  Dali::AlphaFunction *argp4 ;
+  Dali::TimePeriod *argp5 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  argp2 = (Dali::Property *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::Property::Value *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property::Value", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  argp4 = (Dali::AlphaFunction *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::AlphaFunction", 0);
+    return ;
+  }
+  arg4 = *argp4; 
+  argp5 = (Dali::TimePeriod *)jarg5; 
+  if (!argp5) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::TimePeriod", 0);
+    return ;
+  }
+  arg5 = *argp5; 
+  {
+    try {
+      (arg1)->AnimateTo(arg2,arg3,arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_AnimateBetween__SWIG_0(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  SwigValueWrapper< Dali::Property > arg2 ;
+  Dali::KeyFrames *arg3 = 0 ;
+  Dali::Property *argp2 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  argp2 = (Dali::Property *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::KeyFrames *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::KeyFrames & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->AnimateBetween(arg2,*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_AnimateBetween__SWIG_1(void * jarg1, void * jarg2, void * jarg3, int jarg4) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  SwigValueWrapper< Dali::Property > arg2 ;
+  Dali::KeyFrames *arg3 = 0 ;
+  Dali::Animation::Interpolation arg4 ;
+  Dali::Property *argp2 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  argp2 = (Dali::Property *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::KeyFrames *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::KeyFrames & type is null", 0);
+    return ;
+  } 
+  arg4 = (Dali::Animation::Interpolation)jarg4; 
+  {
+    try {
+      (arg1)->AnimateBetween(arg2,*arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_AnimateBetween__SWIG_2(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  SwigValueWrapper< Dali::Property > arg2 ;
+  Dali::KeyFrames *arg3 = 0 ;
+  Dali::AlphaFunction arg4 ;
+  Dali::Property *argp2 ;
+  Dali::AlphaFunction *argp4 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  argp2 = (Dali::Property *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::KeyFrames *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::KeyFrames & type is null", 0);
+    return ;
+  } 
+  argp4 = (Dali::AlphaFunction *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::AlphaFunction", 0);
+    return ;
+  }
+  arg4 = *argp4; 
+  {
+    try {
+      (arg1)->AnimateBetween(arg2,*arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_AnimateBetween__SWIG_3(void * jarg1, void * jarg2, void * jarg3, void * jarg4, int jarg5) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  SwigValueWrapper< Dali::Property > arg2 ;
+  Dali::KeyFrames *arg3 = 0 ;
+  Dali::AlphaFunction arg4 ;
+  Dali::Animation::Interpolation arg5 ;
+  Dali::Property *argp2 ;
+  Dali::AlphaFunction *argp4 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  argp2 = (Dali::Property *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::KeyFrames *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::KeyFrames & type is null", 0);
+    return ;
+  } 
+  argp4 = (Dali::AlphaFunction *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::AlphaFunction", 0);
+    return ;
+  }
+  arg4 = *argp4; 
+  arg5 = (Dali::Animation::Interpolation)jarg5; 
+  {
+    try {
+      (arg1)->AnimateBetween(arg2,*arg3,arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_AnimateBetween__SWIG_4(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  SwigValueWrapper< Dali::Property > arg2 ;
+  Dali::KeyFrames *arg3 = 0 ;
+  SwigValueWrapper< Dali::TimePeriod > arg4 ;
+  Dali::Property *argp2 ;
+  Dali::TimePeriod *argp4 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  argp2 = (Dali::Property *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::KeyFrames *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::KeyFrames & type is null", 0);
+    return ;
+  } 
+  argp4 = (Dali::TimePeriod *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::TimePeriod", 0);
+    return ;
+  }
+  arg4 = *argp4; 
+  {
+    try {
+      (arg1)->AnimateBetween(arg2,*arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_AnimateBetween__SWIG_5(void * jarg1, void * jarg2, void * jarg3, void * jarg4, int jarg5) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  SwigValueWrapper< Dali::Property > arg2 ;
+  Dali::KeyFrames *arg3 = 0 ;
+  SwigValueWrapper< Dali::TimePeriod > arg4 ;
+  Dali::Animation::Interpolation arg5 ;
+  Dali::Property *argp2 ;
+  Dali::TimePeriod *argp4 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  argp2 = (Dali::Property *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::KeyFrames *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::KeyFrames & type is null", 0);
+    return ;
+  } 
+  argp4 = (Dali::TimePeriod *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::TimePeriod", 0);
+    return ;
+  }
+  arg4 = *argp4; 
+  arg5 = (Dali::Animation::Interpolation)jarg5; 
+  {
+    try {
+      (arg1)->AnimateBetween(arg2,*arg3,arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_AnimateBetween__SWIG_6(void * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  SwigValueWrapper< Dali::Property > arg2 ;
+  Dali::KeyFrames *arg3 = 0 ;
+  Dali::AlphaFunction arg4 ;
+  SwigValueWrapper< Dali::TimePeriod > arg5 ;
+  Dali::Property *argp2 ;
+  Dali::AlphaFunction *argp4 ;
+  Dali::TimePeriod *argp5 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  argp2 = (Dali::Property *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::KeyFrames *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::KeyFrames & type is null", 0);
+    return ;
+  } 
+  argp4 = (Dali::AlphaFunction *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::AlphaFunction", 0);
+    return ;
+  }
+  arg4 = *argp4; 
+  argp5 = (Dali::TimePeriod *)jarg5; 
+  if (!argp5) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::TimePeriod", 0);
+    return ;
+  }
+  arg5 = *argp5; 
+  {
+    try {
+      (arg1)->AnimateBetween(arg2,*arg3,arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_AnimateBetween__SWIG_7(void * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5, int jarg6) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  SwigValueWrapper< Dali::Property > arg2 ;
+  Dali::KeyFrames *arg3 = 0 ;
+  Dali::AlphaFunction arg4 ;
+  SwigValueWrapper< Dali::TimePeriod > arg5 ;
+  Dali::Animation::Interpolation arg6 ;
+  Dali::Property *argp2 ;
+  Dali::AlphaFunction *argp4 ;
+  Dali::TimePeriod *argp5 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  argp2 = (Dali::Property *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::KeyFrames *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::KeyFrames & type is null", 0);
+    return ;
+  } 
+  argp4 = (Dali::AlphaFunction *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::AlphaFunction", 0);
+    return ;
+  }
+  arg4 = *argp4; 
+  argp5 = (Dali::TimePeriod *)jarg5; 
+  if (!argp5) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::TimePeriod", 0);
+    return ;
+  }
+  arg5 = *argp5; 
+  arg6 = (Dali::Animation::Interpolation)jarg6; 
+  {
+    try {
+      (arg1)->AnimateBetween(arg2,*arg3,arg4,arg5,arg6);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_Animate__SWIG_0(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Path arg3 ;
+  Dali::Vector3 *arg4 = 0 ;
+  Dali::Actor *argp2 ;
+  Dali::Path *argp3 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::Path *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Path", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  arg4 = (Dali::Vector3 *)jarg4;
+  if (!arg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Animate(arg2,arg3,(Dali::Vector3 const &)*arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_Animate__SWIG_1(void * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Path arg3 ;
+  Dali::Vector3 *arg4 = 0 ;
+  Dali::AlphaFunction arg5 ;
+  Dali::Actor *argp2 ;
+  Dali::Path *argp3 ;
+  Dali::AlphaFunction *argp5 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::Path *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Path", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  arg4 = (Dali::Vector3 *)jarg4;
+  if (!arg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  argp5 = (Dali::AlphaFunction *)jarg5; 
+  if (!argp5) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::AlphaFunction", 0);
+    return ;
+  }
+  arg5 = *argp5; 
+  {
+    try {
+      (arg1)->Animate(arg2,arg3,(Dali::Vector3 const &)*arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_Animate__SWIG_2(void * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Path arg3 ;
+  Dali::Vector3 *arg4 = 0 ;
+  SwigValueWrapper< Dali::TimePeriod > arg5 ;
+  Dali::Actor *argp2 ;
+  Dali::Path *argp3 ;
+  Dali::TimePeriod *argp5 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::Path *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Path", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  arg4 = (Dali::Vector3 *)jarg4;
+  if (!arg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  argp5 = (Dali::TimePeriod *)jarg5; 
+  if (!argp5) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::TimePeriod", 0);
+    return ;
+  }
+  arg5 = *argp5; 
+  {
+    try {
+      (arg1)->Animate(arg2,arg3,(Dali::Vector3 const &)*arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_Animate__SWIG_3(void * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5, void * jarg6) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Path arg3 ;
+  Dali::Vector3 *arg4 = 0 ;
+  Dali::AlphaFunction arg5 ;
+  SwigValueWrapper< Dali::TimePeriod > arg6 ;
+  Dali::Actor *argp2 ;
+  Dali::Path *argp3 ;
+  Dali::AlphaFunction *argp5 ;
+  Dali::TimePeriod *argp6 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::Path *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Path", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  arg4 = (Dali::Vector3 *)jarg4;
+  if (!arg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  argp5 = (Dali::AlphaFunction *)jarg5; 
+  if (!argp5) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::AlphaFunction", 0);
+    return ;
+  }
+  arg5 = *argp5; 
+  argp6 = (Dali::TimePeriod *)jarg6; 
+  if (!argp6) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::TimePeriod", 0);
+    return ;
+  }
+  arg6 = *argp6; 
+  {
+    try {
+      (arg1)->Animate(arg2,arg3,(Dali::Vector3 const &)*arg4,arg5,arg6);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_Show(void * jarg1, void * jarg2, float jarg3) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  Dali::Actor arg2 ;
+  float arg3 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      (arg1)->Show(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Animation_Hide(void * jarg1, void * jarg2, float jarg3) {
+  Dali::Animation *arg1 = (Dali::Animation *) 0 ;
+  Dali::Actor arg2 ;
+  float arg3 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Animation *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      (arg1)->Hide(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_LinearConstrainer_Property_VALUE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::LinearConstrainer::Property::VALUE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_LinearConstrainer_Property_PROGRESS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::LinearConstrainer::Property::PROGRESS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_LinearConstrainer_Property() {
+  void * jresult ;
+  Dali::LinearConstrainer::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::LinearConstrainer::Property *)new Dali::LinearConstrainer::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_LinearConstrainer_Property(void * jarg1) {
+  Dali::LinearConstrainer::Property *arg1 = (Dali::LinearConstrainer::Property *) 0 ;
+  
+  arg1 = (Dali::LinearConstrainer::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_LinearConstrainer_New() {
+  void * jresult ;
+  Dali::LinearConstrainer result;
+  
+  {
+    try {
+      result = Dali::LinearConstrainer::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::LinearConstrainer((const Dali::LinearConstrainer &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_LinearConstrainer_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::LinearConstrainer result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::LinearConstrainer::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::LinearConstrainer((const Dali::LinearConstrainer &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_LinearConstrainer__SWIG_0() {
+  void * jresult ;
+  Dali::LinearConstrainer *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::LinearConstrainer *)new Dali::LinearConstrainer();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_LinearConstrainer(void * jarg1) {
+  Dali::LinearConstrainer *arg1 = (Dali::LinearConstrainer *) 0 ;
+  
+  arg1 = (Dali::LinearConstrainer *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_LinearConstrainer__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::LinearConstrainer *arg1 = 0 ;
+  Dali::LinearConstrainer *result = 0 ;
+  
+  arg1 = (Dali::LinearConstrainer *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::LinearConstrainer const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::LinearConstrainer *)new Dali::LinearConstrainer((Dali::LinearConstrainer const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_LinearConstrainer_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::LinearConstrainer *arg1 = (Dali::LinearConstrainer *) 0 ;
+  Dali::LinearConstrainer *arg2 = 0 ;
+  Dali::LinearConstrainer *result = 0 ;
+  
+  arg1 = (Dali::LinearConstrainer *)jarg1; 
+  arg2 = (Dali::LinearConstrainer *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::LinearConstrainer const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::LinearConstrainer *) &(arg1)->operator =((Dali::LinearConstrainer const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_LinearConstrainer_Apply__SWIG_0(void * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5) {
+  Dali::LinearConstrainer *arg1 = (Dali::LinearConstrainer *) 0 ;
+  SwigValueWrapper< Dali::Property > arg2 ;
+  SwigValueWrapper< Dali::Property > arg3 ;
+  Dali::Vector2 *arg4 = 0 ;
+  Dali::Vector2 *arg5 = 0 ;
+  Dali::Property *argp2 ;
+  Dali::Property *argp3 ;
+  
+  arg1 = (Dali::LinearConstrainer *)jarg1; 
+  argp2 = (Dali::Property *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::Property *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  arg4 = (Dali::Vector2 *)jarg4;
+  if (!arg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return ;
+  } 
+  arg5 = (Dali::Vector2 *)jarg5;
+  if (!arg5) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Apply(arg2,arg3,(Dali::Vector2 const &)*arg4,(Dali::Vector2 const &)*arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_LinearConstrainer_Apply__SWIG_1(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  Dali::LinearConstrainer *arg1 = (Dali::LinearConstrainer *) 0 ;
+  SwigValueWrapper< Dali::Property > arg2 ;
+  SwigValueWrapper< Dali::Property > arg3 ;
+  Dali::Vector2 *arg4 = 0 ;
+  Dali::Property *argp2 ;
+  Dali::Property *argp3 ;
+  
+  arg1 = (Dali::LinearConstrainer *)jarg1; 
+  argp2 = (Dali::Property *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::Property *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  arg4 = (Dali::Vector2 *)jarg4;
+  if (!arg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Apply(arg2,arg3,(Dali::Vector2 const &)*arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_LinearConstrainer_Remove(void * jarg1, void * jarg2) {
+  Dali::LinearConstrainer *arg1 = (Dali::LinearConstrainer *) 0 ;
+  Dali::Handle *arg2 = 0 ;
+  
+  arg1 = (Dali::LinearConstrainer *)jarg1; 
+  arg2 = (Dali::Handle *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Handle & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Remove(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PathConstrainer_Property_FORWARD_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::PathConstrainer::Property::FORWARD;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PathConstrainer_Property_POINTS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::PathConstrainer::Property::POINTS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PathConstrainer_Property_CONTROL_POINTS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::PathConstrainer::Property::CONTROL_POINTS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PathConstrainer_Property() {
+  void * jresult ;
+  Dali::PathConstrainer::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::PathConstrainer::Property *)new Dali::PathConstrainer::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PathConstrainer_Property(void * jarg1) {
+  Dali::PathConstrainer::Property *arg1 = (Dali::PathConstrainer::Property *) 0 ;
+  
+  arg1 = (Dali::PathConstrainer::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PathConstrainer_New() {
+  void * jresult ;
+  Dali::PathConstrainer result;
+  
+  {
+    try {
+      result = Dali::PathConstrainer::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PathConstrainer((const Dali::PathConstrainer &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PathConstrainer_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::PathConstrainer result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::PathConstrainer::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PathConstrainer((const Dali::PathConstrainer &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PathConstrainer__SWIG_0() {
+  void * jresult ;
+  Dali::PathConstrainer *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::PathConstrainer *)new Dali::PathConstrainer();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PathConstrainer(void * jarg1) {
+  Dali::PathConstrainer *arg1 = (Dali::PathConstrainer *) 0 ;
+  
+  arg1 = (Dali::PathConstrainer *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PathConstrainer__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::PathConstrainer *arg1 = 0 ;
+  Dali::PathConstrainer *result = 0 ;
+  
+  arg1 = (Dali::PathConstrainer *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PathConstrainer const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::PathConstrainer *)new Dali::PathConstrainer((Dali::PathConstrainer const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PathConstrainer_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::PathConstrainer *arg1 = (Dali::PathConstrainer *) 0 ;
+  Dali::PathConstrainer *arg2 = 0 ;
+  Dali::PathConstrainer *result = 0 ;
+  
+  arg1 = (Dali::PathConstrainer *)jarg1; 
+  arg2 = (Dali::PathConstrainer *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PathConstrainer const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::PathConstrainer *) &(arg1)->operator =((Dali::PathConstrainer const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PathConstrainer_Apply__SWIG_0(void * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5) {
+  Dali::PathConstrainer *arg1 = (Dali::PathConstrainer *) 0 ;
+  SwigValueWrapper< Dali::Property > arg2 ;
+  SwigValueWrapper< Dali::Property > arg3 ;
+  Dali::Vector2 *arg4 = 0 ;
+  Dali::Vector2 *arg5 = 0 ;
+  Dali::Property *argp2 ;
+  Dali::Property *argp3 ;
+  
+  arg1 = (Dali::PathConstrainer *)jarg1; 
+  argp2 = (Dali::Property *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::Property *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  arg4 = (Dali::Vector2 *)jarg4;
+  if (!arg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return ;
+  } 
+  arg5 = (Dali::Vector2 *)jarg5;
+  if (!arg5) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Apply(arg2,arg3,(Dali::Vector2 const &)*arg4,(Dali::Vector2 const &)*arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PathConstrainer_Apply__SWIG_1(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  Dali::PathConstrainer *arg1 = (Dali::PathConstrainer *) 0 ;
+  SwigValueWrapper< Dali::Property > arg2 ;
+  SwigValueWrapper< Dali::Property > arg3 ;
+  Dali::Vector2 *arg4 = 0 ;
+  Dali::Property *argp2 ;
+  Dali::Property *argp3 ;
+  
+  arg1 = (Dali::PathConstrainer *)jarg1; 
+  argp2 = (Dali::Property *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::Property *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  arg4 = (Dali::Vector2 *)jarg4;
+  if (!arg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Apply(arg2,arg3,(Dali::Vector2 const &)*arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PathConstrainer_Remove(void * jarg1, void * jarg2) {
+  Dali::PathConstrainer *arg1 = (Dali::PathConstrainer *) 0 ;
+  Dali::Handle *arg2 = 0 ;
+  
+  arg1 = (Dali::PathConstrainer *)jarg1; 
+  arg2 = (Dali::Handle *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Handle & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Remove(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_FittingModeDefault_get() {
+  int jresult ;
+  Dali::FittingMode::Type result;
+  
+  result = (Dali::FittingMode::Type)(Dali::FittingMode::Type)Dali::FittingMode::DEFAULT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_DEFAULT_get() {
+  int jresult ;
+  Dali::SamplingMode::Type result;
+  
+  result = (Dali::SamplingMode::Type)(Dali::SamplingMode::Type)Dali::SamplingMode::DEFAULT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_BufferImage__SWIG_0() {
+  void * jresult ;
+  Dali::BufferImage *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::BufferImage *)new Dali::BufferImage();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_BufferImage_New__SWIG_0(unsigned int jarg1, unsigned int jarg2, int jarg3) {
+  void * jresult ;
+  unsigned int arg1 ;
+  unsigned int arg2 ;
+  Dali::Pixel::Format arg3 ;
+  Dali::BufferImage result;
+  
+  arg1 = (unsigned int)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (Dali::Pixel::Format)jarg3; 
+  {
+    try {
+      result = Dali::BufferImage::New(arg1,arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::BufferImage((const Dali::BufferImage &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_BufferImage_New__SWIG_1(unsigned int jarg1, unsigned int jarg2) {
+  void * jresult ;
+  unsigned int arg1 ;
+  unsigned int arg2 ;
+  Dali::BufferImage result;
+  
+  arg1 = (unsigned int)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = Dali::BufferImage::New(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::BufferImage((const Dali::BufferImage &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_BufferImage_New__SWIG_2(unsigned char* jarg1, unsigned int jarg2, unsigned int jarg3, int jarg4, unsigned int jarg5) {
+  void * jresult ;
+  Dali::PixelBuffer *arg1 = (Dali::PixelBuffer *) 0 ;
+  unsigned int arg2 ;
+  unsigned int arg3 ;
+  Dali::Pixel::Format arg4 ;
+  unsigned int arg5 ;
+  Dali::BufferImage result;
+  
+  arg1 = jarg1;
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (unsigned int)jarg3; 
+  arg4 = (Dali::Pixel::Format)jarg4; 
+  arg5 = (unsigned int)jarg5; 
+  {
+    try {
+      result = Dali::BufferImage::New(arg1,arg2,arg3,arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::BufferImage((const Dali::BufferImage &)result); 
+  
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_BufferImage_New__SWIG_3(unsigned char* jarg1, unsigned int jarg2, unsigned int jarg3, int jarg4) {
+  void * jresult ;
+  Dali::PixelBuffer *arg1 = (Dali::PixelBuffer *) 0 ;
+  unsigned int arg2 ;
+  unsigned int arg3 ;
+  Dali::Pixel::Format arg4 ;
+  Dali::BufferImage result;
+  
+  arg1 = jarg1;
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (unsigned int)jarg3; 
+  arg4 = (Dali::Pixel::Format)jarg4; 
+  {
+    try {
+      result = Dali::BufferImage::New(arg1,arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::BufferImage((const Dali::BufferImage &)result); 
+  
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_BufferImage_New__SWIG_4(unsigned char* jarg1, unsigned int jarg2, unsigned int jarg3) {
+  void * jresult ;
+  Dali::PixelBuffer *arg1 = (Dali::PixelBuffer *) 0 ;
+  unsigned int arg2 ;
+  unsigned int arg3 ;
+  Dali::BufferImage result;
+  
+  arg1 = jarg1;
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (unsigned int)jarg3; 
+  {
+    try {
+      result = Dali::BufferImage::New(arg1,arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::BufferImage((const Dali::BufferImage &)result); 
+  
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_BufferImage_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::BufferImage result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::BufferImage::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::BufferImage((const Dali::BufferImage &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_BufferImage(void * jarg1) {
+  Dali::BufferImage *arg1 = (Dali::BufferImage *) 0 ;
+  
+  arg1 = (Dali::BufferImage *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_BufferImage__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::BufferImage *arg1 = 0 ;
+  Dali::BufferImage *result = 0 ;
+  
+  arg1 = (Dali::BufferImage *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::BufferImage const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::BufferImage *)new Dali::BufferImage((Dali::BufferImage const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_BufferImage_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::BufferImage *arg1 = (Dali::BufferImage *) 0 ;
+  Dali::BufferImage *arg2 = 0 ;
+  Dali::BufferImage *result = 0 ;
+  
+  arg1 = (Dali::BufferImage *)jarg1; 
+  arg2 = (Dali::BufferImage *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::BufferImage const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::BufferImage *) &(arg1)->operator =((Dali::BufferImage const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_BufferImage_WHITE() {
+  void * jresult ;
+  Dali::BufferImage result;
+  
+  {
+    try {
+      result = Dali::BufferImage::WHITE();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::BufferImage((const Dali::BufferImage &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_BufferImage_GetBuffer(void * jarg1) {
+  void * jresult ;
+  Dali::BufferImage *arg1 = (Dali::BufferImage *) 0 ;
+  Dali::PixelBuffer *result = 0 ;
+  
+  arg1 = (Dali::BufferImage *)jarg1; 
+  {
+    try {
+      result = (Dali::PixelBuffer *)(arg1)->GetBuffer();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_BufferImage_GetBufferSize(void * jarg1) {
+  unsigned int jresult ;
+  Dali::BufferImage *arg1 = (Dali::BufferImage *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::BufferImage *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::BufferImage const *)arg1)->GetBufferSize();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_BufferImage_GetBufferStride(void * jarg1) {
+  unsigned int jresult ;
+  Dali::BufferImage *arg1 = (Dali::BufferImage *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::BufferImage *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::BufferImage const *)arg1)->GetBufferStride();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_BufferImage_GetPixelFormat(void * jarg1) {
+  int jresult ;
+  Dali::BufferImage *arg1 = (Dali::BufferImage *) 0 ;
+  Dali::Pixel::Format result;
+  
+  arg1 = (Dali::BufferImage *)jarg1; 
+  {
+    try {
+      result = (Dali::Pixel::Format)((Dali::BufferImage const *)arg1)->GetPixelFormat();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_BufferImage_Update__SWIG_0(void * jarg1) {
+  Dali::BufferImage *arg1 = (Dali::BufferImage *) 0 ;
+  
+  arg1 = (Dali::BufferImage *)jarg1; 
+  {
+    try {
+      (arg1)->Update();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_BufferImage_Update__SWIG_1(void * jarg1, void * jarg2) {
+  Dali::BufferImage *arg1 = (Dali::BufferImage *) 0 ;
+  SwigValueWrapper< Dali::Rect< unsigned int > > arg2 ;
+  Dali::RectArea *argp2 ;
+  
+  arg1 = (Dali::BufferImage *)jarg1; 
+  argp2 = (Dali::RectArea *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::RectArea", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->Update(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_BufferImage_IsDataExternal(void * jarg1) {
+  unsigned int jresult ;
+  Dali::BufferImage *arg1 = (Dali::BufferImage *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::BufferImage *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::BufferImage const *)arg1)->IsDataExternal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_EncodedBufferImage__SWIG_0() {
+  void * jresult ;
+  Dali::EncodedBufferImage *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::EncodedBufferImage *)new Dali::EncodedBufferImage();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_EncodedBufferImage_New__SWIG_0(void * jarg1, unsigned long jarg2) {
+  void * jresult ;
+  uint8_t *arg1 = (uint8_t *) (uint8_t *)0 ;
+  std::size_t arg2 ;
+  Dali::EncodedBufferImage result;
+  
+  arg1 = (uint8_t *)jarg1; 
+  arg2 = (std::size_t)jarg2; 
+  {
+    try {
+      result = Dali::EncodedBufferImage::New((uint8_t const *)arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::EncodedBufferImage((const Dali::EncodedBufferImage &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_EncodedBufferImage_New__SWIG_1(void * jarg1, unsigned long jarg2, void * jarg3, int jarg4, int jarg5, unsigned int jarg6) {
+  void * jresult ;
+  uint8_t *arg1 = (uint8_t *) (uint8_t *)0 ;
+  std::size_t arg2 ;
+  Dali::ImageDimensions arg3 ;
+  Dali::FittingMode::Type arg4 ;
+  Dali::SamplingMode::Type arg5 ;
+  bool arg6 ;
+  Dali::ImageDimensions *argp3 ;
+  Dali::EncodedBufferImage result;
+  
+  arg1 = (uint8_t *)jarg1; 
+  arg2 = (std::size_t)jarg2; 
+  argp3 = (Dali::ImageDimensions *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg3 = *argp3; 
+  arg4 = (Dali::FittingMode::Type)jarg4; 
+  arg5 = (Dali::SamplingMode::Type)jarg5; 
+  arg6 = jarg6 ? true : false; 
+  {
+    try {
+      result = Dali::EncodedBufferImage::New((uint8_t const *)arg1,arg2,arg3,arg4,arg5,arg6);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::EncodedBufferImage((const Dali::EncodedBufferImage &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_EncodedBufferImage_New__SWIG_2(void * jarg1, unsigned long jarg2, void * jarg3, int jarg4, int jarg5) {
+  void * jresult ;
+  uint8_t *arg1 = (uint8_t *) (uint8_t *)0 ;
+  std::size_t arg2 ;
+  Dali::ImageDimensions arg3 ;
+  Dali::FittingMode::Type arg4 ;
+  Dali::SamplingMode::Type arg5 ;
+  Dali::ImageDimensions *argp3 ;
+  Dali::EncodedBufferImage result;
+  
+  arg1 = (uint8_t *)jarg1; 
+  arg2 = (std::size_t)jarg2; 
+  argp3 = (Dali::ImageDimensions *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg3 = *argp3; 
+  arg4 = (Dali::FittingMode::Type)jarg4; 
+  arg5 = (Dali::SamplingMode::Type)jarg5; 
+  {
+    try {
+      result = Dali::EncodedBufferImage::New((uint8_t const *)arg1,arg2,arg3,arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::EncodedBufferImage((const Dali::EncodedBufferImage &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_EncodedBufferImage_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::EncodedBufferImage result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::EncodedBufferImage::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::EncodedBufferImage((const Dali::EncodedBufferImage &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_EncodedBufferImage(void * jarg1) {
+  Dali::EncodedBufferImage *arg1 = (Dali::EncodedBufferImage *) 0 ;
+  
+  arg1 = (Dali::EncodedBufferImage *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_EncodedBufferImage__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::EncodedBufferImage *arg1 = 0 ;
+  Dali::EncodedBufferImage *result = 0 ;
+  
+  arg1 = (Dali::EncodedBufferImage *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::EncodedBufferImage const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::EncodedBufferImage *)new Dali::EncodedBufferImage((Dali::EncodedBufferImage const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_EncodedBufferImage_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::EncodedBufferImage *arg1 = (Dali::EncodedBufferImage *) 0 ;
+  Dali::EncodedBufferImage *arg2 = 0 ;
+  Dali::EncodedBufferImage *result = 0 ;
+  
+  arg1 = (Dali::EncodedBufferImage *)jarg1; 
+  arg2 = (Dali::EncodedBufferImage *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::EncodedBufferImage const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::EncodedBufferImage *) &(arg1)->operator =((Dali::EncodedBufferImage const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_NativeImage__SWIG_0() {
+  void * jresult ;
+  Dali::NativeImage *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::NativeImage *)new Dali::NativeImage();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_NativeImage(void * jarg1) {
+  Dali::NativeImage *arg1 = (Dali::NativeImage *) 0 ;
+  
+  arg1 = (Dali::NativeImage *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_NativeImage__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::NativeImage *arg1 = 0 ;
+  Dali::NativeImage *result = 0 ;
+  
+  arg1 = (Dali::NativeImage *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::NativeImage const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::NativeImage *)new Dali::NativeImage((Dali::NativeImage const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_NativeImage_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::NativeImage *arg1 = (Dali::NativeImage *) 0 ;
+  Dali::NativeImage *arg2 = 0 ;
+  Dali::NativeImage *result = 0 ;
+  
+  arg1 = (Dali::NativeImage *)jarg1; 
+  arg2 = (Dali::NativeImage *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::NativeImage const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::NativeImage *) &(arg1)->operator =((Dali::NativeImage const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_NativeImage_CreateGlTexture(void * jarg1) {
+  Dali::NativeImage *arg1 = (Dali::NativeImage *) 0 ;
+  
+  arg1 = (Dali::NativeImage *)jarg1; 
+  {
+    try {
+      (arg1)->CreateGlTexture();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_NativeImage_New(void * jarg1) {
+  void * jresult ;
+  NativeImageInterface *arg1 = 0 ;
+  Dali::NativeImage result;
+  
+  arg1 = (NativeImageInterface *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "NativeImageInterface & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = Dali::NativeImage::New(*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::NativeImage((const Dali::NativeImage &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_NativeImage_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::NativeImage result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::NativeImage::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::NativeImage((const Dali::NativeImage &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_NativeImage_GetCustomFragmentPreFix(void * jarg1) {
+  char * jresult ;
+  Dali::NativeImage *arg1 = (Dali::NativeImage *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (Dali::NativeImage *)jarg1; 
+  {
+    try {
+      result = (char *)(arg1)->GetCustomFragmentPreFix();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_NativeImage_GetCustomSamplerTypename(void * jarg1) {
+  char * jresult ;
+  Dali::NativeImage *arg1 = (Dali::NativeImage *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (Dali::NativeImage *)jarg1; 
+  {
+    try {
+      result = (char *)(arg1)->GetCustomSamplerTypename();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_NativeImageInterface_GlExtensionCreate(void * jarg1) {
+  unsigned int jresult ;
+  Dali::NativeImageInterface *arg1 = (Dali::NativeImageInterface *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::NativeImageInterface *)jarg1; 
+  {
+    try {
+      result = (bool)(arg1)->GlExtensionCreate();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_NativeImageInterface_GlExtensionDestroy(void * jarg1) {
+  Dali::NativeImageInterface *arg1 = (Dali::NativeImageInterface *) 0 ;
+  
+  arg1 = (Dali::NativeImageInterface *)jarg1; 
+  {
+    try {
+      (arg1)->GlExtensionDestroy();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_NativeImageInterface_TargetTexture(void * jarg1) {
+  unsigned int jresult ;
+  Dali::NativeImageInterface *arg1 = (Dali::NativeImageInterface *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::NativeImageInterface *)jarg1; 
+  {
+    try {
+      result = (unsigned int)(arg1)->TargetTexture();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_NativeImageInterface_PrepareTexture(void * jarg1) {
+  Dali::NativeImageInterface *arg1 = (Dali::NativeImageInterface *) 0 ;
+  
+  arg1 = (Dali::NativeImageInterface *)jarg1; 
+  {
+    try {
+      (arg1)->PrepareTexture();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_NativeImageInterface_GetWidth(void * jarg1) {
+  unsigned int jresult ;
+  Dali::NativeImageInterface *arg1 = (Dali::NativeImageInterface *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::NativeImageInterface *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::NativeImageInterface const *)arg1)->GetWidth();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_NativeImageInterface_GetHeight(void * jarg1) {
+  unsigned int jresult ;
+  Dali::NativeImageInterface *arg1 = (Dali::NativeImageInterface *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::NativeImageInterface *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::NativeImageInterface const *)arg1)->GetHeight();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_NativeImageInterface_RequiresBlending(void * jarg1) {
+  unsigned int jresult ;
+  Dali::NativeImageInterface *arg1 = (Dali::NativeImageInterface *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::NativeImageInterface *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::NativeImageInterface const *)arg1)->RequiresBlending();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ResourceImage_GetImageSize(char * jarg1) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::ImageDimensions result;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  {
+    try {
+      result = Dali::ResourceImage::GetImageSize((std::string const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::ImageDimensions((const Dali::ImageDimensions &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ResourceImage__SWIG_0() {
+  void * jresult ;
+  Dali::ResourceImage *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::ResourceImage *)new Dali::ResourceImage();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ResourceImage(void * jarg1) {
+  Dali::ResourceImage *arg1 = (Dali::ResourceImage *) 0 ;
+  
+  arg1 = (Dali::ResourceImage *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ResourceImage__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::ResourceImage *arg1 = 0 ;
+  Dali::ResourceImage *result = 0 ;
+  
+  arg1 = (Dali::ResourceImage *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::ResourceImage const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::ResourceImage *)new Dali::ResourceImage((Dali::ResourceImage const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ResourceImage_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::ResourceImage *arg1 = (Dali::ResourceImage *) 0 ;
+  Dali::ResourceImage *arg2 = 0 ;
+  Dali::ResourceImage *result = 0 ;
+  
+  arg1 = (Dali::ResourceImage *)jarg1; 
+  arg2 = (Dali::ResourceImage *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::ResourceImage const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::ResourceImage *) &(arg1)->operator =((Dali::ResourceImage const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ResourceImage_New__SWIG_0(char * jarg1, unsigned int jarg2) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  bool arg2 ;
+  Dali::ResourceImage result;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      result = Dali::ResourceImage::New((std::string const &)*arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::ResourceImage((const Dali::ResourceImage &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ResourceImage_New__SWIG_1(char * jarg1) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::ResourceImage result;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  {
+    try {
+      result = Dali::ResourceImage::New((std::string const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::ResourceImage((const Dali::ResourceImage &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ResourceImage_New__SWIG_2(char * jarg1, void * jarg2, int jarg3, int jarg4, unsigned int jarg5) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::ImageDimensions arg2 ;
+  Dali::FittingMode::Type arg3 ;
+  Dali::SamplingMode::Type arg4 ;
+  bool arg5 ;
+  Dali::ImageDimensions *argp2 ;
+  Dali::ResourceImage result;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  argp2 = (Dali::ImageDimensions *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::FittingMode::Type)jarg3; 
+  arg4 = (Dali::SamplingMode::Type)jarg4; 
+  arg5 = jarg5 ? true : false; 
+  {
+    try {
+      result = Dali::ResourceImage::New((std::string const &)*arg1,arg2,arg3,arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::ResourceImage((const Dali::ResourceImage &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ResourceImage_New__SWIG_3(char * jarg1, void * jarg2, int jarg3, int jarg4) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::ImageDimensions arg2 ;
+  Dali::FittingMode::Type arg3 ;
+  Dali::SamplingMode::Type arg4 ;
+  Dali::ImageDimensions *argp2 ;
+  Dali::ResourceImage result;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  argp2 = (Dali::ImageDimensions *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::FittingMode::Type)jarg3; 
+  arg4 = (Dali::SamplingMode::Type)jarg4; 
+  {
+    try {
+      result = Dali::ResourceImage::New((std::string const &)*arg1,arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::ResourceImage((const Dali::ResourceImage &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ResourceImage_New__SWIG_4(char * jarg1, void * jarg2, int jarg3) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::ImageDimensions arg2 ;
+  Dali::FittingMode::Type arg3 ;
+  Dali::ImageDimensions *argp2 ;
+  Dali::ResourceImage result;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  argp2 = (Dali::ImageDimensions *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::FittingMode::Type)jarg3; 
+  {
+    try {
+      result = Dali::ResourceImage::New((std::string const &)*arg1,arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::ResourceImage((const Dali::ResourceImage &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ResourceImage_New__SWIG_5(char * jarg1, void * jarg2) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::ImageDimensions arg2 ;
+  Dali::ImageDimensions *argp2 ;
+  Dali::ResourceImage result;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  argp2 = (Dali::ImageDimensions *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = Dali::ResourceImage::New((std::string const &)*arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::ResourceImage((const Dali::ResourceImage &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ResourceImage_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::ResourceImage result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::ResourceImage::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::ResourceImage((const Dali::ResourceImage &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ResourceImage_GetLoadingState(void * jarg1) {
+  int jresult ;
+  Dali::ResourceImage *arg1 = (Dali::ResourceImage *) 0 ;
+  Dali::LoadingState result;
+  
+  arg1 = (Dali::ResourceImage *)jarg1; 
+  {
+    try {
+      result = (Dali::LoadingState)((Dali::ResourceImage const *)arg1)->GetLoadingState();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_ResourceImage_GetUrl(void * jarg1) {
+  char * jresult ;
+  Dali::ResourceImage *arg1 = (Dali::ResourceImage *) 0 ;
+  std::string result;
+  
+  arg1 = (Dali::ResourceImage *)jarg1; 
+  {
+    try {
+      result = ((Dali::ResourceImage const *)arg1)->GetUrl();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = SWIG_csharp_string_callback((&result)->c_str()); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ResourceImage_Reload(void * jarg1) {
+  Dali::ResourceImage *arg1 = (Dali::ResourceImage *) 0 ;
+  
+  arg1 = (Dali::ResourceImage *)jarg1; 
+  {
+    try {
+      (arg1)->Reload();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ResourceImage_LoadingFinishedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::ResourceImage *arg1 = (Dali::ResourceImage *) 0 ;
+  Dali::ResourceImage::ResourceImageSignal *result = 0 ;
+  
+  arg1 = (Dali::ResourceImage *)jarg1; 
+  {
+    try {
+      result = (Dali::ResourceImage::ResourceImageSignal *) &(arg1)->LoadingFinishedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_FrameBufferImage__SWIG_0() {
+  void * jresult ;
+  Dali::FrameBufferImage *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::FrameBufferImage *)new Dali::FrameBufferImage();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_FrameBufferImage_New__SWIG_0(unsigned int jarg1, unsigned int jarg2, int jarg3, int jarg4) {
+  void * jresult ;
+  unsigned int arg1 ;
+  unsigned int arg2 ;
+  Dali::Pixel::Format arg3 ;
+  Dali::RenderBuffer::Format arg4 ;
+  Dali::FrameBufferImage result;
+  
+  arg1 = (unsigned int)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (Dali::Pixel::Format)jarg3; 
+  arg4 = (Dali::RenderBuffer::Format)jarg4; 
+  {
+    try {
+      result = Dali::FrameBufferImage::New(arg1,arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::FrameBufferImage((const Dali::FrameBufferImage &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_FrameBufferImage_New__SWIG_1(unsigned int jarg1, unsigned int jarg2, int jarg3) {
+  void * jresult ;
+  unsigned int arg1 ;
+  unsigned int arg2 ;
+  Dali::Pixel::Format arg3 ;
+  Dali::FrameBufferImage result;
+  
+  arg1 = (unsigned int)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (Dali::Pixel::Format)jarg3; 
+  {
+    try {
+      result = Dali::FrameBufferImage::New(arg1,arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::FrameBufferImage((const Dali::FrameBufferImage &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_FrameBufferImage_New__SWIG_2(unsigned int jarg1, unsigned int jarg2) {
+  void * jresult ;
+  unsigned int arg1 ;
+  unsigned int arg2 ;
+  Dali::FrameBufferImage result;
+  
+  arg1 = (unsigned int)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = Dali::FrameBufferImage::New(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::FrameBufferImage((const Dali::FrameBufferImage &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_FrameBufferImage_New__SWIG_3(unsigned int jarg1) {
+  void * jresult ;
+  unsigned int arg1 ;
+  Dali::FrameBufferImage result;
+  
+  arg1 = (unsigned int)jarg1; 
+  {
+    try {
+      result = Dali::FrameBufferImage::New(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::FrameBufferImage((const Dali::FrameBufferImage &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_FrameBufferImage_New__SWIG_4() {
+  void * jresult ;
+  Dali::FrameBufferImage result;
+  
+  {
+    try {
+      result = Dali::FrameBufferImage::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::FrameBufferImage((const Dali::FrameBufferImage &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_FrameBufferImage_New__SWIG_5(void * jarg1) {
+  void * jresult ;
+  Dali::NativeImageInterface *arg1 = 0 ;
+  Dali::FrameBufferImage result;
+  
+  arg1 = (Dali::NativeImageInterface *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::NativeImageInterface & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = Dali::FrameBufferImage::New(*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::FrameBufferImage((const Dali::FrameBufferImage &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_FrameBufferImage_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::FrameBufferImage result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::FrameBufferImage::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::FrameBufferImage((const Dali::FrameBufferImage &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_FrameBufferImage(void * jarg1) {
+  Dali::FrameBufferImage *arg1 = (Dali::FrameBufferImage *) 0 ;
+  
+  arg1 = (Dali::FrameBufferImage *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_FrameBufferImage__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::FrameBufferImage *arg1 = 0 ;
+  Dali::FrameBufferImage *result = 0 ;
+  
+  arg1 = (Dali::FrameBufferImage *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::FrameBufferImage const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::FrameBufferImage *)new Dali::FrameBufferImage((Dali::FrameBufferImage const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_FrameBufferImage_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::FrameBufferImage *arg1 = (Dali::FrameBufferImage *) 0 ;
+  Dali::FrameBufferImage *arg2 = 0 ;
+  Dali::FrameBufferImage *result = 0 ;
+  
+  arg1 = (Dali::FrameBufferImage *)jarg1; 
+  arg2 = (Dali::FrameBufferImage *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::FrameBufferImage const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::FrameBufferImage *) &(arg1)->operator =((Dali::FrameBufferImage const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_NinePatchImage__SWIG_0() {
+  void * jresult ;
+  Dali::NinePatchImage *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::NinePatchImage *)new Dali::NinePatchImage();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_NinePatchImage_New(char * jarg1) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::NinePatchImage result;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  {
+    try {
+      result = Dali::NinePatchImage::New((std::string const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::NinePatchImage((const Dali::NinePatchImage &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_NinePatchImage_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::NinePatchImage result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::NinePatchImage::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::NinePatchImage((const Dali::NinePatchImage &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_NinePatchImage(void * jarg1) {
+  Dali::NinePatchImage *arg1 = (Dali::NinePatchImage *) 0 ;
+  
+  arg1 = (Dali::NinePatchImage *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_NinePatchImage__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::NinePatchImage *arg1 = 0 ;
+  Dali::NinePatchImage *result = 0 ;
+  
+  arg1 = (Dali::NinePatchImage *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::NinePatchImage const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::NinePatchImage *)new Dali::NinePatchImage((Dali::NinePatchImage const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_NinePatchImage_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::NinePatchImage *arg1 = (Dali::NinePatchImage *) 0 ;
+  Dali::NinePatchImage *arg2 = 0 ;
+  Dali::NinePatchImage *result = 0 ;
+  
+  arg1 = (Dali::NinePatchImage *)jarg1; 
+  arg2 = (Dali::NinePatchImage *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::NinePatchImage const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::NinePatchImage *) &(arg1)->operator =((Dali::NinePatchImage const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_NinePatchImage_GetStretchBorders(void * jarg1) {
+  void * jresult ;
+  Dali::NinePatchImage *arg1 = (Dali::NinePatchImage *) 0 ;
+  Dali::Vector4 result;
+  
+  arg1 = (Dali::NinePatchImage *)jarg1; 
+  {
+    try {
+      result = (arg1)->GetStretchBorders();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector4((const Dali::Vector4 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_NinePatchImage_GetStretchPixelsX(void * jarg1) {
+  void * jresult ;
+  Dali::NinePatchImage *arg1 = (Dali::NinePatchImage *) 0 ;
+  Dali::NinePatchImage::StretchRanges *result = 0 ;
+  
+  arg1 = (Dali::NinePatchImage *)jarg1; 
+  {
+    try {
+      result = (Dali::NinePatchImage::StretchRanges *) &(arg1)->GetStretchPixelsX();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_NinePatchImage_GetStretchPixelsY(void * jarg1) {
+  void * jresult ;
+  Dali::NinePatchImage *arg1 = (Dali::NinePatchImage *) 0 ;
+  Dali::NinePatchImage::StretchRanges *result = 0 ;
+  
+  arg1 = (Dali::NinePatchImage *)jarg1; 
+  {
+    try {
+      result = (Dali::NinePatchImage::StretchRanges *) &(arg1)->GetStretchPixelsY();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_NinePatchImage_GetChildRectangle(void * jarg1) {
+  void * jresult ;
+  Dali::NinePatchImage *arg1 = (Dali::NinePatchImage *) 0 ;
+  Dali::Rect< int > result;
+  
+  arg1 = (Dali::NinePatchImage *)jarg1; 
+  {
+    try {
+      result = (arg1)->GetChildRectangle();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Rect< int >((const Dali::Rect< int > &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_NinePatchImage_CreateCroppedBufferImage(void * jarg1) {
+  void * jresult ;
+  Dali::NinePatchImage *arg1 = (Dali::NinePatchImage *) 0 ;
+  Dali::BufferImage result;
+  
+  arg1 = (Dali::NinePatchImage *)jarg1; 
+  {
+    try {
+      result = (arg1)->CreateCroppedBufferImage();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::BufferImage((const Dali::BufferImage &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_NinePatchImage_IsNinePatchUrl(char * jarg1) {
+  unsigned int jresult ;
+  std::string *arg1 = 0 ;
+  bool result;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  {
+    try {
+      result = (bool)Dali::NinePatchImage::IsNinePatchUrl((std::string const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_CameraActor_Property_TYPE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::CameraActor::Property::TYPE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_CameraActor_Property_PROJECTION_MODE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::CameraActor::Property::PROJECTION_MODE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_CameraActor_Property_FIELD_OF_VIEW_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::CameraActor::Property::FIELD_OF_VIEW;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_CameraActor_Property_ASPECT_RATIO_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::CameraActor::Property::ASPECT_RATIO;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_CameraActor_Property_NEAR_PLANE_DISTANCE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::CameraActor::Property::NEAR_PLANE_DISTANCE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_CameraActor_Property_FAR_PLANE_DISTANCE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::CameraActor::Property::FAR_PLANE_DISTANCE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_CameraActor_Property_LEFT_PLANE_DISTANCE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::CameraActor::Property::LEFT_PLANE_DISTANCE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_CameraActor_Property_RIGHT_PLANE_DISTANCE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::CameraActor::Property::RIGHT_PLANE_DISTANCE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_CameraActor_Property_TOP_PLANE_DISTANCE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::CameraActor::Property::TOP_PLANE_DISTANCE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_CameraActor_Property_BOTTOM_PLANE_DISTANCE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::CameraActor::Property::BOTTOM_PLANE_DISTANCE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_CameraActor_Property_TARGET_POSITION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::CameraActor::Property::TARGET_POSITION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_CameraActor_Property_PROJECTION_MATRIX_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::CameraActor::Property::PROJECTION_MATRIX;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_CameraActor_Property_VIEW_MATRIX_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::CameraActor::Property::VIEW_MATRIX;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_CameraActor_Property_INVERT_Y_AXIS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::CameraActor::Property::INVERT_Y_AXIS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_CameraActor_Property() {
+  void * jresult ;
+  Dali::CameraActor::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::CameraActor::Property *)new Dali::CameraActor::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_CameraActor_Property(void * jarg1) {
+  Dali::CameraActor::Property *arg1 = (Dali::CameraActor::Property *) 0 ;
+  
+  arg1 = (Dali::CameraActor::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_CameraActor__SWIG_0() {
+  void * jresult ;
+  Dali::CameraActor *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::CameraActor *)new Dali::CameraActor();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_CameraActor_New__SWIG_0() {
+  void * jresult ;
+  Dali::CameraActor result;
+  
+  {
+    try {
+      result = Dali::CameraActor::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::CameraActor((const Dali::CameraActor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_CameraActor_New__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Size *arg1 = 0 ;
+  Dali::CameraActor result;
+  
+  arg1 = (Dali::Size *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Size const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = Dali::CameraActor::New((Dali::Vector2 const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::CameraActor((const Dali::CameraActor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_CameraActor_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::CameraActor result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::CameraActor::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::CameraActor((const Dali::CameraActor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_CameraActor(void * jarg1) {
+  Dali::CameraActor *arg1 = (Dali::CameraActor *) 0 ;
+  
+  arg1 = (Dali::CameraActor *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_CameraActor__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::CameraActor *arg1 = 0 ;
+  Dali::CameraActor *result = 0 ;
+  
+  arg1 = (Dali::CameraActor *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::CameraActor const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::CameraActor *)new Dali::CameraActor((Dali::CameraActor const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_CameraActor_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::CameraActor *arg1 = (Dali::CameraActor *) 0 ;
+  Dali::CameraActor *arg2 = 0 ;
+  Dali::CameraActor *result = 0 ;
+  
+  arg1 = (Dali::CameraActor *)jarg1; 
+  arg2 = (Dali::CameraActor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::CameraActor const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::CameraActor *) &(arg1)->operator =((Dali::CameraActor const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_CameraActor_SetType(void * jarg1, int jarg2) {
+  Dali::CameraActor *arg1 = (Dali::CameraActor *) 0 ;
+  Dali::Camera::Type arg2 ;
+  
+  arg1 = (Dali::CameraActor *)jarg1; 
+  arg2 = (Dali::Camera::Type)jarg2; 
+  {
+    try {
+      (arg1)->SetType(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_CameraActor_GetType(void * jarg1) {
+  int jresult ;
+  Dali::CameraActor *arg1 = (Dali::CameraActor *) 0 ;
+  Dali::Camera::Type result;
+  
+  arg1 = (Dali::CameraActor *)jarg1; 
+  {
+    try {
+      result = (Dali::Camera::Type)((Dali::CameraActor const *)arg1)->GetType();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_CameraActor_SetProjectionMode(void * jarg1, int jarg2) {
+  Dali::CameraActor *arg1 = (Dali::CameraActor *) 0 ;
+  Dali::Camera::ProjectionMode arg2 ;
+  
+  arg1 = (Dali::CameraActor *)jarg1; 
+  arg2 = (Dali::Camera::ProjectionMode)jarg2; 
+  {
+    try {
+      (arg1)->SetProjectionMode(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_CameraActor_GetProjectionMode(void * jarg1) {
+  int jresult ;
+  Dali::CameraActor *arg1 = (Dali::CameraActor *) 0 ;
+  Dali::Camera::ProjectionMode result;
+  
+  arg1 = (Dali::CameraActor *)jarg1; 
+  {
+    try {
+      result = (Dali::Camera::ProjectionMode)((Dali::CameraActor const *)arg1)->GetProjectionMode();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_CameraActor_SetFieldOfView(void * jarg1, float jarg2) {
+  Dali::CameraActor *arg1 = (Dali::CameraActor *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::CameraActor *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetFieldOfView(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_CameraActor_GetFieldOfView(void * jarg1) {
+  float jresult ;
+  Dali::CameraActor *arg1 = (Dali::CameraActor *) 0 ;
+  float result;
+  
+  arg1 = (Dali::CameraActor *)jarg1; 
+  {
+    try {
+      result = (float)(arg1)->GetFieldOfView();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_CameraActor_SetAspectRatio(void * jarg1, float jarg2) {
+  Dali::CameraActor *arg1 = (Dali::CameraActor *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::CameraActor *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetAspectRatio(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_CameraActor_GetAspectRatio(void * jarg1) {
+  float jresult ;
+  Dali::CameraActor *arg1 = (Dali::CameraActor *) 0 ;
+  float result;
+  
+  arg1 = (Dali::CameraActor *)jarg1; 
+  {
+    try {
+      result = (float)(arg1)->GetAspectRatio();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_CameraActor_SetNearClippingPlane(void * jarg1, float jarg2) {
+  Dali::CameraActor *arg1 = (Dali::CameraActor *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::CameraActor *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetNearClippingPlane(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_CameraActor_GetNearClippingPlane(void * jarg1) {
+  float jresult ;
+  Dali::CameraActor *arg1 = (Dali::CameraActor *) 0 ;
+  float result;
+  
+  arg1 = (Dali::CameraActor *)jarg1; 
+  {
+    try {
+      result = (float)(arg1)->GetNearClippingPlane();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_CameraActor_SetFarClippingPlane(void * jarg1, float jarg2) {
+  Dali::CameraActor *arg1 = (Dali::CameraActor *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::CameraActor *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetFarClippingPlane(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_CameraActor_GetFarClippingPlane(void * jarg1) {
+  float jresult ;
+  Dali::CameraActor *arg1 = (Dali::CameraActor *) 0 ;
+  float result;
+  
+  arg1 = (Dali::CameraActor *)jarg1; 
+  {
+    try {
+      result = (float)(arg1)->GetFarClippingPlane();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_CameraActor_SetTargetPosition(void * jarg1, void * jarg2) {
+  Dali::CameraActor *arg1 = (Dali::CameraActor *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  
+  arg1 = (Dali::CameraActor *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetTargetPosition((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_CameraActor_GetTargetPosition(void * jarg1) {
+  void * jresult ;
+  Dali::CameraActor *arg1 = (Dali::CameraActor *) 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::CameraActor *)jarg1; 
+  {
+    try {
+      result = ((Dali::CameraActor const *)arg1)->GetTargetPosition();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_CameraActor_SetInvertYAxis(void * jarg1, unsigned int jarg2) {
+  Dali::CameraActor *arg1 = (Dali::CameraActor *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::CameraActor *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetInvertYAxis(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_CameraActor_GetInvertYAxis(void * jarg1) {
+  unsigned int jresult ;
+  Dali::CameraActor *arg1 = (Dali::CameraActor *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::CameraActor *)jarg1; 
+  {
+    try {
+      result = (bool)(arg1)->GetInvertYAxis();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_CameraActor_SetPerspectiveProjection(void * jarg1, void * jarg2) {
+  Dali::CameraActor *arg1 = (Dali::CameraActor *) 0 ;
+  Dali::Size *arg2 = 0 ;
+  
+  arg1 = (Dali::CameraActor *)jarg1; 
+  arg2 = (Dali::Size *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Size const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetPerspectiveProjection((Dali::Size const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_CameraActor_SetOrthographicProjection__SWIG_0(void * jarg1, void * jarg2) {
+  Dali::CameraActor *arg1 = (Dali::CameraActor *) 0 ;
+  Dali::Size *arg2 = 0 ;
+  
+  arg1 = (Dali::CameraActor *)jarg1; 
+  arg2 = (Dali::Size *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Size const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetOrthographicProjection((Dali::Size const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_CameraActor_SetOrthographicProjection__SWIG_1(void * jarg1, float jarg2, float jarg3, float jarg4, float jarg5, float jarg6, float jarg7) {
+  Dali::CameraActor *arg1 = (Dali::CameraActor *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  float arg5 ;
+  float arg6 ;
+  float arg7 ;
+  
+  arg1 = (Dali::CameraActor *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  arg5 = (float)jarg5; 
+  arg6 = (float)jarg6; 
+  arg7 = (float)jarg7; 
+  {
+    try {
+      (arg1)->SetOrthographicProjection(arg2,arg3,arg4,arg5,arg6,arg7);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_StringValuePair__SWIG_0() {
+  void * jresult ;
+  std::pair< std::string,Dali::Property::Value > *result = 0 ;
+  
+  {
+    try {
+      result = (std::pair< std::string,Dali::Property::Value > *)new std::pair< std::string,Dali::Property::Value >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_StringValuePair__SWIG_1(char * jarg1, void * jarg2) {
+  void * jresult ;
+  std::string arg1 ;
+  Dali::Property::Value arg2 ;
+  Dali::Property::Value *argp2 ;
+  std::pair< std::string,Dali::Property::Value > *result = 0 ;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  (&arg1)->assign(jarg1); 
+  argp2 = (Dali::Property::Value *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property::Value", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (std::pair< std::string,Dali::Property::Value > *)new std::pair< std::string,Dali::Property::Value >(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_StringValuePair__SWIG_2(void * jarg1) {
+  void * jresult ;
+  std::pair< std::string,Dali::Property::Value > *arg1 = 0 ;
+  std::pair< std::string,Dali::Property::Value > *result = 0 ;
+  
+  arg1 = (std::pair< std::string,Dali::Property::Value > *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::pair< std::string,Dali::Property::Value > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (std::pair< std::string,Dali::Property::Value > *)new std::pair< std::string,Dali::Property::Value >((std::pair< std::string,Dali::Property::Value > const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_StringValuePair_first_set(void * jarg1, char * jarg2) {
+  std::pair< std::string,Dali::Property::Value > *arg1 = (std::pair< std::string,Dali::Property::Value > *) 0 ;
+  std::string *arg2 = 0 ;
+  
+  arg1 = (std::pair< std::string,Dali::Property::Value > *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  if (arg1) (arg1)->first = *arg2;
+  
+  //argout typemap for const std::string&
+  
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_StringValuePair_first_get(void * jarg1) {
+  char * jresult ;
+  std::pair< std::string,Dali::Property::Value > *arg1 = (std::pair< std::string,Dali::Property::Value > *) 0 ;
+  std::string *result = 0 ;
+  
+  arg1 = (std::pair< std::string,Dali::Property::Value > *)jarg1; 
+  result = (std::string *) & ((arg1)->first);
+  jresult = SWIG_csharp_string_callback(result->c_str()); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_StringValuePair_second_set(void * jarg1, void * jarg2) {
+  std::pair< std::string,Dali::Property::Value > *arg1 = (std::pair< std::string,Dali::Property::Value > *) 0 ;
+  Dali::Property::Value *arg2 = (Dali::Property::Value *) 0 ;
+  
+  arg1 = (std::pair< std::string,Dali::Property::Value > *)jarg1; 
+  arg2 = (Dali::Property::Value *)jarg2; 
+  if (arg1) (arg1)->second = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_StringValuePair_second_get(void * jarg1) {
+  void * jresult ;
+  std::pair< std::string,Dali::Property::Value > *arg1 = (std::pair< std::string,Dali::Property::Value > *) 0 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (std::pair< std::string,Dali::Property::Value > *)jarg1; 
+  result = (Dali::Property::Value *)& ((arg1)->second);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_StringValuePair(void * jarg1) {
+  std::pair< std::string,Dali::Property::Value > *arg1 = (std::pair< std::string,Dali::Property::Value > *) 0 ;
+  
+  arg1 = (std::pair< std::string,Dali::Property::Value > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchPointContainer_Clear(void * jarg1) {
+  std::vector< Dali::TouchPoint > *arg1 = (std::vector< Dali::TouchPoint > *) 0 ;
+  
+  arg1 = (std::vector< Dali::TouchPoint > *)jarg1; 
+  {
+    try {
+      (arg1)->clear();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchPointContainer_Add(void * jarg1, void * jarg2) {
+  std::vector< Dali::TouchPoint > *arg1 = (std::vector< Dali::TouchPoint > *) 0 ;
+  Dali::TouchPoint *arg2 = 0 ;
+  
+  arg1 = (std::vector< Dali::TouchPoint > *)jarg1; 
+  arg2 = (Dali::TouchPoint *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TouchPoint const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->push_back((Dali::TouchPoint const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TouchPointContainer_size(void * jarg1) {
+  unsigned long jresult ;
+  std::vector< Dali::TouchPoint > *arg1 = (std::vector< Dali::TouchPoint > *) 0 ;
+  std::vector< Dali::TouchPoint >::size_type result;
+  
+  arg1 = (std::vector< Dali::TouchPoint > *)jarg1; 
+  {
+    try {
+      result = ((std::vector< Dali::TouchPoint > const *)arg1)->size();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TouchPointContainer_capacity(void * jarg1) {
+  unsigned long jresult ;
+  std::vector< Dali::TouchPoint > *arg1 = (std::vector< Dali::TouchPoint > *) 0 ;
+  std::vector< Dali::TouchPoint >::size_type result;
+  
+  arg1 = (std::vector< Dali::TouchPoint > *)jarg1; 
+  {
+    try {
+      result = ((std::vector< Dali::TouchPoint > const *)arg1)->capacity();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchPointContainer_reserve(void * jarg1, unsigned long jarg2) {
+  std::vector< Dali::TouchPoint > *arg1 = (std::vector< Dali::TouchPoint > *) 0 ;
+  std::vector< Dali::TouchPoint >::size_type arg2 ;
+  
+  arg1 = (std::vector< Dali::TouchPoint > *)jarg1; 
+  arg2 = (std::vector< Dali::TouchPoint >::size_type)jarg2; 
+  {
+    try {
+      (arg1)->reserve(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TouchPointContainer__SWIG_0() {
+  void * jresult ;
+  std::vector< Dali::TouchPoint > *result = 0 ;
+  
+  {
+    try {
+      result = (std::vector< Dali::TouchPoint > *)new std::vector< Dali::TouchPoint >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TouchPointContainer__SWIG_1(void * jarg1) {
+  void * jresult ;
+  std::vector< Dali::TouchPoint > *arg1 = 0 ;
+  std::vector< Dali::TouchPoint > *result = 0 ;
+  
+  arg1 = (std::vector< Dali::TouchPoint > *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::vector< Dali::TouchPoint > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (std::vector< Dali::TouchPoint > *)new std::vector< Dali::TouchPoint >((std::vector< Dali::TouchPoint > const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TouchPointContainer__SWIG_2(int jarg1) {
+  void * jresult ;
+  int arg1 ;
+  std::vector< Dali::TouchPoint > *result = 0 ;
+  
+  arg1 = (int)jarg1; 
+  {
+    try {
+      try {
+        result = (std::vector< Dali::TouchPoint > *)new_std_vector_Sl_Dali_TouchPoint_Sg___SWIG_2(arg1);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return 0;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TouchPointContainer_getitemcopy(void * jarg1, int jarg2) {
+  void * jresult ;
+  std::vector< Dali::TouchPoint > *arg1 = (std::vector< Dali::TouchPoint > *) 0 ;
+  int arg2 ;
+  SwigValueWrapper< Dali::TouchPoint > result;
+  
+  arg1 = (std::vector< Dali::TouchPoint > *)jarg1; 
+  arg2 = (int)jarg2; 
+  {
+    try {
+      try {
+        result = std_vector_Sl_Dali_TouchPoint_Sg__getitemcopy(arg1,arg2);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return 0;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::TouchPoint((const Dali::TouchPoint &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TouchPointContainer_getitem(void * jarg1, int jarg2) {
+  void * jresult ;
+  std::vector< Dali::TouchPoint > *arg1 = (std::vector< Dali::TouchPoint > *) 0 ;
+  int arg2 ;
+  Dali::TouchPoint *result = 0 ;
+  
+  arg1 = (std::vector< Dali::TouchPoint > *)jarg1; 
+  arg2 = (int)jarg2; 
+  {
+    try {
+      try {
+        result = (Dali::TouchPoint *) &std_vector_Sl_Dali_TouchPoint_Sg__getitem(arg1,arg2);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return 0;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchPointContainer_setitem(void * jarg1, int jarg2, void * jarg3) {
+  std::vector< Dali::TouchPoint > *arg1 = (std::vector< Dali::TouchPoint > *) 0 ;
+  int arg2 ;
+  Dali::TouchPoint *arg3 = 0 ;
+  
+  arg1 = (std::vector< Dali::TouchPoint > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (Dali::TouchPoint *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TouchPoint const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      try {
+        std_vector_Sl_Dali_TouchPoint_Sg__setitem(arg1,arg2,(Dali::TouchPoint const &)*arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchPointContainer_AddRange(void * jarg1, void * jarg2) {
+  std::vector< Dali::TouchPoint > *arg1 = (std::vector< Dali::TouchPoint > *) 0 ;
+  std::vector< Dali::TouchPoint > *arg2 = 0 ;
+  
+  arg1 = (std::vector< Dali::TouchPoint > *)jarg1; 
+  arg2 = (std::vector< Dali::TouchPoint > *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::vector< Dali::TouchPoint > const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      std_vector_Sl_Dali_TouchPoint_Sg__AddRange(arg1,(std::vector< Dali::TouchPoint > const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TouchPointContainer_GetRange(void * jarg1, int jarg2, int jarg3) {
+  void * jresult ;
+  std::vector< Dali::TouchPoint > *arg1 = (std::vector< Dali::TouchPoint > *) 0 ;
+  int arg2 ;
+  int arg3 ;
+  std::vector< Dali::TouchPoint > *result = 0 ;
+  
+  arg1 = (std::vector< Dali::TouchPoint > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (int)jarg3; 
+  {
+    try {
+      try {
+        result = (std::vector< Dali::TouchPoint > *)std_vector_Sl_Dali_TouchPoint_Sg__GetRange(arg1,arg2,arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return 0;
+      }
+      catch(std::invalid_argument &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentException, (&_e)->what(), "");
+        return 0;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchPointContainer_Insert(void * jarg1, int jarg2, void * jarg3) {
+  std::vector< Dali::TouchPoint > *arg1 = (std::vector< Dali::TouchPoint > *) 0 ;
+  int arg2 ;
+  Dali::TouchPoint *arg3 = 0 ;
+  
+  arg1 = (std::vector< Dali::TouchPoint > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (Dali::TouchPoint *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TouchPoint const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      try {
+        std_vector_Sl_Dali_TouchPoint_Sg__Insert(arg1,arg2,(Dali::TouchPoint const &)*arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchPointContainer_InsertRange(void * jarg1, int jarg2, void * jarg3) {
+  std::vector< Dali::TouchPoint > *arg1 = (std::vector< Dali::TouchPoint > *) 0 ;
+  int arg2 ;
+  std::vector< Dali::TouchPoint > *arg3 = 0 ;
+  
+  arg1 = (std::vector< Dali::TouchPoint > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (std::vector< Dali::TouchPoint > *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::vector< Dali::TouchPoint > const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      try {
+        std_vector_Sl_Dali_TouchPoint_Sg__InsertRange(arg1,arg2,(std::vector< Dali::TouchPoint > const &)*arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchPointContainer_RemoveAt(void * jarg1, int jarg2) {
+  std::vector< Dali::TouchPoint > *arg1 = (std::vector< Dali::TouchPoint > *) 0 ;
+  int arg2 ;
+  
+  arg1 = (std::vector< Dali::TouchPoint > *)jarg1; 
+  arg2 = (int)jarg2; 
+  {
+    try {
+      try {
+        std_vector_Sl_Dali_TouchPoint_Sg__RemoveAt(arg1,arg2);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchPointContainer_RemoveRange(void * jarg1, int jarg2, int jarg3) {
+  std::vector< Dali::TouchPoint > *arg1 = (std::vector< Dali::TouchPoint > *) 0 ;
+  int arg2 ;
+  int arg3 ;
+  
+  arg1 = (std::vector< Dali::TouchPoint > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (int)jarg3; 
+  {
+    try {
+      try {
+        std_vector_Sl_Dali_TouchPoint_Sg__RemoveRange(arg1,arg2,arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      catch(std::invalid_argument &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentException, (&_e)->what(), "");
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TouchPointContainer_Repeat(void * jarg1, int jarg2) {
+  void * jresult ;
+  Dali::TouchPoint *arg1 = 0 ;
+  int arg2 ;
+  std::vector< Dali::TouchPoint > *result = 0 ;
+  
+  arg1 = (Dali::TouchPoint *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TouchPoint const & type is null", 0);
+    return 0;
+  } 
+  arg2 = (int)jarg2; 
+  {
+    try {
+      try {
+        result = (std::vector< Dali::TouchPoint > *)std_vector_Sl_Dali_TouchPoint_Sg__Repeat((Dali::TouchPoint const &)*arg1,arg2);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return 0;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchPointContainer_Reverse__SWIG_0(void * jarg1) {
+  std::vector< Dali::TouchPoint > *arg1 = (std::vector< Dali::TouchPoint > *) 0 ;
+  
+  arg1 = (std::vector< Dali::TouchPoint > *)jarg1; 
+  {
+    try {
+      std_vector_Sl_Dali_TouchPoint_Sg__Reverse__SWIG_0(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchPointContainer_Reverse__SWIG_1(void * jarg1, int jarg2, int jarg3) {
+  std::vector< Dali::TouchPoint > *arg1 = (std::vector< Dali::TouchPoint > *) 0 ;
+  int arg2 ;
+  int arg3 ;
+  
+  arg1 = (std::vector< Dali::TouchPoint > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (int)jarg3; 
+  {
+    try {
+      try {
+        std_vector_Sl_Dali_TouchPoint_Sg__Reverse__SWIG_1(arg1,arg2,arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      catch(std::invalid_argument &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentException, (&_e)->what(), "");
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchPointContainer_SetRange(void * jarg1, int jarg2, void * jarg3) {
+  std::vector< Dali::TouchPoint > *arg1 = (std::vector< Dali::TouchPoint > *) 0 ;
+  int arg2 ;
+  std::vector< Dali::TouchPoint > *arg3 = 0 ;
+  
+  arg1 = (std::vector< Dali::TouchPoint > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (std::vector< Dali::TouchPoint > *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::vector< Dali::TouchPoint > const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      try {
+        std_vector_Sl_Dali_TouchPoint_Sg__SetRange(arg1,arg2,(std::vector< Dali::TouchPoint > const &)*arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TouchPointContainer(void * jarg1) {
+  std::vector< Dali::TouchPoint > *arg1 = (std::vector< Dali::TouchPoint > *) 0 ;
+  
+  arg1 = (std::vector< Dali::TouchPoint > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Rectangle__SWIG_0() {
+  void * jresult ;
+  Dali::Rect< int > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Rect< int > *)new Dali::Rect< int >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Rectangle__SWIG_1(int jarg1, int jarg2, int jarg3, int jarg4) {
+  void * jresult ;
+  int arg1 ;
+  int arg2 ;
+  int arg3 ;
+  int arg4 ;
+  Dali::Rect< int > *result = 0 ;
+  
+  arg1 = (int)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (int)jarg3; 
+  arg4 = (int)jarg4; 
+  {
+    try {
+      result = (Dali::Rect< int > *)new Dali::Rect< int >(arg1,arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Rectangle__SWIG_2(void * jarg1) {
+  void * jresult ;
+  Dali::Rect< int > *arg1 = 0 ;
+  Dali::Rect< int > *result = 0 ;
+  
+  arg1 = (Dali::Rect< int > *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Rect< int > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Rect< int > *)new Dali::Rect< int >((Dali::Rect< int > const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Rectangle_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  Dali::Rect< int > *arg2 = 0 ;
+  Dali::Rect< int > *result = 0 ;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  arg2 = (Dali::Rect< int > *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Rect< int > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Rect< int > *) &(arg1)->operator =((Dali::Rect< int > const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Rectangle_Set(void * jarg1, int jarg2, int jarg3, int jarg4, int jarg5) {
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  int arg2 ;
+  int arg3 ;
+  int arg4 ;
+  int arg5 ;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (int)jarg3; 
+  arg4 = (int)jarg4; 
+  arg5 = (int)jarg5; 
+  {
+    try {
+      (arg1)->Set(arg2,arg3,arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Rectangle_IsEmpty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Rect< int > const *)arg1)->IsEmpty();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_Left(void * jarg1) {
+  int jresult ;
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  int result;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  {
+    try {
+      result = (int)((Dali::Rect< int > const *)arg1)->Left();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_Right(void * jarg1) {
+  int jresult ;
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  int result;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  {
+    try {
+      result = (int)((Dali::Rect< int > const *)arg1)->Right();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_Top(void * jarg1) {
+  int jresult ;
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  int result;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  {
+    try {
+      result = (int)((Dali::Rect< int > const *)arg1)->Top();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_Bottom(void * jarg1) {
+  int jresult ;
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  int result;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  {
+    try {
+      result = (int)((Dali::Rect< int > const *)arg1)->Bottom();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_Area(void * jarg1) {
+  int jresult ;
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  int result;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  {
+    try {
+      result = (int)((Dali::Rect< int > const *)arg1)->Area();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Rectangle_Intersects(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  Dali::Rect< int > *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  arg2 = (Dali::Rect< int > *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Rect< int > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Rect< int > const *)arg1)->Intersects((Dali::Rect< int > const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Rectangle_Contains(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  Dali::Rect< int > *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  arg2 = (Dali::Rect< int > *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Rect< int > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)((Dali::Rect< int > const *)arg1)->Contains((Dali::Rect< int > const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Rectangle_x_set(void * jarg1, int jarg2) {
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  int arg2 ;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->x = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_x_get(void * jarg1) {
+  int jresult ;
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  int result;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  result = (int) ((arg1)->x);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Rectangle_left_set(void * jarg1, int jarg2) {
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  int arg2 ;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->left = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_left_get(void * jarg1) {
+  int jresult ;
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  int result;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  result = (int) ((arg1)->left);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Rectangle_y_set(void * jarg1, int jarg2) {
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  int arg2 ;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->y = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_y_get(void * jarg1) {
+  int jresult ;
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  int result;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  result = (int) ((arg1)->y);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Rectangle_right_set(void * jarg1, int jarg2) {
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  int arg2 ;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->right = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_right_get(void * jarg1) {
+  int jresult ;
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  int result;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  result = (int) ((arg1)->right);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Rectangle_width_set(void * jarg1, int jarg2) {
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  int arg2 ;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->width = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_width_get(void * jarg1) {
+  int jresult ;
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  int result;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  result = (int) ((arg1)->width);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Rectangle_bottom_set(void * jarg1, int jarg2) {
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  int arg2 ;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->bottom = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_bottom_get(void * jarg1) {
+  int jresult ;
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  int result;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  result = (int) ((arg1)->bottom);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Rectangle_height_set(void * jarg1, int jarg2) {
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  int arg2 ;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->height = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_height_get(void * jarg1) {
+  int jresult ;
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  int result;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  result = (int) ((arg1)->height);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Rectangle_top_set(void * jarg1, int jarg2) {
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  int arg2 ;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->top = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Rectangle_top_get(void * jarg1) {
+  int jresult ;
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  int result;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  result = (int) ((arg1)->top);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Rectangle(void * jarg1) {
+  Dali::Rect< int > *arg1 = (Dali::Rect< int > *) 0 ;
+  
+  arg1 = (Dali::Rect< int > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PaddingType__SWIG_0() {
+  void * jresult ;
+  Dali::Rect< float > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Rect< float > *)new Dali::Rect< float >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PaddingType__SWIG_1(float jarg1, float jarg2, float jarg3, float jarg4) {
+  void * jresult ;
+  float arg1 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  Dali::Rect< float > *result = 0 ;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  {
+    try {
+      result = (Dali::Rect< float > *)new Dali::Rect< float >(arg1,arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PaddingType__SWIG_2(void * jarg1) {
+  void * jresult ;
+  Dali::Rect< float > *arg1 = 0 ;
+  Dali::Rect< float > *result = 0 ;
+  
+  arg1 = (Dali::Rect< float > *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Rect< float > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Rect< float > *)new Dali::Rect< float >((Dali::Rect< float > const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PaddingType_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  Dali::Rect< float > *arg2 = 0 ;
+  Dali::Rect< float > *result = 0 ;
+  
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg2 = (Dali::Rect< float > *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Rect< float > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Rect< float > *) &(arg1)->operator =((Dali::Rect< float > const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PaddingType_Set(void * jarg1, float jarg2, float jarg3, float jarg4, float jarg5) {
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  float arg5 ;
+  
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  arg5 = (float)jarg5; 
+  {
+    try {
+      (arg1)->Set(arg2,arg3,arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PaddingType_x_set(void * jarg1, float jarg2) {
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->x = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PaddingType_x_get(void * jarg1) {
+  float jresult ;
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  result = (float) ((arg1)->x);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PaddingType_left_set(void * jarg1, float jarg2) {
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->left = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PaddingType_left_get(void * jarg1) {
+  float jresult ;
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  result = (float) ((arg1)->left);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PaddingType_y_set(void * jarg1, float jarg2) {
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->y = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PaddingType_y_get(void * jarg1) {
+  float jresult ;
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  result = (float) ((arg1)->y);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PaddingType_right_set(void * jarg1, float jarg2) {
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->right = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PaddingType_right_get(void * jarg1) {
+  float jresult ;
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  result = (float) ((arg1)->right);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PaddingType_width_set(void * jarg1, float jarg2) {
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->width = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PaddingType_width_get(void * jarg1) {
+  float jresult ;
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  result = (float) ((arg1)->width);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PaddingType_bottom_set(void * jarg1, float jarg2) {
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->bottom = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PaddingType_bottom_get(void * jarg1) {
+  float jresult ;
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  result = (float) ((arg1)->bottom);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PaddingType_height_set(void * jarg1, float jarg2) {
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->height = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PaddingType_height_get(void * jarg1) {
+  float jresult ;
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  result = (float) ((arg1)->height);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PaddingType_top_set(void * jarg1, float jarg2) {
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->top = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_PaddingType_top_get(void * jarg1) {
+  float jresult ;
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  result = (float) ((arg1)->top);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PaddingType(void * jarg1) {
+  Dali::Rect< float > *arg1 = (Dali::Rect< float > *) 0 ;
+  
+  arg1 = (Dali::Rect< float > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VectorInteger_BaseType_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Vector< int >::BaseType;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorInteger__SWIG_0() {
+  void * jresult ;
+  Dali::Vector< int > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Vector< int > *)new Dali::Vector< int >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VectorInteger(void * jarg1) {
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorInteger__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Vector< int > *arg1 = 0 ;
+  Dali::Vector< int > *result = 0 ;
+  
+  arg1 = (Dali::Vector< int > *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< int > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector< int > *)new Dali::Vector< int >((Dali::Vector< int > const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorInteger_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int > *arg2 = 0 ;
+  Dali::Vector< int > *result = 0 ;
+  
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg2 = (Dali::Vector< int > *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< int > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector< int > *) &(arg1)->operator =((Dali::Vector< int > const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorInteger_Begin(void * jarg1) {
+  void * jresult ;
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int >::Iterator result;
+  
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  {
+    try {
+      result = (Dali::Vector< int >::Iterator)((Dali::Vector< int > const *)arg1)->Begin();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorInteger_End(void * jarg1) {
+  void * jresult ;
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int >::Iterator result;
+  
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  {
+    try {
+      result = (Dali::Vector< int >::Iterator)((Dali::Vector< int > const *)arg1)->End();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorInteger_ValueOfIndex__SWIG_0(void * jarg1, unsigned long jarg2) {
+  void * jresult ;
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int >::SizeType arg2 ;
+  Dali::Vector< int >::ItemType *result = 0 ;
+  
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg2 = (Dali::Vector< int >::SizeType)jarg2; 
+  {
+    try {
+      result = (Dali::Vector< int >::ItemType *) &(arg1)->operator [](arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_PushBack(void * jarg1, int jarg2) {
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int >::ItemType *arg2 = 0 ;
+  Dali::Vector< int >::ItemType temp2 ;
+  
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  temp2 = (Dali::Vector< int >::ItemType)jarg2; 
+  arg2 = &temp2; 
+  {
+    try {
+      (arg1)->PushBack((Dali::Vector< int >::ItemType const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Insert__SWIG_0(void * jarg1, void * jarg2, int jarg3) {
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int >::Iterator arg2 = (Dali::Vector< int >::Iterator) 0 ;
+  Dali::Vector< int >::ItemType *arg3 = 0 ;
+  Dali::Vector< int >::ItemType temp3 ;
+  
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg2 = (Dali::Vector< int >::Iterator)jarg2; 
+  temp3 = (Dali::Vector< int >::ItemType)jarg3; 
+  arg3 = &temp3; 
+  {
+    try {
+      (arg1)->Insert(arg2,(Dali::Vector< int >::ItemType const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Insert__SWIG_1(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int >::Iterator arg2 = (Dali::Vector< int >::Iterator) 0 ;
+  Dali::Vector< int >::Iterator arg3 = (Dali::Vector< int >::Iterator) 0 ;
+  Dali::Vector< int >::Iterator arg4 = (Dali::Vector< int >::Iterator) 0 ;
+  
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg2 = (Dali::Vector< int >::Iterator)jarg2; 
+  arg3 = (Dali::Vector< int >::Iterator)jarg3; 
+  arg4 = (Dali::Vector< int >::Iterator)jarg4; 
+  {
+    try {
+      (arg1)->Insert(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Reserve(void * jarg1, unsigned long jarg2) {
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int >::SizeType arg2 ;
+  
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg2 = (Dali::Vector< int >::SizeType)jarg2; 
+  {
+    try {
+      (arg1)->Reserve(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Resize__SWIG_0(void * jarg1, unsigned long jarg2) {
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int >::SizeType arg2 ;
+  
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg2 = (Dali::Vector< int >::SizeType)jarg2; 
+  {
+    try {
+      (arg1)->Resize(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Resize__SWIG_1(void * jarg1, unsigned long jarg2, int jarg3) {
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int >::SizeType arg2 ;
+  Dali::Vector< int >::ItemType *arg3 = 0 ;
+  Dali::Vector< int >::ItemType temp3 ;
+  
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg2 = (Dali::Vector< int >::SizeType)jarg2; 
+  temp3 = (Dali::Vector< int >::ItemType)jarg3; 
+  arg3 = &temp3; 
+  {
+    try {
+      (arg1)->Resize(arg2,(Dali::Vector< int >::ItemType const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorInteger_Erase__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int >::Iterator arg2 = (Dali::Vector< int >::Iterator) 0 ;
+  Dali::Vector< int >::Iterator result;
+  
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg2 = (Dali::Vector< int >::Iterator)jarg2; 
+  {
+    try {
+      result = (Dali::Vector< int >::Iterator)(arg1)->Erase(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorInteger_Erase__SWIG_1(void * jarg1, void * jarg2, void * jarg3) {
+  void * jresult ;
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int >::Iterator arg2 = (Dali::Vector< int >::Iterator) 0 ;
+  Dali::Vector< int >::Iterator arg3 = (Dali::Vector< int >::Iterator) 0 ;
+  Dali::Vector< int >::Iterator result;
+  
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg2 = (Dali::Vector< int >::Iterator)jarg2; 
+  arg3 = (Dali::Vector< int >::Iterator)jarg3; 
+  {
+    try {
+      result = (Dali::Vector< int >::Iterator)(arg1)->Erase(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Remove(void * jarg1, void * jarg2) {
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int >::Iterator arg2 = (Dali::Vector< int >::Iterator) 0 ;
+  
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg2 = (Dali::Vector< int >::Iterator)jarg2; 
+  {
+    try {
+      (arg1)->Remove(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Swap(void * jarg1, void * jarg2) {
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  Dali::Vector< int > *arg2 = 0 ;
+  
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  arg2 = (Dali::Vector< int > *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< int > & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Swap(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Clear(void * jarg1) {
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  {
+    try {
+      (arg1)->Clear();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorInteger_Release(void * jarg1) {
+  Dali::Vector< int > *arg1 = (Dali::Vector< int > *) 0 ;
+  
+  arg1 = (Dali::Vector< int > *)jarg1; 
+  {
+    try {
+      (arg1)->Release();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VectorFloat_BaseType_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Vector< float >::BaseType;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorFloat__SWIG_0() {
+  void * jresult ;
+  Dali::Vector< float > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Vector< float > *)new Dali::Vector< float >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VectorFloat(void * jarg1) {
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorFloat__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Vector< float > *arg1 = 0 ;
+  Dali::Vector< float > *result = 0 ;
+  
+  arg1 = (Dali::Vector< float > *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< float > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector< float > *)new Dali::Vector< float >((Dali::Vector< float > const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorFloat_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float > *arg2 = 0 ;
+  Dali::Vector< float > *result = 0 ;
+  
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg2 = (Dali::Vector< float > *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< float > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector< float > *) &(arg1)->operator =((Dali::Vector< float > const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorFloat_Begin(void * jarg1) {
+  void * jresult ;
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float >::Iterator result;
+  
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  {
+    try {
+      result = (Dali::Vector< float >::Iterator)((Dali::Vector< float > const *)arg1)->Begin();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorFloat_End(void * jarg1) {
+  void * jresult ;
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float >::Iterator result;
+  
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  {
+    try {
+      result = (Dali::Vector< float >::Iterator)((Dali::Vector< float > const *)arg1)->End();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorFloat_ValueOfIndex__SWIG_0(void * jarg1, unsigned long jarg2) {
+  void * jresult ;
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float >::SizeType arg2 ;
+  Dali::Vector< float >::ItemType *result = 0 ;
+  
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg2 = (Dali::Vector< float >::SizeType)jarg2; 
+  {
+    try {
+      result = (Dali::Vector< float >::ItemType *) &(arg1)->operator [](arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_PushBack(void * jarg1, float jarg2) {
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float >::ItemType *arg2 = 0 ;
+  Dali::Vector< float >::ItemType temp2 ;
+  
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  temp2 = (Dali::Vector< float >::ItemType)jarg2; 
+  arg2 = &temp2; 
+  {
+    try {
+      (arg1)->PushBack((Dali::Vector< float >::ItemType const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Insert__SWIG_0(void * jarg1, void * jarg2, float jarg3) {
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float >::Iterator arg2 = (Dali::Vector< float >::Iterator) 0 ;
+  Dali::Vector< float >::ItemType *arg3 = 0 ;
+  Dali::Vector< float >::ItemType temp3 ;
+  
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg2 = (Dali::Vector< float >::Iterator)jarg2; 
+  temp3 = (Dali::Vector< float >::ItemType)jarg3; 
+  arg3 = &temp3; 
+  {
+    try {
+      (arg1)->Insert(arg2,(Dali::Vector< float >::ItemType const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Insert__SWIG_1(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float >::Iterator arg2 = (Dali::Vector< float >::Iterator) 0 ;
+  Dali::Vector< float >::Iterator arg3 = (Dali::Vector< float >::Iterator) 0 ;
+  Dali::Vector< float >::Iterator arg4 = (Dali::Vector< float >::Iterator) 0 ;
+  
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg2 = (Dali::Vector< float >::Iterator)jarg2; 
+  arg3 = (Dali::Vector< float >::Iterator)jarg3; 
+  arg4 = (Dali::Vector< float >::Iterator)jarg4; 
+  {
+    try {
+      (arg1)->Insert(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Reserve(void * jarg1, unsigned long jarg2) {
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float >::SizeType arg2 ;
+  
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg2 = (Dali::Vector< float >::SizeType)jarg2; 
+  {
+    try {
+      (arg1)->Reserve(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Resize__SWIG_0(void * jarg1, unsigned long jarg2) {
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float >::SizeType arg2 ;
+  
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg2 = (Dali::Vector< float >::SizeType)jarg2; 
+  {
+    try {
+      (arg1)->Resize(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Resize__SWIG_1(void * jarg1, unsigned long jarg2, float jarg3) {
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float >::SizeType arg2 ;
+  Dali::Vector< float >::ItemType *arg3 = 0 ;
+  Dali::Vector< float >::ItemType temp3 ;
+  
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg2 = (Dali::Vector< float >::SizeType)jarg2; 
+  temp3 = (Dali::Vector< float >::ItemType)jarg3; 
+  arg3 = &temp3; 
+  {
+    try {
+      (arg1)->Resize(arg2,(Dali::Vector< float >::ItemType const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorFloat_Erase__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float >::Iterator arg2 = (Dali::Vector< float >::Iterator) 0 ;
+  Dali::Vector< float >::Iterator result;
+  
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg2 = (Dali::Vector< float >::Iterator)jarg2; 
+  {
+    try {
+      result = (Dali::Vector< float >::Iterator)(arg1)->Erase(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorFloat_Erase__SWIG_1(void * jarg1, void * jarg2, void * jarg3) {
+  void * jresult ;
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float >::Iterator arg2 = (Dali::Vector< float >::Iterator) 0 ;
+  Dali::Vector< float >::Iterator arg3 = (Dali::Vector< float >::Iterator) 0 ;
+  Dali::Vector< float >::Iterator result;
+  
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg2 = (Dali::Vector< float >::Iterator)jarg2; 
+  arg3 = (Dali::Vector< float >::Iterator)jarg3; 
+  {
+    try {
+      result = (Dali::Vector< float >::Iterator)(arg1)->Erase(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Remove(void * jarg1, void * jarg2) {
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float >::Iterator arg2 = (Dali::Vector< float >::Iterator) 0 ;
+  
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg2 = (Dali::Vector< float >::Iterator)jarg2; 
+  {
+    try {
+      (arg1)->Remove(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Swap(void * jarg1, void * jarg2) {
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  Dali::Vector< float > *arg2 = 0 ;
+  
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  arg2 = (Dali::Vector< float > *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< float > & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Swap(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Clear(void * jarg1) {
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  {
+    try {
+      (arg1)->Clear();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorFloat_Release(void * jarg1) {
+  Dali::Vector< float > *arg1 = (Dali::Vector< float > *) 0 ;
+  
+  arg1 = (Dali::Vector< float > *)jarg1; 
+  {
+    try {
+      (arg1)->Release();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_BaseType_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Vector< unsigned char >::BaseType;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorUnsignedChar__SWIG_0() {
+  void * jresult ;
+  Dali::Vector< unsigned char > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Vector< unsigned char > *)new Dali::Vector< unsigned char >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VectorUnsignedChar(void * jarg1) {
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorUnsignedChar__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Vector< unsigned char > *arg1 = 0 ;
+  Dali::Vector< unsigned char > *result = 0 ;
+  
+  arg1 = (Dali::Vector< unsigned char > *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< unsigned char > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector< unsigned char > *)new Dali::Vector< unsigned char >((Dali::Vector< unsigned char > const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char > *arg2 = 0 ;
+  Dali::Vector< unsigned char > *result = 0 ;
+  
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg2 = (Dali::Vector< unsigned char > *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< unsigned char > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector< unsigned char > *) &(arg1)->operator =((Dali::Vector< unsigned char > const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Begin(void * jarg1) {
+  void * jresult ;
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char >::Iterator result;
+  
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  {
+    try {
+      result = (Dali::Vector< unsigned char >::Iterator)((Dali::Vector< unsigned char > const *)arg1)->Begin();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_End(void * jarg1) {
+  void * jresult ;
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char >::Iterator result;
+  
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  {
+    try {
+      result = (Dali::Vector< unsigned char >::Iterator)((Dali::Vector< unsigned char > const *)arg1)->End();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_ValueOfIndex__SWIG_0(void * jarg1, unsigned long jarg2) {
+  void * jresult ;
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char >::SizeType arg2 ;
+  Dali::Vector< unsigned char >::ItemType *result = 0 ;
+  
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg2 = (Dali::Vector< unsigned char >::SizeType)jarg2; 
+  {
+    try {
+      result = (Dali::Vector< unsigned char >::ItemType *) &(arg1)->operator [](arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_PushBack(void * jarg1, unsigned char jarg2) {
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char >::ItemType *arg2 = 0 ;
+  Dali::Vector< unsigned char >::ItemType temp2 ;
+  
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  temp2 = (Dali::Vector< unsigned char >::ItemType)jarg2; 
+  arg2 = &temp2; 
+  {
+    try {
+      (arg1)->PushBack((Dali::Vector< unsigned char >::ItemType const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Insert__SWIG_0(void * jarg1, unsigned char* jarg2, unsigned char jarg3) {
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char >::Iterator arg2 = (Dali::Vector< unsigned char >::Iterator) 0 ;
+  Dali::Vector< unsigned char >::ItemType *arg3 = 0 ;
+  Dali::Vector< unsigned char >::ItemType temp3 ;
+  
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg2 = jarg2;
+  temp3 = (Dali::Vector< unsigned char >::ItemType)jarg3; 
+  arg3 = &temp3; 
+  {
+    try {
+      (arg1)->Insert(arg2,(Dali::Vector< unsigned char >::ItemType const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+  
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Insert__SWIG_1(void * jarg1, unsigned char* jarg2, void * jarg3, void * jarg4) {
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char >::Iterator arg2 = (Dali::Vector< unsigned char >::Iterator) 0 ;
+  Dali::Vector< unsigned char >::Iterator arg3 = (Dali::Vector< unsigned char >::Iterator) 0 ;
+  Dali::Vector< unsigned char >::Iterator arg4 = (Dali::Vector< unsigned char >::Iterator) 0 ;
+  
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg2 = jarg2;
+  arg3 = (Dali::Vector< unsigned char >::Iterator)jarg3; 
+  arg4 = (Dali::Vector< unsigned char >::Iterator)jarg4; 
+  {
+    try {
+      (arg1)->Insert(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+  
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Reserve(void * jarg1, unsigned long jarg2) {
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char >::SizeType arg2 ;
+  
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg2 = (Dali::Vector< unsigned char >::SizeType)jarg2; 
+  {
+    try {
+      (arg1)->Reserve(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Resize__SWIG_0(void * jarg1, unsigned long jarg2) {
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char >::SizeType arg2 ;
+  
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg2 = (Dali::Vector< unsigned char >::SizeType)jarg2; 
+  {
+    try {
+      (arg1)->Resize(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Resize__SWIG_1(void * jarg1, unsigned long jarg2, unsigned char jarg3) {
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char >::SizeType arg2 ;
+  Dali::Vector< unsigned char >::ItemType *arg3 = 0 ;
+  Dali::Vector< unsigned char >::ItemType temp3 ;
+  
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg2 = (Dali::Vector< unsigned char >::SizeType)jarg2; 
+  temp3 = (Dali::Vector< unsigned char >::ItemType)jarg3; 
+  arg3 = &temp3; 
+  {
+    try {
+      (arg1)->Resize(arg2,(Dali::Vector< unsigned char >::ItemType const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Erase__SWIG_0(void * jarg1, unsigned char* jarg2) {
+  void * jresult ;
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char >::Iterator arg2 = (Dali::Vector< unsigned char >::Iterator) 0 ;
+  Dali::Vector< unsigned char >::Iterator result;
+  
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg2 = jarg2;
+  {
+    try {
+      result = (Dali::Vector< unsigned char >::Iterator)(arg1)->Erase(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Erase__SWIG_1(void * jarg1, unsigned char* jarg2, void * jarg3) {
+  void * jresult ;
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char >::Iterator arg2 = (Dali::Vector< unsigned char >::Iterator) 0 ;
+  Dali::Vector< unsigned char >::Iterator arg3 = (Dali::Vector< unsigned char >::Iterator) 0 ;
+  Dali::Vector< unsigned char >::Iterator result;
+  
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg2 = jarg2;
+  arg3 = (Dali::Vector< unsigned char >::Iterator)jarg3; 
+  {
+    try {
+      result = (Dali::Vector< unsigned char >::Iterator)(arg1)->Erase(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Remove(void * jarg1, unsigned char* jarg2) {
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char >::Iterator arg2 = (Dali::Vector< unsigned char >::Iterator) 0 ;
+  
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg2 = jarg2;
+  {
+    try {
+      (arg1)->Remove(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+  
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Swap(void * jarg1, void * jarg2) {
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  Dali::Vector< unsigned char > *arg2 = 0 ;
+  
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  arg2 = (Dali::Vector< unsigned char > *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< unsigned char > & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Swap(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Clear(void * jarg1) {
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  {
+    try {
+      (arg1)->Clear();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUnsignedChar_Release(void * jarg1) {
+  Dali::Vector< unsigned char > *arg1 = (Dali::Vector< unsigned char > *) 0 ;
+  
+  arg1 = (Dali::Vector< unsigned char > *)jarg1; 
+  {
+    try {
+      (arg1)->Release();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VectorUint16Pair_BaseType_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Vector< Dali::Uint16Pair >::BaseType;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorUint16Pair__SWIG_0() {
+  void * jresult ;
+  Dali::Vector< Dali::Uint16Pair > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Vector< Dali::Uint16Pair > *)new Dali::Vector< Dali::Uint16Pair >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VectorUint16Pair(void * jarg1) {
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VectorUint16Pair__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Vector< Dali::Uint16Pair > *arg1 = 0 ;
+  Dali::Vector< Dali::Uint16Pair > *result = 0 ;
+  
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< Dali::Uint16Pair > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector< Dali::Uint16Pair > *)new Dali::Vector< Dali::Uint16Pair >((Dali::Vector< Dali::Uint16Pair > const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair > *arg2 = 0 ;
+  Dali::Vector< Dali::Uint16Pair > *result = 0 ;
+  
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg2 = (Dali::Vector< Dali::Uint16Pair > *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< Dali::Uint16Pair > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Vector< Dali::Uint16Pair > *) &(arg1)->operator =((Dali::Vector< Dali::Uint16Pair > const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Begin(void * jarg1) {
+  void * jresult ;
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::Iterator result;
+  
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  {
+    try {
+      result = (Dali::Vector< Dali::Uint16Pair >::Iterator)((Dali::Vector< Dali::Uint16Pair > const *)arg1)->Begin();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUint16Pair_End(void * jarg1) {
+  void * jresult ;
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::Iterator result;
+  
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  {
+    try {
+      result = (Dali::Vector< Dali::Uint16Pair >::Iterator)((Dali::Vector< Dali::Uint16Pair > const *)arg1)->End();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUint16Pair_ValueOfIndex__SWIG_0(void * jarg1, unsigned long jarg2) {
+  void * jresult ;
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::SizeType arg2 ;
+  Dali::Vector< Dali::Uint16Pair >::ItemType *result = 0 ;
+  
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg2 = (Dali::Vector< Dali::Uint16Pair >::SizeType)jarg2; 
+  {
+    try {
+      result = (Dali::Vector< Dali::Uint16Pair >::ItemType *) &(arg1)->operator [](arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_PushBack(void * jarg1, void * jarg2) {
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::ItemType *arg2 = 0 ;
+  
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg2 = (Dali::Vector< Dali::Uint16Pair >::ItemType *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< Dali::Uint16Pair >::ItemType const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->PushBack((Dali::Vector< Dali::Uint16Pair >::ItemType const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Insert__SWIG_0(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::Iterator arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::ItemType *arg3 = 0 ;
+  
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator)jarg2; 
+  arg3 = (Dali::Vector< Dali::Uint16Pair >::ItemType *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< Dali::Uint16Pair >::ItemType const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Insert(arg2,(Dali::Vector< Dali::Uint16Pair >::ItemType const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Insert__SWIG_1(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::Iterator arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::Iterator arg3 = (Dali::Vector< Dali::Uint16Pair >::Iterator) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::Iterator arg4 = (Dali::Vector< Dali::Uint16Pair >::Iterator) 0 ;
+  
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator)jarg2; 
+  arg3 = (Dali::Vector< Dali::Uint16Pair >::Iterator)jarg3; 
+  arg4 = (Dali::Vector< Dali::Uint16Pair >::Iterator)jarg4; 
+  {
+    try {
+      (arg1)->Insert(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Reserve(void * jarg1, unsigned long jarg2) {
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::SizeType arg2 ;
+  
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg2 = (Dali::Vector< Dali::Uint16Pair >::SizeType)jarg2; 
+  {
+    try {
+      (arg1)->Reserve(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Resize__SWIG_0(void * jarg1, unsigned long jarg2) {
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::SizeType arg2 ;
+  
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg2 = (Dali::Vector< Dali::Uint16Pair >::SizeType)jarg2; 
+  {
+    try {
+      (arg1)->Resize(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Resize__SWIG_1(void * jarg1, unsigned long jarg2, void * jarg3) {
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::SizeType arg2 ;
+  Dali::Vector< Dali::Uint16Pair >::ItemType *arg3 = 0 ;
+  
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg2 = (Dali::Vector< Dali::Uint16Pair >::SizeType)jarg2; 
+  arg3 = (Dali::Vector< Dali::Uint16Pair >::ItemType *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< Dali::Uint16Pair >::ItemType const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Resize(arg2,(Dali::Vector< Dali::Uint16Pair >::ItemType const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Erase__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::Iterator arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::Iterator result;
+  
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator)jarg2; 
+  {
+    try {
+      result = (Dali::Vector< Dali::Uint16Pair >::Iterator)(arg1)->Erase(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Erase__SWIG_1(void * jarg1, void * jarg2, void * jarg3) {
+  void * jresult ;
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::Iterator arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::Iterator arg3 = (Dali::Vector< Dali::Uint16Pair >::Iterator) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::Iterator result;
+  
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator)jarg2; 
+  arg3 = (Dali::Vector< Dali::Uint16Pair >::Iterator)jarg3; 
+  {
+    try {
+      result = (Dali::Vector< Dali::Uint16Pair >::Iterator)(arg1)->Erase(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Remove(void * jarg1, void * jarg2) {
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair >::Iterator arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator) 0 ;
+  
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg2 = (Dali::Vector< Dali::Uint16Pair >::Iterator)jarg2; 
+  {
+    try {
+      (arg1)->Remove(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Swap(void * jarg1, void * jarg2) {
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  Dali::Vector< Dali::Uint16Pair > *arg2 = 0 ;
+  
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  arg2 = (Dali::Vector< Dali::Uint16Pair > *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< Dali::Uint16Pair > & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Swap(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Clear(void * jarg1) {
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  {
+    try {
+      (arg1)->Clear();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VectorUint16Pair_Release(void * jarg1) {
+  Dali::Vector< Dali::Uint16Pair > *arg1 = (Dali::Vector< Dali::Uint16Pair > *) 0 ;
+  
+  arg1 = (Dali::Vector< Dali::Uint16Pair > *)jarg1; 
+  {
+    try {
+      (arg1)->Release();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VoidSignal() {
+  void * jresult ;
+  Dali::Signal< void () > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void () > *)new Dali::Signal< void () >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VoidSignal(void * jarg1) {
+  Dali::Signal< void () > *arg1 = (Dali::Signal< void () > *) 0 ;
+  
+  arg1 = (Dali::Signal< void () > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_VoidSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void () > *arg1 = (Dali::Signal< void () > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void () > *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Signal< void () > const *)arg1)->Empty();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_VoidSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void () > *arg1 = (Dali::Signal< void () > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void () > *)jarg1; 
+  {
+    try {
+      result = ((Dali::Signal< void () > const *)arg1)->GetConnectionCount();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VoidSignal_Connect__SWIG_0(void * jarg1, void * jarg2) {
+  Dali::Signal< void () > *arg1 = (Dali::Signal< void () > *) 0 ;
+  void (*arg2)() = (void (*)()) 0 ;
+  
+  arg1 = (Dali::Signal< void () > *)jarg1; 
+  arg2 = (void (*)())jarg2; 
+  {
+    try {
+      (arg1)->Connect(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VoidSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void () > *arg1 = (Dali::Signal< void () > *) 0 ;
+  void (*arg2)() = (void (*)()) 0 ;
+  
+  arg1 = (Dali::Signal< void () > *)jarg1; 
+  arg2 = (void (*)())jarg2; 
+  {
+    try {
+      (arg1)->Disconnect(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VoidSignal_Connect__SWIG_4(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Signal< void () > *arg1 = (Dali::Signal< void () > *) 0 ;
+  Dali::ConnectionTrackerInterface *arg2 = (Dali::ConnectionTrackerInterface *) 0 ;
+  Dali::FunctorDelegate *arg3 = (Dali::FunctorDelegate *) 0 ;
+  
+  arg1 = (Dali::Signal< void () > *)jarg1; 
+  arg2 = (Dali::ConnectionTrackerInterface *)jarg2; 
+  arg3 = (Dali::FunctorDelegate *)jarg3; 
+  {
+    try {
+      (arg1)->Connect(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VoidSignal_Emit(void * jarg1) {
+  Dali::Signal< void () > *arg1 = (Dali::Signal< void () > *) 0 ;
+  
+  arg1 = (Dali::Signal< void () > *)jarg1; 
+  {
+    try {
+      (arg1)->Emit();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_FloatSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (float) > *arg1 = (Dali::Signal< void (float) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (float) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_float_SP__Sg__Empty((Dali::Signal< void (float) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_FloatSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (float) > *arg1 = (Dali::Signal< void (float) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (float) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_float_SP__Sg__GetConnectionCount((Dali::Signal< void (float) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_FloatSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (float) > *arg1 = (Dali::Signal< void (float) > *) 0 ;
+  void (*arg2)(float) = (void (*)(float)) 0 ;
+  
+  arg1 = (Dali::Signal< void (float) > *)jarg1; 
+  arg2 = (void (*)(float))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_float_SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_FloatSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (float) > *arg1 = (Dali::Signal< void (float) > *) 0 ;
+  void (*arg2)(float) = (void (*)(float)) 0 ;
+  
+  arg1 = (Dali::Signal< void (float) > *)jarg1; 
+  arg2 = (void (*)(float))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_float_SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_FloatSignal_Emit(void * jarg1, float jarg2) {
+  Dali::Signal< void (float) > *arg1 = (Dali::Signal< void (float) > *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Signal< void (float) > *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_float_SP__Sg__Emit(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_FloatSignal() {
+  void * jresult ;
+  Dali::Signal< void (float) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (float) > *)new Dali::Signal< void (float) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_FloatSignal(void * jarg1) {
+  Dali::Signal< void (float) > *arg1 = (Dali::Signal< void (float) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (float) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ObjectCreatedSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::BaseHandle) > *arg1 = (Dali::Signal< void (Dali::BaseHandle) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::BaseHandle) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_BaseHandle_SP__Sg__Empty((Dali::Signal< void (Dali::BaseHandle) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ObjectCreatedSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::BaseHandle) > *arg1 = (Dali::Signal< void (Dali::BaseHandle) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::BaseHandle) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_BaseHandle_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::BaseHandle) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ObjectCreatedSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::BaseHandle) > *arg1 = (Dali::Signal< void (Dali::BaseHandle) > *) 0 ;
+  void (*arg2)(Dali::BaseHandle) = (void (*)(Dali::BaseHandle)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::BaseHandle) > *)jarg1; 
+  arg2 = (void (*)(Dali::BaseHandle))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_BaseHandle_SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ObjectCreatedSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::BaseHandle) > *arg1 = (Dali::Signal< void (Dali::BaseHandle) > *) 0 ;
+  void (*arg2)(Dali::BaseHandle) = (void (*)(Dali::BaseHandle)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::BaseHandle) > *)jarg1; 
+  arg2 = (void (*)(Dali::BaseHandle))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_BaseHandle_SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ObjectCreatedSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::BaseHandle) > *arg1 = (Dali::Signal< void (Dali::BaseHandle) > *) 0 ;
+  Dali::BaseHandle arg2 ;
+  Dali::BaseHandle *argp2 ;
+  
+  arg1 = (Dali::Signal< void (Dali::BaseHandle) > *)jarg1; 
+  argp2 = (Dali::BaseHandle *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_BaseHandle_SP__Sg__Emit(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ObjectCreatedSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::BaseHandle) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::BaseHandle) > *)new Dali::Signal< void (Dali::BaseHandle) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ObjectCreatedSignal(void * jarg1) {
+  Dali::Signal< void (Dali::BaseHandle) > *arg1 = (Dali::Signal< void (Dali::BaseHandle) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::BaseHandle) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ObjectDestroyedSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::RefObject const *) > *arg1 = (Dali::Signal< void (Dali::RefObject const *) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::RefObject const *) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_RefObject_SS_const_Sm__SP__Sg__Empty((Dali::Signal< void (Dali::RefObject const *) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ObjectDestroyedSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::RefObject const *) > *arg1 = (Dali::Signal< void (Dali::RefObject const *) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::RefObject const *) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_RefObject_SS_const_Sm__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::RefObject const *) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ObjectDestroyedSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::RefObject const *) > *arg1 = (Dali::Signal< void (Dali::RefObject const *) > *) 0 ;
+  void (*arg2)(Dali::RefObject const *) = (void (*)(Dali::RefObject const *)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::RefObject const *) > *)jarg1; 
+  arg2 = (void (*)(Dali::RefObject const *))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_RefObject_SS_const_Sm__SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ObjectDestroyedSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::RefObject const *) > *arg1 = (Dali::Signal< void (Dali::RefObject const *) > *) 0 ;
+  void (*arg2)(Dali::RefObject const *) = (void (*)(Dali::RefObject const *)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::RefObject const *) > *)jarg1; 
+  arg2 = (void (*)(Dali::RefObject const *))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_RefObject_SS_const_Sm__SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ObjectDestroyedSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::RefObject const *) > *arg1 = (Dali::Signal< void (Dali::RefObject const *) > *) 0 ;
+  Dali::RefObject *arg2 = (Dali::RefObject *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::RefObject const *) > *)jarg1; 
+  arg2 = (Dali::RefObject *)jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_RefObject_SS_const_Sm__SP__Sg__Emit(arg1,(Dali::RefObject const *)arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ObjectDestroyedSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::RefObject const *) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::RefObject const *) > *)new Dali::Signal< void (Dali::RefObject const *) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ObjectDestroyedSignal(void * jarg1) {
+  Dali::Signal< void (Dali::RefObject const *) > *arg1 = (Dali::Signal< void (Dali::RefObject const *) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::RefObject const *) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_PropertyNotifySignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::PropertyNotification &) > *arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_PropertyNotification_SA__SP__Sg__Empty((Dali::Signal< void (Dali::PropertyNotification &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_PropertyNotifySignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::PropertyNotification &) > *arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_PropertyNotification_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::PropertyNotification &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PropertyNotifySignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::PropertyNotification &) > *arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *) 0 ;
+  void (*arg2)(Dali::PropertyNotification &) = (void (*)(Dali::PropertyNotification &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *)jarg1; 
+  arg2 = (void (*)(Dali::PropertyNotification &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_PropertyNotification_SA__SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PropertyNotifySignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::PropertyNotification &) > *arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *) 0 ;
+  void (*arg2)(Dali::PropertyNotification &) = (void (*)(Dali::PropertyNotification &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *)jarg1; 
+  arg2 = (void (*)(Dali::PropertyNotification &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_PropertyNotification_SA__SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PropertyNotifySignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::PropertyNotification &) > *arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *) 0 ;
+  Dali::PropertyNotification *arg2 = 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *)jarg1; 
+  arg2 = (Dali::PropertyNotification *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PropertyNotification & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_PropertyNotification_SA__SP__Sg__Emit(arg1,*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PropertyNotifySignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::PropertyNotification &) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::PropertyNotification &) > *)new Dali::Signal< void (Dali::PropertyNotification &) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PropertyNotifySignal(void * jarg1) {
+  Dali::Signal< void (Dali::PropertyNotification &) > *arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::PropertyNotification &) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ImageSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Image) > *arg1 = (Dali::Signal< void (Dali::Image) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Image) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Image_SP__Sg__Empty((Dali::Signal< void (Dali::Image) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ImageSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Image) > *arg1 = (Dali::Signal< void (Dali::Image) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Image) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Image_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Image) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImageSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Image) > *arg1 = (Dali::Signal< void (Dali::Image) > *) 0 ;
+  void (*arg2)(Dali::Image) = (void (*)(Dali::Image)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Image) > *)jarg1; 
+  arg2 = (void (*)(Dali::Image))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Image_SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImageSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Image) > *arg1 = (Dali::Signal< void (Dali::Image) > *) 0 ;
+  void (*arg2)(Dali::Image) = (void (*)(Dali::Image)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Image) > *)jarg1; 
+  arg2 = (void (*)(Dali::Image))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Image_SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImageSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Image) > *arg1 = (Dali::Signal< void (Dali::Image) > *) 0 ;
+  Dali::Image arg2 ;
+  Dali::Image *argp2 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Image) > *)jarg1; 
+  argp2 = (Dali::Image *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Image", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Image_SP__Sg__Emit(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ImageSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Image) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Image) > *)new Dali::Signal< void (Dali::Image) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ImageSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Image) > *arg1 = (Dali::Signal< void (Dali::Image) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Image) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RenderTaskSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::RenderTask &) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::RenderTask &) > *)new Dali::Signal< void (Dali::RenderTask &) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_RenderTaskSignal(void * jarg1) {
+  Dali::Signal< void (Dali::RenderTask &) > *arg1 = (Dali::Signal< void (Dali::RenderTask &) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::RenderTask &) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_LongPressGestureDetectedSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_LongPressGesture_SS_const_SA__SP__Sg__Empty((Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_LongPressGestureDetectedSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_LongPressGesture_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_LongPressGestureDetectedSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *) 0 ;
+  void (*arg2)(Dali::Actor,Dali::LongPressGesture const &) = (void (*)(Dali::Actor,Dali::LongPressGesture const &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor,Dali::LongPressGesture const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_LongPressGesture_SS_const_SA__SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_LongPressGestureDetectedSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *) 0 ;
+  void (*arg2)(Dali::Actor,Dali::LongPressGesture const &) = (void (*)(Dali::Actor,Dali::LongPressGesture const &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor,Dali::LongPressGesture const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_LongPressGesture_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_LongPressGestureDetectedSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::LongPressGesture *arg3 = 0 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::LongPressGesture *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::LongPressGesture const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_LongPressGesture_SS_const_SA__SP__Sg__Emit(arg1,arg2,(Dali::LongPressGesture const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_LongPressGestureDetectedSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *)new Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_LongPressGestureDetectedSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::LongPressGesture const &) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorTouchDataSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_TouchData_SS_const_SA__SP__Sg__Empty((Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ActorTouchDataSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_TouchData_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorTouchDataSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *) 0 ;
+  bool (*arg2)(Dali::Actor,Dali::TouchData const &) = (bool (*)(Dali::Actor,Dali::TouchData const &)) 0 ;
+  
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *)jarg1; 
+  arg2 = (bool (*)(Dali::Actor,Dali::TouchData const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_TouchData_SS_const_SA__SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorTouchDataSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *) 0 ;
+  bool (*arg2)(Dali::Actor,Dali::TouchData const &) = (bool (*)(Dali::Actor,Dali::TouchData const &)) 0 ;
+  
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *)jarg1; 
+  arg2 = (bool (*)(Dali::Actor,Dali::TouchData const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_TouchData_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorTouchDataSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
+  unsigned int jresult ;
+  Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::TouchData *arg3 = 0 ;
+  Dali::Actor *argp2 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::TouchData *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TouchData const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_TouchData_SS_const_SA__SP__Sg__Emit(arg1,arg2,(Dali::TouchData const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ActorTouchDataSignal() {
+  void * jresult ;
+  Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *)new Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ActorTouchDataSignal(void * jarg1) {
+  Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *) 0 ;
+  
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::TouchData const &) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorHoverSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_HoverEvent_SS_const_SA__SP__Sg__Empty((Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ActorHoverSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_HoverEvent_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorHoverSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *) 0 ;
+  bool (*arg2)(Dali::Actor,Dali::HoverEvent const &) = (bool (*)(Dali::Actor,Dali::HoverEvent const &)) 0 ;
+  
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *)jarg1; 
+  arg2 = (bool (*)(Dali::Actor,Dali::HoverEvent const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_HoverEvent_SS_const_SA__SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorHoverSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *) 0 ;
+  bool (*arg2)(Dali::Actor,Dali::HoverEvent const &) = (bool (*)(Dali::Actor,Dali::HoverEvent const &)) 0 ;
+  
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *)jarg1; 
+  arg2 = (bool (*)(Dali::Actor,Dali::HoverEvent const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_HoverEvent_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorHoverSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
+  unsigned int jresult ;
+  Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::HoverEvent *arg3 = 0 ;
+  Dali::Actor *argp2 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::HoverEvent *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::HoverEvent const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_HoverEvent_SS_const_SA__SP__Sg__Emit(arg1,arg2,(Dali::HoverEvent const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ActorHoverSignal() {
+  void * jresult ;
+  Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *)new Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ActorHoverSignal(void * jarg1) {
+  Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *) 0 ;
+  
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::HoverEvent const &) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorWheelSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_WheelEvent_SS_const_SA__SP__Sg__Empty((Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ActorWheelSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_WheelEvent_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorWheelSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *) 0 ;
+  bool (*arg2)(Dali::Actor,Dali::WheelEvent const &) = (bool (*)(Dali::Actor,Dali::WheelEvent const &)) 0 ;
+  
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *)jarg1; 
+  arg2 = (bool (*)(Dali::Actor,Dali::WheelEvent const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_WheelEvent_SS_const_SA__SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorWheelSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *) 0 ;
+  bool (*arg2)(Dali::Actor,Dali::WheelEvent const &) = (bool (*)(Dali::Actor,Dali::WheelEvent const &)) 0 ;
+  
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *)jarg1; 
+  arg2 = (bool (*)(Dali::Actor,Dali::WheelEvent const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_WheelEvent_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorWheelSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
+  unsigned int jresult ;
+  Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::WheelEvent *arg3 = 0 ;
+  Dali::Actor *argp2 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::WheelEvent *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::WheelEvent const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Actor_Sc_Dali_WheelEvent_SS_const_SA__SP__Sg__Emit(arg1,arg2,(Dali::WheelEvent const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ActorWheelSignal() {
+  void * jresult ;
+  Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *)new Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ActorWheelSignal(void * jarg1) {
+  Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *) 0 ;
+  
+  arg1 = (Dali::Signal< bool (Dali::Actor,Dali::WheelEvent const &) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ActorSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Actor) > *arg1 = (Dali::Signal< void (Dali::Actor) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Actor_SP__Sg__Empty((Dali::Signal< void (Dali::Actor) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ActorSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Actor) > *arg1 = (Dali::Signal< void (Dali::Actor) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Actor_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Actor) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor) > *arg1 = (Dali::Signal< void (Dali::Actor) > *) 0 ;
+  void (*arg2)(Dali::Actor) = (void (*)(Dali::Actor)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Actor_SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor) > *arg1 = (Dali::Signal< void (Dali::Actor) > *) 0 ;
+  void (*arg2)(Dali::Actor) = (void (*)(Dali::Actor)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Actor_SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor) > *arg1 = (Dali::Signal< void (Dali::Actor) > *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor) > *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Actor_SP__Sg__Emit(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ActorSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Actor) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Actor) > *)new Dali::Signal< void (Dali::Actor) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ActorSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Actor) > *arg1 = (Dali::Signal< void (Dali::Actor) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_KeyEventSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::KeyEvent const &) > *arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_KeyEvent_SS_const_SA__SP__Sg__Empty((Dali::Signal< void (Dali::KeyEvent const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_KeyEventSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::KeyEvent const &) > *arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_KeyEvent_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::KeyEvent const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyEventSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::KeyEvent const &) > *arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *) 0 ;
+  void (*arg2)(Dali::KeyEvent const &) = (void (*)(Dali::KeyEvent const &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::KeyEvent const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_KeyEvent_SS_const_SA__SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyEventSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::KeyEvent const &) > *arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *) 0 ;
+  void (*arg2)(Dali::KeyEvent const &) = (void (*)(Dali::KeyEvent const &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::KeyEvent const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_KeyEvent_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyEventSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::KeyEvent const &) > *arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *) 0 ;
+  Dali::KeyEvent *arg2 = 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *)jarg1; 
+  arg2 = (Dali::KeyEvent *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::KeyEvent const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_KeyEvent_SS_const_SA__SP__Sg__Emit(arg1,(Dali::KeyEvent const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_KeyEventSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::KeyEvent const &) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::KeyEvent const &) > *)new Dali::Signal< void (Dali::KeyEvent const &) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_KeyEventSignal(void * jarg1) {
+  Dali::Signal< void (Dali::KeyEvent const &) > *arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::KeyEvent const &) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TouchSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::TouchData const &) > *arg1 = (Dali::Signal< void (Dali::TouchData const &) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::TouchData const &) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_TouchData_SS_const_SA__SP__Sg__Empty((Dali::Signal< void (Dali::TouchData const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TouchSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::TouchData const &) > *arg1 = (Dali::Signal< void (Dali::TouchData const &) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::TouchData const &) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_TouchData_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::TouchData const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::TouchData const &) > *arg1 = (Dali::Signal< void (Dali::TouchData const &) > *) 0 ;
+  void (*arg2)(Dali::TouchData const &) = (void (*)(Dali::TouchData const &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::TouchData const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::TouchData const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_TouchData_SS_const_SA__SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::TouchData const &) > *arg1 = (Dali::Signal< void (Dali::TouchData const &) > *) 0 ;
+  void (*arg2)(Dali::TouchData const &) = (void (*)(Dali::TouchData const &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::TouchData const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::TouchData const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_TouchData_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TouchSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::TouchData const &) > *arg1 = (Dali::Signal< void (Dali::TouchData const &) > *) 0 ;
+  Dali::TouchData *arg2 = 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::TouchData const &) > *)jarg1; 
+  arg2 = (Dali::TouchData *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TouchData const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_TouchData_SS_const_SA__SP__Sg__Emit(arg1,(Dali::TouchData const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TouchSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::TouchData const &) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::TouchData const &) > *)new Dali::Signal< void (Dali::TouchData const &) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TouchSignal(void * jarg1) {
+  Dali::Signal< void (Dali::TouchData const &) > *arg1 = (Dali::Signal< void (Dali::TouchData const &) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::TouchData const &) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_StageWheelSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::WheelEvent const &) > *arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_WheelEvent_SS_const_SA__SP__Sg__Empty((Dali::Signal< void (Dali::WheelEvent const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_StageWheelSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::WheelEvent const &) > *arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_WheelEvent_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::WheelEvent const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_StageWheelSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::WheelEvent const &) > *arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *) 0 ;
+  void (*arg2)(Dali::WheelEvent const &) = (void (*)(Dali::WheelEvent const &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::WheelEvent const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_WheelEvent_SS_const_SA__SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_StageWheelSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::WheelEvent const &) > *arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *) 0 ;
+  void (*arg2)(Dali::WheelEvent const &) = (void (*)(Dali::WheelEvent const &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::WheelEvent const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_WheelEvent_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_StageWheelSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::WheelEvent const &) > *arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *) 0 ;
+  Dali::WheelEvent *arg2 = 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *)jarg1; 
+  arg2 = (Dali::WheelEvent *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::WheelEvent const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_WheelEvent_SS_const_SA__SP__Sg__Emit(arg1,(Dali::WheelEvent const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_StageWheelSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::WheelEvent const &) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::WheelEvent const &) > *)new Dali::Signal< void (Dali::WheelEvent const &) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_StageWheelSignal(void * jarg1) {
+  Dali::Signal< void (Dali::WheelEvent const &) > *arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::WheelEvent const &) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AngleThresholdPair__SWIG_0() {
+  void * jresult ;
+  std::pair< Dali::Radian,Dali::Radian > *result = 0 ;
+  
+  {
+    try {
+      result = (std::pair< Dali::Radian,Dali::Radian > *)new std::pair< Dali::Radian,Dali::Radian >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AngleThresholdPair__SWIG_1(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Radian arg1 ;
+  Dali::Radian arg2 ;
+  Dali::Radian *argp1 ;
+  Dali::Radian *argp2 ;
+  std::pair< Dali::Radian,Dali::Radian > *result = 0 ;
+  
+  argp1 = (Dali::Radian *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  argp2 = (Dali::Radian *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (std::pair< Dali::Radian,Dali::Radian > *)new std::pair< Dali::Radian,Dali::Radian >(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AngleThresholdPair__SWIG_2(void * jarg1) {
+  void * jresult ;
+  std::pair< Dali::Radian,Dali::Radian > *arg1 = 0 ;
+  std::pair< Dali::Radian,Dali::Radian > *result = 0 ;
+  
+  arg1 = (std::pair< Dali::Radian,Dali::Radian > *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::pair< Dali::Radian,Dali::Radian > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (std::pair< Dali::Radian,Dali::Radian > *)new std::pair< Dali::Radian,Dali::Radian >((std::pair< Dali::Radian,Dali::Radian > const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AngleThresholdPair_first_set(void * jarg1, void * jarg2) {
+  std::pair< Dali::Radian,Dali::Radian > *arg1 = (std::pair< Dali::Radian,Dali::Radian > *) 0 ;
+  Dali::Radian *arg2 = (Dali::Radian *) 0 ;
+  
+  arg1 = (std::pair< Dali::Radian,Dali::Radian > *)jarg1; 
+  arg2 = (Dali::Radian *)jarg2; 
+  if (arg1) (arg1)->first = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AngleThresholdPair_first_get(void * jarg1) {
+  void * jresult ;
+  std::pair< Dali::Radian,Dali::Radian > *arg1 = (std::pair< Dali::Radian,Dali::Radian > *) 0 ;
+  Dali::Radian *result = 0 ;
+  
+  arg1 = (std::pair< Dali::Radian,Dali::Radian > *)jarg1; 
+  result = (Dali::Radian *)& ((arg1)->first);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AngleThresholdPair_second_set(void * jarg1, void * jarg2) {
+  std::pair< Dali::Radian,Dali::Radian > *arg1 = (std::pair< Dali::Radian,Dali::Radian > *) 0 ;
+  Dali::Radian *arg2 = (Dali::Radian *) 0 ;
+  
+  arg1 = (std::pair< Dali::Radian,Dali::Radian > *)jarg1; 
+  arg2 = (Dali::Radian *)jarg2; 
+  if (arg1) (arg1)->second = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AngleThresholdPair_second_get(void * jarg1) {
+  void * jresult ;
+  std::pair< Dali::Radian,Dali::Radian > *arg1 = (std::pair< Dali::Radian,Dali::Radian > *) 0 ;
+  Dali::Radian *result = 0 ;
+  
+  arg1 = (std::pair< Dali::Radian,Dali::Radian > *)jarg1; 
+  result = (Dali::Radian *)& ((arg1)->second);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_AngleThresholdPair(void * jarg1) {
+  std::pair< Dali::Radian,Dali::Radian > *arg1 = (std::pair< Dali::Radian,Dali::Radian > *) 0 ;
+  
+  arg1 = (std::pair< Dali::Radian,Dali::Radian > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_PanGestureDetectedSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PanGesture_SS_const_SA__SP__Sg__Empty((Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_PanGestureDetectedSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PanGesture_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGestureDetectedSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *) 0 ;
+  void (*arg2)(Dali::Actor,Dali::PanGesture const &) = (void (*)(Dali::Actor,Dali::PanGesture const &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor,Dali::PanGesture const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PanGesture_SS_const_SA__SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGestureDetectedSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *) 0 ;
+  void (*arg2)(Dali::Actor,Dali::PanGesture const &) = (void (*)(Dali::Actor,Dali::PanGesture const &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor,Dali::PanGesture const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PanGesture_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PanGestureDetectedSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::PanGesture *arg3 = 0 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::PanGesture *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PanGesture const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PanGesture_SS_const_SA__SP__Sg__Emit(arg1,arg2,(Dali::PanGesture const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PanGestureDetectedSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *)new Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PanGestureDetectedSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PanGesture const &) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_PinchGestureDetectedSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PinchGesture_SS_const_SA__SP__Sg__Empty((Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_PinchGestureDetectedSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PinchGesture_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PinchGestureDetectedSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *) 0 ;
+  void (*arg2)(Dali::Actor,Dali::PinchGesture const &) = (void (*)(Dali::Actor,Dali::PinchGesture const &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor,Dali::PinchGesture const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PinchGesture_SS_const_SA__SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PinchGestureDetectedSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *) 0 ;
+  void (*arg2)(Dali::Actor,Dali::PinchGesture const &) = (void (*)(Dali::Actor,Dali::PinchGesture const &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor,Dali::PinchGesture const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PinchGesture_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PinchGestureDetectedSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::PinchGesture *arg3 = 0 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::PinchGesture *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PinchGesture const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_PinchGesture_SS_const_SA__SP__Sg__Emit(arg1,arg2,(Dali::PinchGesture const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PinchGestureDetectedSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *)new Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PinchGestureDetectedSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::PinchGesture const &) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TapGestureDetectedSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_TapGesture_SS_const_SA__SP__Sg__Empty((Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TapGestureDetectedSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_TapGesture_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TapGestureDetectedSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *) 0 ;
+  void (*arg2)(Dali::Actor,Dali::TapGesture const &) = (void (*)(Dali::Actor,Dali::TapGesture const &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor,Dali::TapGesture const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_TapGesture_SS_const_SA__SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TapGestureDetectedSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *) 0 ;
+  void (*arg2)(Dali::Actor,Dali::TapGesture const &) = (void (*)(Dali::Actor,Dali::TapGesture const &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor,Dali::TapGesture const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_TapGesture_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TapGestureDetectedSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::TapGesture *arg3 = 0 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::TapGesture *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TapGesture const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_TapGesture_SS_const_SA__SP__Sg__Emit(arg1,arg2,(Dali::TapGesture const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TapGestureDetectedSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *)new Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TapGestureDetectedSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::TapGesture const &) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_AnimationSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Animation &) > *arg1 = (Dali::Signal< void (Dali::Animation &) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Animation &) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Animation_SA__SP__Sg__Empty((Dali::Signal< void (Dali::Animation &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_AnimationSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Animation &) > *arg1 = (Dali::Signal< void (Dali::Animation &) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Animation &) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Animation_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Animation &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AnimationSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Animation &) > *arg1 = (Dali::Signal< void (Dali::Animation &) > *) 0 ;
+  void (*arg2)(Dali::Animation &) = (void (*)(Dali::Animation &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Animation &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Animation &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Animation_SA__SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AnimationSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Animation &) > *arg1 = (Dali::Signal< void (Dali::Animation &) > *) 0 ;
+  void (*arg2)(Dali::Animation &) = (void (*)(Dali::Animation &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Animation &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Animation &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Animation_SA__SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AnimationSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Animation &) > *arg1 = (Dali::Signal< void (Dali::Animation &) > *) 0 ;
+  Dali::Animation *arg2 = 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Animation &) > *)jarg1; 
+  arg2 = (Dali::Animation *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Animation & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Animation_SA__SP__Sg__Emit(arg1,*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AnimationSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Animation &) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Animation &) > *)new Dali::Signal< void (Dali::Animation &) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_AnimationSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Animation &) > *arg1 = (Dali::Signal< void (Dali::Animation &) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Animation &) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ResourceImageSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::ResourceImage) > *arg1 = (Dali::Signal< void (Dali::ResourceImage) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::ResourceImage) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_ResourceImage_SP__Sg__Empty((Dali::Signal< void (Dali::ResourceImage) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ResourceImageSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::ResourceImage) > *arg1 = (Dali::Signal< void (Dali::ResourceImage) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::ResourceImage) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_ResourceImage_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::ResourceImage) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ResourceImageSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::ResourceImage) > *arg1 = (Dali::Signal< void (Dali::ResourceImage) > *) 0 ;
+  void (*arg2)(Dali::ResourceImage) = (void (*)(Dali::ResourceImage)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::ResourceImage) > *)jarg1; 
+  arg2 = (void (*)(Dali::ResourceImage))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_ResourceImage_SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ResourceImageSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::ResourceImage) > *arg1 = (Dali::Signal< void (Dali::ResourceImage) > *) 0 ;
+  void (*arg2)(Dali::ResourceImage) = (void (*)(Dali::ResourceImage)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::ResourceImage) > *)jarg1; 
+  arg2 = (void (*)(Dali::ResourceImage))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_ResourceImage_SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ResourceImageSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::ResourceImage) > *arg1 = (Dali::Signal< void (Dali::ResourceImage) > *) 0 ;
+  Dali::ResourceImage arg2 ;
+  Dali::ResourceImage *argp2 ;
+  
+  arg1 = (Dali::Signal< void (Dali::ResourceImage) > *)jarg1; 
+  argp2 = (Dali::ResourceImage *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ResourceImage", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_ResourceImage_SP__Sg__Emit(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ResourceImageSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::ResourceImage) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::ResourceImage) > *)new Dali::Signal< void (Dali::ResourceImage) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ResourceImageSignal(void * jarg1) {
+  Dali::Signal< void (Dali::ResourceImage) > *arg1 = (Dali::Signal< void (Dali::ResourceImage) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::ResourceImage) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Timer__SWIG_0() {
+  void * jresult ;
+  Dali::Timer *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Timer *)new Dali::Timer();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Timer_New(unsigned int jarg1) {
+  void * jresult ;
+  unsigned int arg1 ;
+  Dali::Timer result;
+  
+  arg1 = (unsigned int)jarg1; 
+  {
+    try {
+      result = Dali::Timer::New(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Timer((const Dali::Timer &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Timer__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Timer *arg1 = 0 ;
+  Dali::Timer *result = 0 ;
+  
+  arg1 = (Dali::Timer *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Timer const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Timer *)new Dali::Timer((Dali::Timer const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Timer_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Timer *arg1 = (Dali::Timer *) 0 ;
+  Dali::Timer *arg2 = 0 ;
+  Dali::Timer *result = 0 ;
+  
+  arg1 = (Dali::Timer *)jarg1; 
+  arg2 = (Dali::Timer *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Timer const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Timer *) &(arg1)->operator =((Dali::Timer const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Timer(void * jarg1) {
+  Dali::Timer *arg1 = (Dali::Timer *) 0 ;
+  
+  arg1 = (Dali::Timer *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Timer_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Timer result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Timer::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Timer((const Dali::Timer &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Timer_Start(void * jarg1) {
+  Dali::Timer *arg1 = (Dali::Timer *) 0 ;
+  
+  arg1 = (Dali::Timer *)jarg1; 
+  {
+    try {
+      (arg1)->Start();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Timer_Stop(void * jarg1) {
+  Dali::Timer *arg1 = (Dali::Timer *) 0 ;
+  
+  arg1 = (Dali::Timer *)jarg1; 
+  {
+    try {
+      (arg1)->Stop();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Timer_SetInterval(void * jarg1, unsigned int jarg2) {
+  Dali::Timer *arg1 = (Dali::Timer *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::Timer *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      (arg1)->SetInterval(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Timer_GetInterval(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Timer *arg1 = (Dali::Timer *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Timer *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::Timer const *)arg1)->GetInterval();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Timer_IsRunning(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Timer *arg1 = (Dali::Timer *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Timer *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Timer const *)arg1)->IsRunning();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Timer_TickSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Timer *arg1 = (Dali::Timer *) 0 ;
+  Dali::Timer::TimerSignalType *result = 0 ;
+  
+  arg1 = (Dali::Timer *)jarg1; 
+  {
+    try {
+      result = (Dali::Timer::TimerSignalType *) &(arg1)->TickSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_DragAndDropDetector() {
+  void * jresult ;
+  Dali::DragAndDropDetector *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::DragAndDropDetector *)new Dali::DragAndDropDetector();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_DragAndDropDetector(void * jarg1) {
+  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
+  
+  arg1 = (Dali::DragAndDropDetector *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_GetContent(void * jarg1) {
+  char * jresult ;
+  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
+  std::string *result = 0 ;
+  
+  arg1 = (Dali::DragAndDropDetector *)jarg1; 
+  {
+    try {
+      result = (std::string *) &((Dali::DragAndDropDetector const *)arg1)->GetContent();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = SWIG_csharp_string_callback(result->c_str()); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_GetCurrentScreenPosition(void * jarg1) {
+  void * jresult ;
+  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
+  Dali::Vector2 result;
+  
+  arg1 = (Dali::DragAndDropDetector *)jarg1; 
+  {
+    try {
+      result = ((Dali::DragAndDropDetector const *)arg1)->GetCurrentScreenPosition();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector2((const Dali::Vector2 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_EnteredSignal(void * jarg1) {
+  void * jresult ;
+  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
+  Dali::DragAndDropDetector::DragAndDropSignal *result = 0 ;
+  
+  arg1 = (Dali::DragAndDropDetector *)jarg1; 
+  {
+    try {
+      result = (Dali::DragAndDropDetector::DragAndDropSignal *) &(arg1)->EnteredSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_ExitedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
+  Dali::DragAndDropDetector::DragAndDropSignal *result = 0 ;
+  
+  arg1 = (Dali::DragAndDropDetector *)jarg1; 
+  {
+    try {
+      result = (Dali::DragAndDropDetector::DragAndDropSignal *) &(arg1)->ExitedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_MovedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
+  Dali::DragAndDropDetector::DragAndDropSignal *result = 0 ;
+  
+  arg1 = (Dali::DragAndDropDetector *)jarg1; 
+  {
+    try {
+      result = (Dali::DragAndDropDetector::DragAndDropSignal *) &(arg1)->MovedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_DroppedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::DragAndDropDetector *arg1 = (Dali::DragAndDropDetector *) 0 ;
+  Dali::DragAndDropDetector::DragAndDropSignal *result = 0 ;
+  
+  arg1 = (Dali::DragAndDropDetector *)jarg1; 
+  {
+    try {
+      result = (Dali::DragAndDropDetector::DragAndDropSignal *) &(arg1)->DroppedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ApplicationExtensions__SWIG_0() {
+  void * jresult ;
+  Dali::ApplicationExtensions *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::ApplicationExtensions *)new Dali::ApplicationExtensions();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ApplicationExtensions__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  Dali::ApplicationExtensions *result = 0 ;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  {
+    try {
+      result = (Dali::ApplicationExtensions *)new Dali::ApplicationExtensions(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ApplicationExtensions(void * jarg1) {
+  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
+  
+  arg1 = (Dali::ApplicationExtensions *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_Init(void * jarg1) {
+  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
+  
+  arg1 = (Dali::ApplicationExtensions *)jarg1; 
+  {
+    try {
+      (arg1)->Init();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_Terminate(void * jarg1) {
+  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
+  
+  arg1 = (Dali::ApplicationExtensions *)jarg1; 
+  {
+    try {
+      (arg1)->Terminate();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_Pause(void * jarg1) {
+  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
+  
+  arg1 = (Dali::ApplicationExtensions *)jarg1; 
+  {
+    try {
+      (arg1)->Pause();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_Resume(void * jarg1) {
+  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
+  
+  arg1 = (Dali::ApplicationExtensions *)jarg1; 
+  {
+    try {
+      (arg1)->Resume();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationExtensions_LanguageChange(void * jarg1) {
+  Dali::ApplicationExtensions *arg1 = (Dali::ApplicationExtensions *) 0 ;
+  
+  arg1 = (Dali::ApplicationExtensions *)jarg1; 
+  {
+    try {
+      (arg1)->LanguageChange();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Window_New__SWIG_0(void * jarg1, char * jarg2, unsigned int jarg3) {
+  void * jresult ;
+  Dali::PositionSize arg1 ;
+  std::string *arg2 = 0 ;
+  bool arg3 ;
+  Dali::PositionSize *argp1 ;
+  Dali::Window result;
+  
+  argp1 = (Dali::PositionSize *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::PositionSize", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = jarg3 ? true : false; 
+  {
+    try {
+      result = Dali::Window::New(arg1,(std::string const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Window((const Dali::Window &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Window_New__SWIG_1(void * jarg1, char * jarg2) {
+  void * jresult ;
+  Dali::PositionSize arg1 ;
+  std::string *arg2 = 0 ;
+  Dali::PositionSize *argp1 ;
+  Dali::Window result;
+  
+  argp1 = (Dali::PositionSize *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::PositionSize", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      result = Dali::Window::New(arg1,(std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Window((const Dali::Window &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Window_New__SWIG_2(void * jarg1, char * jarg2, char * jarg3, unsigned int jarg4) {
+  void * jresult ;
+  Dali::PositionSize arg1 ;
+  std::string *arg2 = 0 ;
+  std::string *arg3 = 0 ;
+  bool arg4 ;
+  Dali::PositionSize *argp1 ;
+  Dali::Window result;
+  
+  argp1 = (Dali::PositionSize *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::PositionSize", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  if (!jarg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg3_str(jarg3);
+  arg3 = &arg3_str; 
+  arg4 = jarg4 ? true : false; 
+  {
+    try {
+      result = Dali::Window::New(arg1,(std::string const &)*arg2,(std::string const &)*arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Window((const Dali::Window &)result); 
+  
+  //argout typemap for const std::string&
+  
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Window_New__SWIG_3(void * jarg1, char * jarg2, char * jarg3) {
+  void * jresult ;
+  Dali::PositionSize arg1 ;
+  std::string *arg2 = 0 ;
+  std::string *arg3 = 0 ;
+  Dali::PositionSize *argp1 ;
+  Dali::Window result;
+  
+  argp1 = (Dali::PositionSize *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::PositionSize", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  if (!jarg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg3_str(jarg3);
+  arg3 = &arg3_str; 
+  {
+    try {
+      result = Dali::Window::New(arg1,(std::string const &)*arg2,(std::string const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Window((const Dali::Window &)result); 
+  
+  //argout typemap for const std::string&
+  
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Window__SWIG_0() {
+  void * jresult ;
+  Dali::Window *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Window *)new Dali::Window();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Window(void * jarg1) {
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  
+  arg1 = (Dali::Window *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Window__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Window *arg1 = 0 ;
+  Dali::Window *result = 0 ;
+  
+  arg1 = (Dali::Window *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Window const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Window *)new Dali::Window((Dali::Window const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Window_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  Dali::Window *arg2 = 0 ;
+  Dali::Window *result = 0 ;
+  
+  arg1 = (Dali::Window *)jarg1; 
+  arg2 = (Dali::Window *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Window const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Window *) &(arg1)->operator =((Dali::Window const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_ShowIndicator(void * jarg1, int jarg2) {
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  Dali::Window::IndicatorVisibleMode arg2 ;
+  
+  arg1 = (Dali::Window *)jarg1; 
+  arg2 = (Dali::Window::IndicatorVisibleMode)jarg2; 
+  {
+    try {
+      (arg1)->ShowIndicator(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_SetIndicatorBgOpacity(void * jarg1, int jarg2) {
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  Dali::Window::IndicatorBgOpacity arg2 ;
+  
+  arg1 = (Dali::Window *)jarg1; 
+  arg2 = (Dali::Window::IndicatorBgOpacity)jarg2; 
+  {
+    try {
+      (arg1)->SetIndicatorBgOpacity(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_RotateIndicator(void * jarg1, int jarg2) {
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  Dali::Window::WindowOrientation arg2 ;
+  
+  arg1 = (Dali::Window *)jarg1; 
+  arg2 = (Dali::Window::WindowOrientation)jarg2; 
+  {
+    try {
+      (arg1)->RotateIndicator(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_SetClass(void * jarg1, char * jarg2, char * jarg3) {
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  std::string arg2 ;
+  std::string arg3 ;
+  
+  arg1 = (Dali::Window *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  (&arg2)->assign(jarg2); 
+  if (!jarg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  (&arg3)->assign(jarg3); 
+  {
+    try {
+      (arg1)->SetClass(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_Raise(void * jarg1) {
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  
+  arg1 = (Dali::Window *)jarg1; 
+  {
+    try {
+      (arg1)->Raise();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_Lower(void * jarg1) {
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  
+  arg1 = (Dali::Window *)jarg1; 
+  {
+    try {
+      (arg1)->Lower();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_Activate(void * jarg1) {
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  
+  arg1 = (Dali::Window *)jarg1; 
+  {
+    try {
+      (arg1)->Activate();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_AddAvailableOrientation(void * jarg1, int jarg2) {
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  Dali::Window::WindowOrientation arg2 ;
+  
+  arg1 = (Dali::Window *)jarg1; 
+  arg2 = (Dali::Window::WindowOrientation)jarg2; 
+  {
+    try {
+      (arg1)->AddAvailableOrientation(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_RemoveAvailableOrientation(void * jarg1, int jarg2) {
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  Dali::Window::WindowOrientation arg2 ;
+  
+  arg1 = (Dali::Window *)jarg1; 
+  arg2 = (Dali::Window::WindowOrientation)jarg2; 
+  {
+    try {
+      (arg1)->RemoveAvailableOrientation(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Window_SetPreferredOrientation(void * jarg1, int jarg2) {
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  Dali::Window::WindowOrientation arg2 ;
+  
+  arg1 = (Dali::Window *)jarg1; 
+  arg2 = (Dali::Window::WindowOrientation)jarg2; 
+  {
+    try {
+      (arg1)->SetPreferredOrientation(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Window_GetPreferredOrientation(void * jarg1) {
+  int jresult ;
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  Dali::Window::WindowOrientation result;
+  
+  arg1 = (Dali::Window *)jarg1; 
+  {
+    try {
+      result = (Dali::Window::WindowOrientation)(arg1)->GetPreferredOrientation();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Window_GetDragAndDropDetector(void * jarg1) {
+  void * jresult ;
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  Dali::DragAndDropDetector result;
+  
+  arg1 = (Dali::Window *)jarg1; 
+  {
+    try {
+      result = ((Dali::Window const *)arg1)->GetDragAndDropDetector();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::DragAndDropDetector((const Dali::DragAndDropDetector &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Window_GetNativeHandle(void * jarg1) {
+  void * jresult ;
+  Dali::Window *arg1 = (Dali::Window *) 0 ;
+  Dali::Any result;
+  
+  arg1 = (Dali::Window *)jarg1; 
+  {
+    try {
+      result = ((Dali::Window const *)arg1)->GetNativeHandle();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Any((const Dali::Any &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_FocusChangedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Window arg1 ;
+  Dali::Window *argp1 ;
+  Dali::DevelWindow::FocusSignalType *result = 0 ;
+  
+  argp1 = (Dali::Window *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = (Dali::DevelWindow::FocusSignalType *) &Dali::DevelWindow::FocusChangedSignal(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_SetAcceptFocus(void * jarg1, unsigned int jarg2) {
+  Dali::Window arg1 ;
+  bool arg2 ;
+  Dali::Window *argp1 ;
+  
+  argp1 = (Dali::Window *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return ;
+  }
+  arg1 = *argp1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      Dali::DevelWindow::SetAcceptFocus(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_IsFocusAcceptable(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Window arg1 ;
+  Dali::Window *argp1 ;
+  bool result;
+  
+  argp1 = (Dali::Window *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = (bool)Dali::DevelWindow::IsFocusAcceptable(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Show(void * jarg1) {
+  Dali::Window arg1 ;
+  Dali::Window *argp1 ;
+  
+  argp1 = (Dali::Window *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return ;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      Dali::DevelWindow::Show(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Hide(void * jarg1) {
+  Dali::Window arg1 ;
+  Dali::Window *argp1 ;
+  
+  argp1 = (Dali::Window *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return ;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      Dali::DevelWindow::Hide(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_IsVisible(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Window arg1 ;
+  Dali::Window *argp1 ;
+  bool result;
+  
+  argp1 = (Dali::Window *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Window", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = (bool)Dali::DevelWindow::IsVisible(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Application_New__SWIG_0() {
+  void * jresult ;
+  Dali::Application result;
+  
+  {
+    try {
+      result = Dali::Application::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Application((const Dali::Application &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Application_New__SWIG_1(int jarg1) {
+  void * jresult ;
+  int *arg1 = (int *) 0 ;
+  char ***arg2 ;
+  Dali::Application result;
+  
+  {
+    // Todo generate argv data from the C# args
+    char **array;         // two dimensional array
+    int numStrings = 1;     // number of strings
+    int stringLength = 30;      // max string length.
+    array = (char **)malloc( (numStrings + 1 )* sizeof(char *) );
+    argV = array;
+    
+    // allocate the string data
+    for( int i=0; i < numStrings; i++)
+    {
+      array[i]=(char *)malloc( stringLength * sizeof(char *) );
+    }
+    array[ numStrings ] =  NULL; // we allocated +1 for hold the NULL part
+    
+    strcpy( array[0], "dali-csharp-app");
+    
+    arg1 = &argC;
+    arg2 = &argV;
+  }
+  {
+    try {
+      result = Dali::Application::New(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Application((const Dali::Application &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Application_New__SWIG_2(int jarg1, char * jarg3) {
+  void * jresult ;
+  int *arg1 = (int *) 0 ;
+  char ***arg2 ;
+  std::string *arg3 = 0 ;
+  Dali::Application result;
+  
+  {
+    // Todo generate argv data from the C# args
+    char **array;         // two dimensional array
+    int numStrings = 1;     // number of strings
+    int stringLength = 30;      // max string length.
+    array = (char **)malloc( (numStrings + 1 )* sizeof(char *) );
+    argV = array;
+    
+    // allocate the string data
+    for( int i=0; i < numStrings; i++)
+    {
+      array[i]=(char *)malloc( stringLength * sizeof(char *) );
+    }
+    array[ numStrings ] =  NULL; // we allocated +1 for hold the NULL part
+    
+    strcpy( array[0], "dali-csharp-app");
+    
+    arg1 = &argC;
+    arg2 = &argV;
+  }
+  if (!jarg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg3_str(jarg3);
+  arg3 = &arg3_str; 
+  {
+    try {
+      result = Dali::Application::New(arg1,arg2,(std::string const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Application((const Dali::Application &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Application_New__SWIG_3(int jarg1, char * jarg3, int jarg4) {
+  void * jresult ;
+  int *arg1 = (int *) 0 ;
+  char ***arg2 ;
+  std::string *arg3 = 0 ;
+  Dali::Application::WINDOW_MODE arg4 ;
+  Dali::Application result;
+  
+  {
+    // Todo generate argv data from the C# args
+    char **array;         // two dimensional array
+    int numStrings = 1;     // number of strings
+    int stringLength = 30;      // max string length.
+    array = (char **)malloc( (numStrings + 1 )* sizeof(char *) );
+    argV = array;
+    
+    // allocate the string data
+    for( int i=0; i < numStrings; i++)
+    {
+      array[i]=(char *)malloc( stringLength * sizeof(char *) );
+    }
+    array[ numStrings ] =  NULL; // we allocated +1 for hold the NULL part
+    
+    strcpy( array[0], "dali-csharp-app");
+    
+    arg1 = &argC;
+    arg2 = &argV;
+  }
+  if (!jarg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg3_str(jarg3);
+  arg3 = &arg3_str; 
+  arg4 = (Dali::Application::WINDOW_MODE)jarg4; 
+  {
+    try {
+      result = Dali::Application::New(arg1,arg2,(std::string const &)*arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Application((const Dali::Application &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Application__SWIG_0() {
+  void * jresult ;
+  Dali::Application *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Application *)new Dali::Application();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Application__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Application *arg1 = 0 ;
+  Dali::Application *result = 0 ;
+  
+  arg1 = (Dali::Application *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Application const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Application *)new Dali::Application((Dali::Application const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Application_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  Dali::Application *arg2 = 0 ;
+  Dali::Application *result = 0 ;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  arg2 = (Dali::Application *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Application const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Application *) &(arg1)->operator =((Dali::Application const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Application(void * jarg1) {
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Application_MainLoop__SWIG_0(void * jarg1) {
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  {
+    try {
+      (arg1)->MainLoop();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Application_MainLoop__SWIG_1(void * jarg1, void * jarg2) {
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  Configuration::ContextLoss arg2 ;
+  Configuration::ContextLoss *argp2 ;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  argp2 = (Configuration::ContextLoss *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Configuration::ContextLoss", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->MainLoop(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Application_Lower(void * jarg1) {
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  {
+    try {
+      (arg1)->Lower();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Application_Quit(void * jarg1) {
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  {
+    try {
+      (arg1)->Quit();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Application_AddIdle(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  Dali::CallbackBase *arg2 = (Dali::CallbackBase *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  arg2 = (Dali::CallbackBase *)jarg2; 
+  {
+    try {
+      result = (bool)(arg1)->AddIdle(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Application_GetWindow(void * jarg1) {
+  void * jresult ;
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  Dali::Window result;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  {
+    try {
+      result = (arg1)->GetWindow();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Window((const Dali::Window &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Application_ReplaceWindow(void * jarg1, void * jarg2, char * jarg3) {
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  Dali::PositionSize arg2 ;
+  std::string *arg3 = 0 ;
+  Dali::PositionSize *argp2 ;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  argp2 = (Dali::PositionSize *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::PositionSize", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (!jarg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg3_str(jarg3);
+  arg3 = &arg3_str; 
+  {
+    try {
+      (arg1)->ReplaceWindow(arg2,(std::string const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+  
+  //argout typemap for const std::string&
+  
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_Application_GetResourcePath() {
+  char * jresult ;
+  std::string result;
+  
+  {
+    try {
+      result = Dali::Application::GetResourcePath();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = SWIG_csharp_string_callback((&result)->c_str()); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Application_SetViewMode(void * jarg1, int jarg2) {
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  Dali::ViewMode arg2 ;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  arg2 = (Dali::ViewMode)jarg2; 
+  {
+    try {
+      (arg1)->SetViewMode(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Application_GetViewMode(void * jarg1) {
+  int jresult ;
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  Dali::ViewMode result;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  {
+    try {
+      result = (Dali::ViewMode)((Dali::Application const *)arg1)->GetViewMode();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Application_SetStereoBase(void * jarg1, float jarg2) {
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetStereoBase(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Application_GetStereoBase(void * jarg1) {
+  float jresult ;
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Application const *)arg1)->GetStereoBase();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Application_InitSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  Dali::Application::AppSignalType *result = 0 ;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  {
+    try {
+      result = (Dali::Application::AppSignalType *) &(arg1)->InitSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Application_TerminateSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  Dali::Application::AppSignalType *result = 0 ;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  {
+    try {
+      result = (Dali::Application::AppSignalType *) &(arg1)->TerminateSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Application_PauseSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  Dali::Application::AppSignalType *result = 0 ;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  {
+    try {
+      result = (Dali::Application::AppSignalType *) &(arg1)->PauseSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Application_ResumeSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  Dali::Application::AppSignalType *result = 0 ;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  {
+    try {
+      result = (Dali::Application::AppSignalType *) &(arg1)->ResumeSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Application_ResetSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  Dali::Application::AppSignalType *result = 0 ;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  {
+    try {
+      result = (Dali::Application::AppSignalType *) &(arg1)->ResetSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Application_ResizeSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  Dali::Application::AppSignalType *result = 0 ;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  {
+    try {
+      result = (Dali::Application::AppSignalType *) &(arg1)->ResizeSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Application_AppControlSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  Dali::Application::AppControlSignalType *result = 0 ;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  {
+    try {
+      result = (Dali::Application::AppControlSignalType *) &(arg1)->AppControlSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Application_LanguageChangedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  Dali::Application::AppSignalType *result = 0 ;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  {
+    try {
+      result = (Dali::Application::AppSignalType *) &(arg1)->LanguageChangedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Application_RegionChangedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  Dali::Application::AppSignalType *result = 0 ;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  {
+    try {
+      result = (Dali::Application::AppSignalType *) &(arg1)->RegionChangedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Application_BatteryLowSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  Dali::Application::AppSignalType *result = 0 ;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  {
+    try {
+      result = (Dali::Application::AppSignalType *) &(arg1)->BatteryLowSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Application_MemoryLowSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Application *arg1 = (Dali::Application *) 0 ;
+  Dali::Application::AppSignalType *result = 0 ;
+  
+  arg1 = (Dali::Application *)jarg1; 
+  {
+    try {
+      result = (Dali::Application::AppSignalType *) &(arg1)->MemoryLowSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ApplicationSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Application &) > *arg1 = (Dali::Signal< void (Dali::Application &) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Application &) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Application_SA__SP__Sg__Empty((Dali::Signal< void (Dali::Application &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ApplicationSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Application &) > *arg1 = (Dali::Signal< void (Dali::Application &) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Application &) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Application_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Application &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Application &) > *arg1 = (Dali::Signal< void (Dali::Application &) > *) 0 ;
+  void (*arg2)(Dali::Application &) = (void (*)(Dali::Application &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Application &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Application &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Application_SA__SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Application &) > *arg1 = (Dali::Signal< void (Dali::Application &) > *) 0 ;
+  void (*arg2)(Dali::Application &) = (void (*)(Dali::Application &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Application &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Application &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Application_SA__SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Application &) > *arg1 = (Dali::Signal< void (Dali::Application &) > *) 0 ;
+  Dali::Application *arg2 = 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Application &) > *)jarg1; 
+  arg2 = (Dali::Application *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Application & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Application_SA__SP__Sg__Emit(arg1,*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ApplicationSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Application &) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Application &) > *)new Dali::Signal< void (Dali::Application &) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ApplicationSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Application &) > *arg1 = (Dali::Signal< void (Dali::Application &) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Application &) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ApplicationControlSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Application &,void *) > *arg1 = (Dali::Signal< void (Dali::Application &,void *) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Application &,void *) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Application_SA__Sc_void_Sm__SP__Sg__Empty((Dali::Signal< void (Dali::Application &,void *) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ApplicationControlSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Application &,void *) > *arg1 = (Dali::Signal< void (Dali::Application &,void *) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Application &,void *) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Application_SA__Sc_void_Sm__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Application &,void *) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationControlSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Application &,void *) > *arg1 = (Dali::Signal< void (Dali::Application &,void *) > *) 0 ;
+  void (*arg2)(Dali::Application &,void *) = (void (*)(Dali::Application &,void *)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Application &,void *) > *)jarg1; 
+  arg2 = (void (*)(Dali::Application &,void *))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Application_SA__Sc_void_Sm__SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationControlSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Application &,void *) > *arg1 = (Dali::Signal< void (Dali::Application &,void *) > *) 0 ;
+  void (*arg2)(Dali::Application &,void *) = (void (*)(Dali::Application &,void *)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Application &,void *) > *)jarg1; 
+  arg2 = (void (*)(Dali::Application &,void *))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Application_SA__Sc_void_Sm__SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ApplicationControlSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Signal< void (Dali::Application &,void *) > *arg1 = (Dali::Signal< void (Dali::Application &,void *) > *) 0 ;
+  Dali::Application *arg2 = 0 ;
+  void *arg3 = (void *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Application &,void *) > *)jarg1; 
+  arg2 = (Dali::Application *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Application & type is null", 0);
+    return ;
+  } 
+  arg3 = jarg3; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Application_SA__Sc_void_Sm__SP__Sg__Emit(arg1,*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ApplicationControlSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Application &,void *) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Application &,void *) > *)new Dali::Signal< void (Dali::Application &,void *) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ApplicationControlSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Application &,void *) > *arg1 = (Dali::Signal< void (Dali::Application &,void *) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Application &,void *) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TimerSignalType_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< bool () > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_bool_Sp__SP__Sg__Empty((Dali::Signal< bool () > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TimerSignalType_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< bool () > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_bool_Sp__SP__Sg__GetConnectionCount((Dali::Signal< bool () > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TimerSignalType_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
+  bool (*arg2)() = (bool (*)()) 0 ;
+  
+  arg1 = (Dali::Signal< bool () > *)jarg1; 
+  arg2 = (bool (*)())jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_bool_Sp__SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TimerSignalType_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
+  bool (*arg2)() = (bool (*)()) 0 ;
+  
+  arg1 = (Dali::Signal< bool () > *)jarg1; 
+  arg2 = (bool (*)())jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_bool_Sp__SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TimerSignalType_Emit(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< bool () > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_bool_Sp__SP__Sg__Emit(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TimerSignalType() {
+  void * jresult ;
+  Dali::Signal< bool () > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< bool () > *)new Dali::Signal< bool () >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TimerSignalType(void * jarg1) {
+  Dali::Signal< bool () > *arg1 = (Dali::Signal< bool () > *) 0 ;
+  
+  arg1 = (Dali::Signal< bool () > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_WindowFocusSignalType_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (bool) > *arg1 = (Dali::Signal< void (bool) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (bool) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_bool_SP__Sg__Empty((Dali::Signal< void (bool) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_WindowFocusSignalType_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (bool) > *arg1 = (Dali::Signal< void (bool) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (bool) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_bool_SP__Sg__GetConnectionCount((Dali::Signal< void (bool) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WindowFocusSignalType_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (bool) > *arg1 = (Dali::Signal< void (bool) > *) 0 ;
+  void (*arg2)(bool) = (void (*)(bool)) 0 ;
+  
+  arg1 = (Dali::Signal< void (bool) > *)jarg1; 
+  arg2 = (void (*)(bool))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_bool_SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WindowFocusSignalType_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (bool) > *arg1 = (Dali::Signal< void (bool) > *) 0 ;
+  void (*arg2)(bool) = (void (*)(bool)) 0 ;
+  
+  arg1 = (Dali::Signal< void (bool) > *)jarg1; 
+  arg2 = (void (*)(bool))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_bool_SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WindowFocusSignalType_Emit(void * jarg1, unsigned int jarg2) {
+  Dali::Signal< void (bool) > *arg1 = (Dali::Signal< void (bool) > *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::Signal< void (bool) > *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_bool_SP__Sg__Emit(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_WindowFocusSignalType() {
+  void * jresult ;
+  Dali::Signal< void (bool) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (bool) > *)new Dali::Signal< void (bool) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_WindowFocusSignalType(void * jarg1) {
+  Dali::Signal< void (bool) > *arg1 = (Dali::Signal< void (bool) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (bool) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_PROPERTY_TYPE_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Visual::Property::TYPE;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_PROPERTY_SHADER_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Visual::Property::SHADER;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_VERTEX_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Visual::Shader::Property::VERTEX_SHADER;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_FRAGMENT_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Visual::Shader::Property::FRAGMENT_SHADER;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_SUBDIVIDE_GRID_X_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Visual::Shader::Property::SUBDIVIDE_GRID_X;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_SUBDIVIDE_GRID_Y_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Visual::Shader::Property::SUBDIVIDE_GRID_Y;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VISUAL_SHADER_HINTS_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Visual::Shader::Property::HINTS;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_BORDER_VISUAL_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::BorderVisual::Property::COLOR;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_BORDER_VISUAL_SIZE_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::BorderVisual::Property::SIZE;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_BORDER_VISUAL_ANTI_ALIASING_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::BorderVisual::Property::ANTI_ALIASING;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_COLOR_VISUAL_MIX_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::ColorVisual::Property::MIX_COLOR;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_START_POSITION_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::GradientVisual::Property::START_POSITION;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_END_POSITION_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::GradientVisual::Property::END_POSITION;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_CENTER_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::GradientVisual::Property::CENTER;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_RADIUS_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::GradientVisual::Property::RADIUS;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_STOP_OFFSET_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::GradientVisual::Property::STOP_OFFSET;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_STOP_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::GradientVisual::Property::STOP_COLOR;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_UNITS_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::GradientVisual::Property::UNITS;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GRADIENT_VISUAL_SPREAD_METHOD_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::GradientVisual::Property::SPREAD_METHOD;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_URL_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::ImageVisual::Property::URL;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_FITTING_MODE_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::ImageVisual::Property::FITTING_MODE;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_SAMPLING_MODE_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::ImageVisual::Property::SAMPLING_MODE;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_DESIRED_WIDTH_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::ImageVisual::Property::DESIRED_WIDTH;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_DESIRED_HEIGHT_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::ImageVisual::Property::DESIRED_HEIGHT;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_SYNCHRONOUS_LOADING_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::ImageVisual::Property::SYNCHRONOUS_LOADING;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_BORDER_ONLY_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::ImageVisual::Property::BORDER_ONLY;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_PIXEL_AREA_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::ImageVisual::Property::PIXEL_AREA;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_WRAP_MODE_U_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::ImageVisual::Property::WRAP_MODE_U;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_IMAGE_VISUAL_WRAP_MODE_V_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::ImageVisual::Property::WRAP_MODE_V;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_OBJECT_URL_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::MeshVisual::Property::OBJECT_URL;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_MATERIAL_URL_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::MeshVisual::Property::MATERIAL_URL;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_TEXTURES_PATH_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::MeshVisual::Property::TEXTURES_PATH;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_SHADING_MODE_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::MeshVisual::Property::SHADING_MODE;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_USE_MIPMAPPING_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::MeshVisual::Property::USE_MIPMAPPING;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_USE_SOFT_NORMALS_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::MeshVisual::Property::USE_SOFT_NORMALS;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_MESH_VISUAL_LIGHT_POSITION_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::MeshVisual::Property::LIGHT_POSITION;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_SHAPE_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::SHAPE;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_MIX_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::MIX_COLOR;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_SLICES_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::SLICES;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_STACKS_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::STACKS;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_SCALE_TOP_RADIUS_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::SCALE_TOP_RADIUS;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_SCALE_BOTTOM_RADIUS_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::SCALE_BOTTOM_RADIUS;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_SCALE_HEIGHT_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::SCALE_HEIGHT;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_SCALE_RADIUS_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::SCALE_RADIUS;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_SCALE_DIMENSIONS_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::SCALE_DIMENSIONS;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_BEVEL_PERCENTAGE_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::BEVEL_PERCENTAGE;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_BEVEL_SMOOTHNESS_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::BEVEL_SMOOTHNESS;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PRIMITIVE_VISUAL_LIGHT_POSITION_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::PrimitiveVisual::Property::LIGHT_POSITION;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TEXT_VISUAL_TEXT_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::TextVisual::Property::TEXT;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TEXT_VISUAL_FONT_FAMILY_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::TextVisual::Property::FONT_FAMILY;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TEXT_VISUAL_FONT_STYLE_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::TextVisual::Property::FONT_STYLE;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TEXT_VISUAL_POINT_SIZE_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::TextVisual::Property::POINT_SIZE;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TEXT_VISUAL_MULTI_LINE_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::TextVisual::Property::MULTI_LINE;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TEXT_VISUAL_HORIZONTAL_ALIGNMENT_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::TextVisual::Property::HORIZONTAL_ALIGNMENT;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TEXT_VISUAL_VERTICAL_ALIGNMENT_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::TextVisual::Property::VERTICAL_ALIGNMENT;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TEXT_VISUAL_TEXT_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::TextVisual::Property::TEXT_COLOR;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TEXT_VISUAL_ENABLE_MARKUP_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::TextVisual::Property::ENABLE_MARKUP;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Builder() {
+  void * jresult ;
+  Dali::Toolkit::Builder *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::Builder *)new Dali::Toolkit::Builder();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Builder_New() {
+  void * jresult ;
+  Dali::Toolkit::Builder result;
+  
+  {
+    try {
+      result = Dali::Toolkit::Builder::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::Builder((const Dali::Toolkit::Builder &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Builder(void * jarg1) {
+  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Builder *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Builder_LoadFromString__SWIG_0(void * jarg1, char * jarg2, int jarg3) {
+  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Toolkit::Builder::UIFormat arg3 ;
+  
+  arg1 = (Dali::Toolkit::Builder *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::Toolkit::Builder::UIFormat)jarg3; 
+  {
+    try {
+      (arg1)->LoadFromString((std::string const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+  
+  //argout typemap for const std::string&
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Builder_LoadFromString__SWIG_1(void * jarg1, char * jarg2) {
+  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
+  std::string *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Builder *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      (arg1)->LoadFromString((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+  
+  //argout typemap for const std::string&
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Builder_AddConstants(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
+  Dali::Property::Map *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Builder *)jarg1; 
+  arg2 = (Dali::Property::Map *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Map const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->AddConstants((Dali::Property::Map const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Builder_AddConstant(void * jarg1, char * jarg2, void * jarg3) {
+  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property::Value *arg3 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Builder *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::Property::Value *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Value const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->AddConstant((std::string const &)*arg2,(Dali::Property::Value const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+  
+  //argout typemap for const std::string&
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Builder_GetConstants(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
+  Dali::Property::Map *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Builder *)jarg1; 
+  {
+    try {
+      result = (Dali::Property::Map *) &((Dali::Toolkit::Builder const *)arg1)->GetConstants();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Builder_GetConstant(void * jarg1, char * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property::Value *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Builder *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      result = (Dali::Property::Value *) &((Dali::Toolkit::Builder const *)arg1)->GetConstant((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Builder_CreateAnimation__SWIG_0(void * jarg1, char * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Animation result;
+  
+  arg1 = (Dali::Toolkit::Builder *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      result = (arg1)->CreateAnimation((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Animation((const Dali::Animation &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Builder_CreateAnimation__SWIG_1(void * jarg1, char * jarg2, void * jarg3) {
+  void * jresult ;
+  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property::Map *arg3 = 0 ;
+  Dali::Animation result;
+  
+  arg1 = (Dali::Toolkit::Builder *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::Property::Map *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Map const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (arg1)->CreateAnimation((std::string const &)*arg2,(Dali::Property::Map const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Animation((const Dali::Animation &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Builder_CreateAnimation__SWIG_2(void * jarg1, char * jarg2, void * jarg3) {
+  void * jresult ;
+  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Actor arg3 ;
+  Dali::Actor *argp3 ;
+  Dali::Animation result;
+  
+  arg1 = (Dali::Toolkit::Builder *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  argp3 = (Dali::Actor *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg3 = *argp3; 
+  {
+    try {
+      result = (arg1)->CreateAnimation((std::string const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Animation((const Dali::Animation &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Builder_CreateAnimation__SWIG_3(void * jarg1, char * jarg2, void * jarg3, void * jarg4) {
+  void * jresult ;
+  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property::Map *arg3 = 0 ;
+  Dali::Actor arg4 ;
+  Dali::Actor *argp4 ;
+  Dali::Animation result;
+  
+  arg1 = (Dali::Toolkit::Builder *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::Property::Map *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Map const & type is null", 0);
+    return 0;
+  } 
+  argp4 = (Dali::Actor *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg4 = *argp4; 
+  {
+    try {
+      result = (arg1)->CreateAnimation((std::string const &)*arg2,(Dali::Property::Map const &)*arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Animation((const Dali::Animation &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Builder_Create__SWIG_0(void * jarg1, char * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::BaseHandle result;
+  
+  arg1 = (Dali::Toolkit::Builder *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      result = (arg1)->Create((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::BaseHandle((const Dali::BaseHandle &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Builder_Create__SWIG_1(void * jarg1, char * jarg2, void * jarg3) {
+  void * jresult ;
+  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property::Map *arg3 = 0 ;
+  Dali::BaseHandle result;
+  
+  arg1 = (Dali::Toolkit::Builder *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::Property::Map *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Map const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (arg1)->Create((std::string const &)*arg2,(Dali::Property::Map const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::BaseHandle((const Dali::BaseHandle &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Builder_CreateFromJson(void * jarg1, char * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::BaseHandle result;
+  
+  arg1 = (Dali::Toolkit::Builder *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      result = (arg1)->CreateFromJson((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::BaseHandle((const Dali::BaseHandle &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Builder_ApplyStyle(void * jarg1, char * jarg2, void * jarg3) {
+  unsigned int jresult ;
+  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Handle *arg3 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Builder *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::Handle *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Handle & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)(arg1)->ApplyStyle((std::string const &)*arg2,*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Builder_ApplyFromJson(void * jarg1, void * jarg2, char * jarg3) {
+  unsigned int jresult ;
+  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
+  Dali::Handle *arg2 = 0 ;
+  std::string *arg3 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Builder *)jarg1; 
+  arg2 = (Dali::Handle *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Handle & type is null", 0);
+    return 0;
+  } 
+  if (!jarg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg3_str(jarg3);
+  arg3 = &arg3_str; 
+  {
+    try {
+      result = (bool)(arg1)->ApplyFromJson(*arg2,(std::string const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Builder_AddActors__SWIG_0(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Toolkit::Builder *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->AddActors(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Builder_AddActors__SWIG_1(void * jarg1, char * jarg2, void * jarg3) {
+  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Actor arg3 ;
+  Dali::Actor *argp3 ;
+  
+  arg1 = (Dali::Toolkit::Builder *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  argp3 = (Dali::Actor *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  {
+    try {
+      (arg1)->AddActors((std::string const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+  
+  //argout typemap for const std::string&
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Builder_CreateRenderTask(void * jarg1, char * jarg2) {
+  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
+  std::string *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Builder *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      (arg1)->CreateRenderTask((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+  
+  //argout typemap for const std::string&
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Builder_GetFrameBufferImage(void * jarg1, char * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::FrameBufferImage result;
+  
+  arg1 = (Dali::Toolkit::Builder *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      result = (arg1)->GetFrameBufferImage((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::FrameBufferImage((const Dali::FrameBufferImage &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Builder_GetPath(void * jarg1, char * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Path result;
+  
+  arg1 = (Dali::Toolkit::Builder *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      result = (arg1)->GetPath((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Path((const Dali::Path &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Builder_GetPathConstrainer(void * jarg1, char * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::PathConstrainer result;
+  
+  arg1 = (Dali::Toolkit::Builder *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      result = (arg1)->GetPathConstrainer((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PathConstrainer((const Dali::PathConstrainer &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Builder_GetLinearConstrainer(void * jarg1, char * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::LinearConstrainer result;
+  
+  arg1 = (Dali::Toolkit::Builder *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      result = (arg1)->GetLinearConstrainer((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::LinearConstrainer((const Dali::LinearConstrainer &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Builder_QuitSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
+  Dali::Toolkit::Builder::BuilderSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Builder *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Builder::BuilderSignalType *) &(arg1)->QuitSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TransitionData__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::TransitionData *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::TransitionData *)new Dali::Toolkit::TransitionData();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TransitionData(void * jarg1) {
+  Dali::Toolkit::TransitionData *arg1 = (Dali::Toolkit::TransitionData *) 0 ;
+  
+  arg1 = (Dali::Toolkit::TransitionData *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TransitionData_New__SWIG_0(void * jarg1) {
+  void * jresult ;
+  Dali::Property::Map *arg1 = 0 ;
+  Dali::Toolkit::TransitionData result;
+  
+  arg1 = (Dali::Property::Map *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Map const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = Dali::Toolkit::TransitionData::New((Dali::Property::Map const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::TransitionData((const Dali::Toolkit::TransitionData &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TransitionData_New__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Property::Array *arg1 = 0 ;
+  Dali::Toolkit::TransitionData result;
+  
+  arg1 = (Dali::Property::Array *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Array const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = Dali::Toolkit::TransitionData::New((Dali::Property::Array const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::TransitionData((const Dali::Toolkit::TransitionData &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TransitionData_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::TransitionData result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::TransitionData::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::TransitionData((const Dali::Toolkit::TransitionData &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TransitionData__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::TransitionData *arg1 = 0 ;
+  Dali::Toolkit::TransitionData *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::TransitionData *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::TransitionData const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::TransitionData *)new Dali::Toolkit::TransitionData((Dali::Toolkit::TransitionData const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TransitionData_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::TransitionData *arg1 = (Dali::Toolkit::TransitionData *) 0 ;
+  Dali::Toolkit::TransitionData *arg2 = 0 ;
+  Dali::Toolkit::TransitionData *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::TransitionData *)jarg1; 
+  arg2 = (Dali::Toolkit::TransitionData *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::TransitionData const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::TransitionData *) &(arg1)->operator =((Dali::Toolkit::TransitionData const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TransitionData_Count(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Toolkit::TransitionData *arg1 = (Dali::Toolkit::TransitionData *) 0 ;
+  size_t result;
+  
+  arg1 = (Dali::Toolkit::TransitionData *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::TransitionData const *)arg1)->Count();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TransitionData_GetAnimatorAt(void * jarg1, unsigned long jarg2) {
+  void * jresult ;
+  Dali::Toolkit::TransitionData *arg1 = (Dali::Toolkit::TransitionData *) 0 ;
+  size_t arg2 ;
+  Dali::Property::Map result;
+  
+  arg1 = (Dali::Toolkit::TransitionData *)jarg1; 
+  arg2 = (size_t)jarg2; 
+  {
+    try {
+      result = (arg1)->GetAnimatorAt(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Property::Map((const Dali::Property::Map &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TransitionData__SWIG_2(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Internal::TransitionData *arg1 = (Dali::Toolkit::Internal::TransitionData *) 0 ;
+  Dali::Toolkit::TransitionData *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::TransitionData *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::TransitionData *)new Dali::Toolkit::TransitionData(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TOOLTIP_CONTENT_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Property::CONTENT;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TOOLTIP_LAYOUT_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Property::LAYOUT;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TOOLTIP_WAIT_TIME_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Property::WAIT_TIME;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TOOLTIP_BACKGROUND_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Property::BACKGROUND;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TOOLTIP_TAIL_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Property::TAIL;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TOOLTIP_POSITION_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Property::POSITION;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TOOLTIP_HOVER_POINT_OFFSET_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Property::HOVER_POINT_OFFSET;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TOOLTIP_MOVEMENT_THRESHOLD_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Property::MOVEMENT_THRESHOLD;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TOOLTIP_DISAPPEAR_ON_MOVEMENT_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Property::DISAPPEAR_ON_MOVEMENT;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TOOLTIP_BACKGROUND_VISUAL_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Background::Property::VISUAL;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TOOLTIP_BACKGROUND_BORDER_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Background::Property::BORDER;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TOOLTIP_TAIL_VISIBILITY_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Tail::Property::VISIBILITY;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TOOLTIP_TAIL_ABOVE_VISUAL_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Tail::Property::ABOVE_VISUAL;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TOOLTIP_TAIL_BELOW_VISUAL_get() {
+  int jresult ;
+  int result;
+  
+  {
+    try {
+      result = (int)Dali::Toolkit::Tooltip::Tail::Property::BELOW_VISUAL;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ViewImpl_New() {
+  void * jresult ;
+  Dali::Toolkit::Control result;
+  
+  {
+    try {
+      result = Dali::Toolkit::Internal::Control::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::Control((const Dali::Toolkit::Control &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_SetStyleName(void * jarg1, char * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  std::string *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      (arg1)->SetStyleName((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+  
+  //argout typemap for const std::string&
+  
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_ViewImpl_GetStyleName(void * jarg1) {
+  char * jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  std::string *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      result = (std::string *) &((Dali::Toolkit::Internal::Control const *)arg1)->GetStyleName();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = SWIG_csharp_string_callback(result->c_str()); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_SetBackgroundColor(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetBackgroundColor((Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ViewImpl_GetBackgroundColor(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Vector4 result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::Internal::Control const *)arg1)->GetBackgroundColor();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector4((const Dali::Vector4 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_SetBackgroundImage(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Image arg2 ;
+  Dali::Image *argp2 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  argp2 = (Dali::Image *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Image", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetBackgroundImage(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_SetBackground(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Property::Map *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Property::Map *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Map const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetBackground((Dali::Property::Map const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_ClearBackground(void * jarg1) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      (arg1)->ClearBackground();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_EnableGestureDetection(void * jarg1, int jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Gesture::Type arg2 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Gesture::Type)jarg2; 
+  {
+    try {
+      (arg1)->EnableGestureDetection(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_DisableGestureDetection(void * jarg1, int jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Gesture::Type arg2 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Gesture::Type)jarg2; 
+  {
+    try {
+      (arg1)->DisableGestureDetection(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ViewImpl_GetPinchGestureDetector(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::PinchGestureDetector result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::Internal::Control const *)arg1)->GetPinchGestureDetector();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PinchGestureDetector((const Dali::PinchGestureDetector &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ViewImpl_GetPanGestureDetector(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::PanGestureDetector result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::Internal::Control const *)arg1)->GetPanGestureDetector();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PanGestureDetector((const Dali::PanGestureDetector &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ViewImpl_GetTapGestureDetector(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::TapGestureDetector result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::Internal::Control const *)arg1)->GetTapGestureDetector();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::TapGestureDetector((const Dali::TapGestureDetector &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ViewImpl_GetLongPressGestureDetector(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::LongPressGestureDetector result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::Internal::Control const *)arg1)->GetLongPressGestureDetector();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::LongPressGestureDetector((const Dali::LongPressGestureDetector &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_SetKeyboardNavigationSupport(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetKeyboardNavigationSupport(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_IsKeyboardNavigationSupported(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      result = (bool)(arg1)->IsKeyboardNavigationSupported();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_SetKeyInputFocus(void * jarg1) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      (arg1)->SetKeyInputFocus();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_HasKeyInputFocus(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      result = (bool)(arg1)->HasKeyInputFocus();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_ClearKeyInputFocus(void * jarg1) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      (arg1)->ClearKeyInputFocus();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_SetAsKeyboardFocusGroup(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetAsKeyboardFocusGroup(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_IsKeyboardFocusGroup(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      result = (bool)(arg1)->IsKeyboardFocusGroup();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_AccessibilityActivate(void * jarg1) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      (arg1)->AccessibilityActivate();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_KeyboardEnter(void * jarg1) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      (arg1)->KeyboardEnter();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ViewImpl_KeyEventSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Toolkit::Control::KeyEventSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Control::KeyEventSignalType *) &(arg1)->KeyEventSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ViewImpl_KeyInputFocusGainedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Toolkit::Control::KeyInputFocusSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Control::KeyInputFocusSignalType *) &(arg1)->KeyInputFocusGainedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ViewImpl_KeyInputFocusLostSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Toolkit::Control::KeyInputFocusSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Control::KeyInputFocusSignalType *) &(arg1)->KeyInputFocusLostSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_EmitKeyEventSignal(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::KeyEvent *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::KeyEvent *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::KeyEvent const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)(arg1)->EmitKeyEventSignal((Dali::KeyEvent const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnStageConnection(void * jarg1, int jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  int arg2 ;
+  SwigDirector_ViewImpl *darg = 0;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (int)jarg2; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      (darg)->OnStageConnection(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnStageConnectionSwigExplicitViewImpl(void * jarg1, int jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  int arg2 ;
+  SwigDirector_ViewImpl *darg = 0;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (int)jarg2; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      (darg)->OnStageConnectionSwigPublic(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnStageDisconnection(void * jarg1) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  SwigDirector_ViewImpl *darg = 0;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      (darg)->OnStageDisconnection();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnStageDisconnectionSwigExplicitViewImpl(void * jarg1) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  SwigDirector_ViewImpl *darg = 0;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      (darg)->OnStageDisconnectionSwigPublic();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnChildAdd(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Actor *arg2 = 0 ;
+  SwigDirector_ViewImpl *darg = 0;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Actor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor & type is null", 0);
+    return ;
+  } 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      (darg)->OnChildAdd(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnChildAddSwigExplicitViewImpl(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Actor *arg2 = 0 ;
+  SwigDirector_ViewImpl *darg = 0;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Actor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor & type is null", 0);
+    return ;
+  } 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      (darg)->OnChildAddSwigPublic(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnChildRemove(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Actor *arg2 = 0 ;
+  SwigDirector_ViewImpl *darg = 0;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Actor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor & type is null", 0);
+    return ;
+  } 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      (darg)->OnChildRemove(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnChildRemoveSwigExplicitViewImpl(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Actor *arg2 = 0 ;
+  SwigDirector_ViewImpl *darg = 0;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Actor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor & type is null", 0);
+    return ;
+  } 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      (darg)->OnChildRemoveSwigPublic(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnPropertySet(void * jarg1, int jarg2, void * jarg3) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Property::Index arg2 ;
+  Dali::Property::Value arg3 ;
+  Dali::Property::Value *argp3 ;
+  SwigDirector_ViewImpl *darg = 0;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  argp3 = (Dali::Property::Value *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property::Value", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      (darg)->OnPropertySet(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnPropertySetSwigExplicitViewImpl(void * jarg1, int jarg2, void * jarg3) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Property::Index arg2 ;
+  Dali::Property::Value arg3 ;
+  Dali::Property::Value *argp3 ;
+  SwigDirector_ViewImpl *darg = 0;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Property::Index)jarg2; 
+  argp3 = (Dali::Property::Value *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Property::Value", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      (darg)->OnPropertySetSwigPublic(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnSizeSet(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  SwigDirector_ViewImpl *darg = 0;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      (darg)->OnSizeSet((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnSizeSetSwigExplicitViewImpl(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  SwigDirector_ViewImpl *darg = 0;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      (darg)->OnSizeSetSwigPublic((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnSizeAnimation(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Animation *arg2 = 0 ;
+  Dali::Vector3 *arg3 = 0 ;
+  SwigDirector_ViewImpl *darg = 0;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Animation *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Animation & type is null", 0);
+    return ;
+  } 
+  arg3 = (Dali::Vector3 *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      (darg)->OnSizeAnimation(*arg2,(Dali::Vector3 const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnSizeAnimationSwigExplicitViewImpl(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Animation *arg2 = 0 ;
+  Dali::Vector3 *arg3 = 0 ;
+  SwigDirector_ViewImpl *darg = 0;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Animation *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Animation & type is null", 0);
+    return ;
+  } 
+  arg3 = (Dali::Vector3 *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      (darg)->OnSizeAnimationSwigPublic(*arg2,(Dali::Vector3 const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnTouchEvent(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::TouchEvent *arg2 = 0 ;
+  SwigDirector_ViewImpl *darg = 0;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::TouchEvent *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TouchEvent const & type is null", 0);
+    return 0;
+  } 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      result = (bool)(darg)->OnTouchEvent((Dali::TouchEvent const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnTouchEventSwigExplicitViewImpl(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::TouchEvent *arg2 = 0 ;
+  SwigDirector_ViewImpl *darg = 0;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::TouchEvent *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TouchEvent const & type is null", 0);
+    return 0;
+  } 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      result = (bool)(darg)->OnTouchEventSwigPublic((Dali::TouchEvent const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnHoverEvent(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::HoverEvent *arg2 = 0 ;
+  SwigDirector_ViewImpl *darg = 0;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::HoverEvent *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::HoverEvent const & type is null", 0);
+    return 0;
+  } 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      result = (bool)(darg)->OnHoverEvent((Dali::HoverEvent const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnHoverEventSwigExplicitViewImpl(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::HoverEvent *arg2 = 0 ;
+  SwigDirector_ViewImpl *darg = 0;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::HoverEvent *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::HoverEvent const & type is null", 0);
+    return 0;
+  } 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      result = (bool)(darg)->OnHoverEventSwigPublic((Dali::HoverEvent const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnKeyEvent(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::KeyEvent *arg2 = 0 ;
+  SwigDirector_ViewImpl *darg = 0;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::KeyEvent *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::KeyEvent const & type is null", 0);
+    return 0;
+  } 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      result = (bool)(darg)->OnKeyEvent((Dali::KeyEvent const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnKeyEventSwigExplicitViewImpl(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::KeyEvent *arg2 = 0 ;
+  SwigDirector_ViewImpl *darg = 0;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::KeyEvent *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::KeyEvent const & type is null", 0);
+    return 0;
+  } 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      result = (bool)(darg)->OnKeyEventSwigPublic((Dali::KeyEvent const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnWheelEvent(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::WheelEvent *arg2 = 0 ;
+  SwigDirector_ViewImpl *darg = 0;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::WheelEvent *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::WheelEvent const & type is null", 0);
+    return 0;
+  } 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      result = (bool)(darg)->OnWheelEvent((Dali::WheelEvent const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnWheelEventSwigExplicitViewImpl(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::WheelEvent *arg2 = 0 ;
+  SwigDirector_ViewImpl *darg = 0;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::WheelEvent *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::WheelEvent const & type is null", 0);
+    return 0;
+  } 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      result = (bool)(darg)->OnWheelEventSwigPublic((Dali::WheelEvent const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnRelayout(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  Dali::RelayoutContainer *arg3 = 0 ;
+  SwigDirector_ViewImpl *darg = 0;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return ;
+  } 
+  arg3 = (Dali::RelayoutContainer *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::RelayoutContainer & type is null", 0);
+    return ;
+  } 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      (darg)->OnRelayout((Dali::Vector2 const &)*arg2,*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnRelayoutSwigExplicitViewImpl(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  Dali::RelayoutContainer *arg3 = 0 ;
+  SwigDirector_ViewImpl *darg = 0;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return ;
+  } 
+  arg3 = (Dali::RelayoutContainer *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::RelayoutContainer & type is null", 0);
+    return ;
+  } 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      (darg)->OnRelayoutSwigPublic((Dali::Vector2 const &)*arg2,*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnSetResizePolicy(void * jarg1, int jarg2, int jarg3) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::ResizePolicy::Type arg2 ;
+  Dali::Dimension::Type arg3 ;
+  SwigDirector_ViewImpl *darg = 0;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::ResizePolicy::Type)jarg2; 
+  arg3 = (Dali::Dimension::Type)jarg3; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      (darg)->OnSetResizePolicy(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnSetResizePolicySwigExplicitViewImpl(void * jarg1, int jarg2, int jarg3) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::ResizePolicy::Type arg2 ;
+  Dali::Dimension::Type arg3 ;
+  SwigDirector_ViewImpl *darg = 0;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::ResizePolicy::Type)jarg2; 
+  arg3 = (Dali::Dimension::Type)jarg3; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      (darg)->OnSetResizePolicySwigPublic(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ViewImpl_GetNaturalSize(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  SwigDirector_ViewImpl *darg = 0;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      result = (darg)->GetNaturalSize();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ViewImpl_GetNaturalSizeSwigExplicitViewImpl(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  SwigDirector_ViewImpl *darg = 0;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      result = (darg)->GetNaturalSizeSwigPublic();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ViewImpl_CalculateChildSize(void * jarg1, void * jarg2, int jarg3) {
+  float jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Actor *arg2 = 0 ;
+  Dali::Dimension::Type arg3 ;
+  SwigDirector_ViewImpl *darg = 0;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Actor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor const & type is null", 0);
+    return 0;
+  } 
+  arg3 = (Dali::Dimension::Type)jarg3; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      result = (float)(darg)->CalculateChildSize((Dali::Actor const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ViewImpl_CalculateChildSizeSwigExplicitViewImpl(void * jarg1, void * jarg2, int jarg3) {
+  float jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Actor *arg2 = 0 ;
+  Dali::Dimension::Type arg3 ;
+  SwigDirector_ViewImpl *darg = 0;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Actor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor const & type is null", 0);
+    return 0;
+  } 
+  arg3 = (Dali::Dimension::Type)jarg3; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      result = (float)(darg)->CalculateChildSizeSwigPublic((Dali::Actor const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ViewImpl_GetHeightForWidth(void * jarg1, float jarg2) {
+  float jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  float arg2 ;
+  SwigDirector_ViewImpl *darg = 0;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (float)jarg2; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      result = (float)(darg)->GetHeightForWidth(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ViewImpl_GetHeightForWidthSwigExplicitViewImpl(void * jarg1, float jarg2) {
+  float jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  float arg2 ;
+  SwigDirector_ViewImpl *darg = 0;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (float)jarg2; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      result = (float)(darg)->GetHeightForWidthSwigPublic(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ViewImpl_GetWidthForHeight(void * jarg1, float jarg2) {
+  float jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  float arg2 ;
+  SwigDirector_ViewImpl *darg = 0;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (float)jarg2; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      result = (float)(darg)->GetWidthForHeight(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ViewImpl_GetWidthForHeightSwigExplicitViewImpl(void * jarg1, float jarg2) {
+  float jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  float arg2 ;
+  SwigDirector_ViewImpl *darg = 0;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (float)jarg2; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      result = (float)(darg)->GetWidthForHeightSwigPublic(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_RelayoutDependentOnChildren__SWIG_0(void * jarg1, int jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Dimension::Type arg2 ;
+  SwigDirector_ViewImpl *darg = 0;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Dimension::Type)jarg2; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      result = (bool)(darg)->RelayoutDependentOnChildren(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_RelayoutDependentOnChildrenSwigExplicitViewImpl__SWIG_0(void * jarg1, int jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Dimension::Type arg2 ;
+  SwigDirector_ViewImpl *darg = 0;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Dimension::Type)jarg2; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      result = (bool)(darg)->RelayoutDependentOnChildrenSwigPublic(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_RelayoutDependentOnChildren__SWIG_1(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  SwigDirector_ViewImpl *darg = 0;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      result = (bool)(darg)->RelayoutDependentOnChildren();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_RelayoutDependentOnChildrenSwigExplicitViewImpl__SWIG_1(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  SwigDirector_ViewImpl *darg = 0;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      result = (bool)(darg)->RelayoutDependentOnChildrenSwigPublic();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnCalculateRelayoutSize(void * jarg1, int jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Dimension::Type arg2 ;
+  SwigDirector_ViewImpl *darg = 0;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Dimension::Type)jarg2; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      (darg)->OnCalculateRelayoutSize(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnCalculateRelayoutSizeSwigExplicitViewImpl(void * jarg1, int jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Dimension::Type arg2 ;
+  SwigDirector_ViewImpl *darg = 0;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Dimension::Type)jarg2; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      (darg)->OnCalculateRelayoutSizeSwigPublic(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnLayoutNegotiated(void * jarg1, float jarg2, int jarg3) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  float arg2 ;
+  Dali::Dimension::Type arg3 ;
+  SwigDirector_ViewImpl *darg = 0;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (Dali::Dimension::Type)jarg3; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      (darg)->OnLayoutNegotiated(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnLayoutNegotiatedSwigExplicitViewImpl(void * jarg1, float jarg2, int jarg3) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  float arg2 ;
+  Dali::Dimension::Type arg3 ;
+  SwigDirector_ViewImpl *darg = 0;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (Dali::Dimension::Type)jarg3; 
+  darg = dynamic_cast<SwigDirector_ViewImpl *>(arg1);
+  {
+    try {
+      (darg)->OnLayoutNegotiatedSwigPublic(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnInitialize(void * jarg1) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      (arg1)->OnInitialize();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnInitializeSwigExplicitViewImpl(void * jarg1) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      (arg1)->Dali::Toolkit::Internal::Control::OnInitialize();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnControlChildAdd(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Actor *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Actor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->OnControlChildAdd(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnControlChildAddSwigExplicitViewImpl(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Actor *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Actor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Dali::Toolkit::Internal::Control::OnControlChildAdd(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnControlChildRemove(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Actor *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Actor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->OnControlChildRemove(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnControlChildRemoveSwigExplicitViewImpl(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Actor *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::Actor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Dali::Toolkit::Internal::Control::OnControlChildRemove(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnStyleChange(void * jarg1, void * jarg2, int jarg3) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Toolkit::StyleManager arg2 ;
+  Dali::StyleChange::Type arg3 ;
+  Dali::Toolkit::StyleManager *argp2 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  argp2 = (Dali::Toolkit::StyleManager *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::StyleManager", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::StyleChange::Type)jarg3; 
+  {
+    try {
+      (arg1)->OnStyleChange(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnStyleChangeSwigExplicitViewImpl(void * jarg1, void * jarg2, int jarg3) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Toolkit::StyleManager arg2 ;
+  Dali::StyleChange::Type arg3 ;
+  Dali::Toolkit::StyleManager *argp2 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  argp2 = (Dali::Toolkit::StyleManager *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::StyleManager", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::StyleChange::Type)jarg3; 
+  {
+    try {
+      (arg1)->Dali::Toolkit::Internal::Control::OnStyleChange(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnAccessibilityActivated(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      result = (bool)(arg1)->OnAccessibilityActivated();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnAccessibilityActivatedSwigExplicitViewImpl(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      result = (bool)(arg1)->Dali::Toolkit::Internal::Control::OnAccessibilityActivated();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnAccessibilityPan(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::PanGesture arg2 ;
+  Dali::PanGesture *argp2 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  argp2 = (Dali::PanGesture *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::PanGesture", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (bool)(arg1)->OnAccessibilityPan(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnAccessibilityPanSwigExplicitViewImpl(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::PanGesture arg2 ;
+  Dali::PanGesture *argp2 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  argp2 = (Dali::PanGesture *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::PanGesture", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (bool)(arg1)->Dali::Toolkit::Internal::Control::OnAccessibilityPan(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnAccessibilityTouch(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::TouchEvent *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::TouchEvent *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TouchEvent const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)(arg1)->OnAccessibilityTouch((Dali::TouchEvent const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnAccessibilityTouchSwigExplicitViewImpl(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::TouchEvent *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::TouchEvent *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TouchEvent const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)(arg1)->Dali::Toolkit::Internal::Control::OnAccessibilityTouch((Dali::TouchEvent const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnAccessibilityValueChange(void * jarg1, unsigned int jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  bool arg2 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      result = (bool)(arg1)->OnAccessibilityValueChange(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnAccessibilityValueChangeSwigExplicitViewImpl(void * jarg1, unsigned int jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  bool arg2 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      result = (bool)(arg1)->Dali::Toolkit::Internal::Control::OnAccessibilityValueChange(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnAccessibilityZoom(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      result = (bool)(arg1)->OnAccessibilityZoom();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnAccessibilityZoomSwigExplicitViewImpl(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      result = (bool)(arg1)->Dali::Toolkit::Internal::Control::OnAccessibilityZoom();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnKeyInputFocusGained(void * jarg1) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      (arg1)->OnKeyInputFocusGained();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnKeyInputFocusGainedSwigExplicitViewImpl(void * jarg1) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      (arg1)->Dali::Toolkit::Internal::Control::OnKeyInputFocusGained();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnKeyInputFocusLost(void * jarg1) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      (arg1)->OnKeyInputFocusLost();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnKeyInputFocusLostSwigExplicitViewImpl(void * jarg1) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      (arg1)->Dali::Toolkit::Internal::Control::OnKeyInputFocusLost();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ViewImpl_GetNextKeyboardFocusableActor(void * jarg1, void * jarg2, int jarg3, unsigned int jarg4) {
+  void * jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Toolkit::Control::KeyboardFocus::Direction arg3 ;
+  bool arg4 ;
+  Dali::Actor *argp2 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::Toolkit::Control::KeyboardFocus::Direction)jarg3; 
+  arg4 = jarg4 ? true : false; 
+  {
+    try {
+      result = (arg1)->GetNextKeyboardFocusableActor(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ViewImpl_GetNextKeyboardFocusableActorSwigExplicitViewImpl(void * jarg1, void * jarg2, int jarg3, unsigned int jarg4) {
+  void * jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Toolkit::Control::KeyboardFocus::Direction arg3 ;
+  bool arg4 ;
+  Dali::Actor *argp2 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::Toolkit::Control::KeyboardFocus::Direction)jarg3; 
+  arg4 = jarg4 ? true : false; 
+  {
+    try {
+      result = (arg1)->Dali::Toolkit::Internal::Control::GetNextKeyboardFocusableActor(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnKeyboardFocusChangeCommitted(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->OnKeyboardFocusChangeCommitted(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnKeyboardFocusChangeCommittedSwigExplicitViewImpl(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->Dali::Toolkit::Internal::Control::OnKeyboardFocusChangeCommitted(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnKeyboardEnter(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      result = (bool)(arg1)->OnKeyboardEnter();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ViewImpl_OnKeyboardEnterSwigExplicitViewImpl(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  {
+    try {
+      result = (bool)(arg1)->Dali::Toolkit::Internal::Control::OnKeyboardEnter();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnPinch(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::PinchGesture *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::PinchGesture *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PinchGesture const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->OnPinch((Dali::PinchGesture const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnPinchSwigExplicitViewImpl(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::PinchGesture *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::PinchGesture *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PinchGesture const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Dali::Toolkit::Internal::Control::OnPinch((Dali::PinchGesture const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnPan(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::PanGesture *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::PanGesture *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PanGesture const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->OnPan((Dali::PanGesture const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnPanSwigExplicitViewImpl(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::PanGesture *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::PanGesture *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::PanGesture const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Dali::Toolkit::Internal::Control::OnPan((Dali::PanGesture const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnTap(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::TapGesture *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::TapGesture *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TapGesture const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->OnTap((Dali::TapGesture const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnTapSwigExplicitViewImpl(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::TapGesture *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::TapGesture *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::TapGesture const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Dali::Toolkit::Internal::Control::OnTap((Dali::TapGesture const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnLongPress(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::LongPressGesture *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::LongPressGesture *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::LongPressGesture const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->OnLongPress((Dali::LongPressGesture const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_OnLongPressSwigExplicitViewImpl(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::LongPressGesture *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::LongPressGesture *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::LongPressGesture const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Dali::Toolkit::Internal::Control::OnLongPress((Dali::LongPressGesture const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_SignalConnected(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::SlotObserver *arg2 = (Dali::SlotObserver *) 0 ;
+  Dali::CallbackBase *arg3 = (Dali::CallbackBase *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::SlotObserver *)jarg2; 
+  arg3 = (Dali::CallbackBase *)jarg3; 
+  {
+    try {
+      (arg1)->SignalConnected(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_SignalConnectedSwigExplicitViewImpl(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::SlotObserver *arg2 = (Dali::SlotObserver *) 0 ;
+  Dali::CallbackBase *arg3 = (Dali::CallbackBase *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::SlotObserver *)jarg2; 
+  arg3 = (Dali::CallbackBase *)jarg3; 
+  {
+    try {
+      (arg1)->Dali::Toolkit::Internal::Control::SignalConnected(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_SignalDisconnected(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::SlotObserver *arg2 = (Dali::SlotObserver *) 0 ;
+  Dali::CallbackBase *arg3 = (Dali::CallbackBase *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::SlotObserver *)jarg2; 
+  arg3 = (Dali::CallbackBase *)jarg3; 
+  {
+    try {
+      (arg1)->SignalDisconnected(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_SignalDisconnectedSwigExplicitViewImpl(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Toolkit::Internal::Control *arg1 = (Dali::Toolkit::Internal::Control *) 0 ;
+  Dali::SlotObserver *arg2 = (Dali::SlotObserver *) 0 ;
+  Dali::CallbackBase *arg3 = (Dali::CallbackBase *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1; 
+  arg2 = (Dali::SlotObserver *)jarg2; 
+  arg3 = (Dali::CallbackBase *)jarg3; 
+  {
+    try {
+      (arg1)->Dali::Toolkit::Internal::Control::SignalDisconnected(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewImpl_director_connect(void *objarg, SwigDirector_ViewImpl::SWIG_Callback0_t callback0, SwigDirector_ViewImpl::SWIG_Callback1_t callback1, SwigDirector_ViewImpl::SWIG_Callback2_t callback2, SwigDirector_ViewImpl::SWIG_Callback3_t callback3, SwigDirector_ViewImpl::SWIG_Callback4_t callback4, SwigDirector_ViewImpl::SWIG_Callback5_t callback5, SwigDirector_ViewImpl::SWIG_Callback6_t callback6, SwigDirector_ViewImpl::SWIG_Callback7_t callback7, SwigDirector_ViewImpl::SWIG_Callback8_t callback8, SwigDirector_ViewImpl::SWIG_Callback9_t callback9, SwigDirector_ViewImpl::SWIG_Callback10_t callback10, SwigDirector_ViewImpl::SWIG_Callback11_t callback11, SwigDirector_ViewImpl::SWIG_Callback12_t callback12, SwigDirector_ViewImpl::SWIG_Callback13_t callback13, SwigDirector_ViewImpl::SWIG_Callback14_t callback14, SwigDirector_ViewImpl::SWIG_Callback15_t callback15, SwigDirector_ViewImpl::SWIG_Callback16_t callback16, SwigDirector_ViewImpl::SWIG_Callback17_t callback17, SwigDirector_ViewImpl::SWIG_Callback18_t callback18, SwigDirector_ViewImpl::SWIG_Callback19_t callback19, SwigDirector_ViewImpl::SWIG_Callback20_t callback20, SwigDirector_ViewImpl::SWIG_Callback21_t callback21, SwigDirector_ViewImpl::SWIG_Callback22_t callback22, SwigDirector_ViewImpl::SWIG_Callback23_t callback23, SwigDirector_ViewImpl::SWIG_Callback24_t callback24, SwigDirector_ViewImpl::SWIG_Callback25_t callback25, SwigDirector_ViewImpl::SWIG_Callback26_t callback26, SwigDirector_ViewImpl::SWIG_Callback27_t callback27, SwigDirector_ViewImpl::SWIG_Callback28_t callback28, SwigDirector_ViewImpl::SWIG_Callback29_t callback29, SwigDirector_ViewImpl::SWIG_Callback30_t callback30, SwigDirector_ViewImpl::SWIG_Callback31_t callback31, SwigDirector_ViewImpl::SWIG_Callback32_t callback32, SwigDirector_ViewImpl::SWIG_Callback33_t callback33, SwigDirector_ViewImpl::SWIG_Callback34_t callback34, SwigDirector_ViewImpl::SWIG_Callback35_t callback35, SwigDirector_ViewImpl::SWIG_Callback36_t callback36, SwigDirector_ViewImpl::SWIG_Callback37_t callback37, SwigDirector_ViewImpl::SWIG_Callback38_t callback38, SwigDirector_ViewImpl::SWIG_Callback39_t callback39, SwigDirector_ViewImpl::SWIG_Callback40_t callback40) {
+  Dali::Toolkit::Internal::Control *obj = (Dali::Toolkit::Internal::Control *)objarg;
+  SwigDirector_ViewImpl *director = dynamic_cast<SwigDirector_ViewImpl *>(obj);
+  if (director) {
+    director->swig_connect_director(callback0, callback1, callback2, callback3, callback4, callback5, callback6, callback7, callback8, callback9, callback10, callback11, callback12, callback13, callback14, callback15, callback16, callback17, callback18, callback19, callback20, callback21, callback22, callback23, callback24, callback25, callback26, callback27, callback28, callback29, callback30, callback31, callback32, callback33, callback34, callback35, callback36, callback37, callback38, callback39, callback40);
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_GetImplementation__SWIG_0(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Control *arg1 = 0 ;
+  Dali::Toolkit::Internal::Control *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Control *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Control & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::Internal::Control *) &Dali::Toolkit::Internal::GetImplementation(*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_View_Property_STYLE_NAME_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Control::Property::STYLE_NAME;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_View_Property_BACKGROUND_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Control::Property::BACKGROUND_COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_View_Property_BACKGROUND_IMAGE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Control::Property::BACKGROUND_IMAGE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_View_Property_KEY_INPUT_FOCUS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Control::Property::KEY_INPUT_FOCUS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_View_Property_BACKGROUND_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Control::Property::BACKGROUND;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_View_Property() {
+  void * jresult ;
+  Dali::Toolkit::Control::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::Control::Property *)new Dali::Toolkit::Control::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_View_Property(void * jarg1) {
+  Dali::Toolkit::Control::Property *arg1 = (Dali::Toolkit::Control::Property *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Control::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_View_KeyboardFocus() {
+  void * jresult ;
+  Dali::Toolkit::Control::KeyboardFocus *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::Control::KeyboardFocus *)new Dali::Toolkit::Control::KeyboardFocus();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_View_KeyboardFocus(void * jarg1) {
+  Dali::Toolkit::Control::KeyboardFocus *arg1 = (Dali::Toolkit::Control::KeyboardFocus *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Control::KeyboardFocus *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_View_New() {
+  void * jresult ;
+  Dali::Toolkit::Control result;
+  
+  {
+    try {
+      result = Dali::Toolkit::Control::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::Control((const Dali::Toolkit::Control &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_View__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::Control *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::Control *)new Dali::Toolkit::Control();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_View__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Control *arg1 = 0 ;
+  Dali::Toolkit::Control *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Control *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Control const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::Control *)new Dali::Toolkit::Control((Dali::Toolkit::Control const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_View(void * jarg1) {
+  Dali::Toolkit::Control *arg1 = (Dali::Toolkit::Control *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Control *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_View_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::Control *arg1 = (Dali::Toolkit::Control *) 0 ;
+  Dali::Toolkit::Control *arg2 = 0 ;
+  Dali::Toolkit::Control *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Control *)jarg1; 
+  arg2 = (Dali::Toolkit::Control *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Control const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::Control *) &(arg1)->operator =((Dali::Toolkit::Control const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_View_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::Control result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::Control::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::Control((const Dali::Toolkit::Control &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_View_SetKeyInputFocus(void * jarg1) {
+  Dali::Toolkit::Control *arg1 = (Dali::Toolkit::Control *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Control *)jarg1; 
+  {
+    try {
+      (arg1)->SetKeyInputFocus();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_View_HasKeyInputFocus(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::Control *arg1 = (Dali::Toolkit::Control *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Control *)jarg1; 
+  {
+    try {
+      result = (bool)(arg1)->HasKeyInputFocus();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_View_ClearKeyInputFocus(void * jarg1) {
+  Dali::Toolkit::Control *arg1 = (Dali::Toolkit::Control *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Control *)jarg1; 
+  {
+    try {
+      (arg1)->ClearKeyInputFocus();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_View_GetPinchGestureDetector(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Control *arg1 = (Dali::Toolkit::Control *) 0 ;
+  Dali::PinchGestureDetector result;
+  
+  arg1 = (Dali::Toolkit::Control *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::Control const *)arg1)->GetPinchGestureDetector();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PinchGestureDetector((const Dali::PinchGestureDetector &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_View_GetPanGestureDetector(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Control *arg1 = (Dali::Toolkit::Control *) 0 ;
+  Dali::PanGestureDetector result;
+  
+  arg1 = (Dali::Toolkit::Control *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::Control const *)arg1)->GetPanGestureDetector();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PanGestureDetector((const Dali::PanGestureDetector &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_View_GetTapGestureDetector(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Control *arg1 = (Dali::Toolkit::Control *) 0 ;
+  Dali::TapGestureDetector result;
+  
+  arg1 = (Dali::Toolkit::Control *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::Control const *)arg1)->GetTapGestureDetector();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::TapGestureDetector((const Dali::TapGestureDetector &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_View_GetLongPressGestureDetector(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Control *arg1 = (Dali::Toolkit::Control *) 0 ;
+  Dali::LongPressGestureDetector result;
+  
+  arg1 = (Dali::Toolkit::Control *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::Control const *)arg1)->GetLongPressGestureDetector();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::LongPressGestureDetector((const Dali::LongPressGestureDetector &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_View_SetStyleName(void * jarg1, char * jarg2) {
+  Dali::Toolkit::Control *arg1 = (Dali::Toolkit::Control *) 0 ;
+  std::string *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Control *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      (arg1)->SetStyleName((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+  
+  //argout typemap for const std::string&
+  
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_View_GetStyleName(void * jarg1) {
+  char * jresult ;
+  Dali::Toolkit::Control *arg1 = (Dali::Toolkit::Control *) 0 ;
+  std::string *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Control *)jarg1; 
+  {
+    try {
+      result = (std::string *) &((Dali::Toolkit::Control const *)arg1)->GetStyleName();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = SWIG_csharp_string_callback(result->c_str()); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_View_SetBackgroundColor(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Control *arg1 = (Dali::Toolkit::Control *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Control *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetBackgroundColor((Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_View_GetBackgroundColor(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Control *arg1 = (Dali::Toolkit::Control *) 0 ;
+  Dali::Vector4 result;
+  
+  arg1 = (Dali::Toolkit::Control *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::Control const *)arg1)->GetBackgroundColor();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector4((const Dali::Vector4 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_View_SetBackgroundImage(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Control *arg1 = (Dali::Toolkit::Control *) 0 ;
+  Dali::Image arg2 ;
+  Dali::Image *argp2 ;
+  
+  arg1 = (Dali::Toolkit::Control *)jarg1; 
+  argp2 = (Dali::Image *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Image", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetBackgroundImage(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_View_ClearBackground(void * jarg1) {
+  Dali::Toolkit::Control *arg1 = (Dali::Toolkit::Control *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Control *)jarg1; 
+  {
+    try {
+      (arg1)->ClearBackground();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_View_KeyEventSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Control *arg1 = (Dali::Toolkit::Control *) 0 ;
+  Dali::Toolkit::Control::KeyEventSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Control *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Control::KeyEventSignalType *) &(arg1)->KeyEventSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_View_KeyInputFocusGainedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Control *arg1 = (Dali::Toolkit::Control *) 0 ;
+  Dali::Toolkit::Control::KeyInputFocusSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Control *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Control::KeyInputFocusSignalType *) &(arg1)->KeyInputFocusGainedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_View_KeyInputFocusLostSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Control *arg1 = (Dali::Toolkit::Control *) 0 ;
+  Dali::Toolkit::Control::KeyInputFocusSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Control *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Control::KeyInputFocusSignalType *) &(arg1)->KeyInputFocusLostSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_View__SWIG_2(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Internal::Control *arg1 = 0 ;
+  Dali::Toolkit::Control *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Control *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Internal::Control & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::Control *)new Dali::Toolkit::Control(*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_KeyInputFocusManager() {
+  void * jresult ;
+  Dali::Toolkit::KeyInputFocusManager *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::KeyInputFocusManager *)new Dali::Toolkit::KeyInputFocusManager();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_KeyInputFocusManager(void * jarg1) {
+  Dali::Toolkit::KeyInputFocusManager *arg1 = (Dali::Toolkit::KeyInputFocusManager *) 0 ;
+  
+  arg1 = (Dali::Toolkit::KeyInputFocusManager *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_KeyInputFocusManager_Get() {
+  void * jresult ;
+  Dali::Toolkit::KeyInputFocusManager result;
+  
+  {
+    try {
+      result = Dali::Toolkit::KeyInputFocusManager::Get();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::KeyInputFocusManager((const Dali::Toolkit::KeyInputFocusManager &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyInputFocusManager_SetFocus(void * jarg1, void * jarg2) {
+  Dali::Toolkit::KeyInputFocusManager *arg1 = (Dali::Toolkit::KeyInputFocusManager *) 0 ;
+  Dali::Toolkit::Control arg2 ;
+  Dali::Toolkit::Control *argp2 ;
+  
+  arg1 = (Dali::Toolkit::KeyInputFocusManager *)jarg1; 
+  argp2 = (Dali::Toolkit::Control *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::Control", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetFocus(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_KeyInputFocusManager_GetCurrentFocusControl(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::KeyInputFocusManager *arg1 = (Dali::Toolkit::KeyInputFocusManager *) 0 ;
+  Dali::Toolkit::Control result;
+  
+  arg1 = (Dali::Toolkit::KeyInputFocusManager *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::KeyInputFocusManager const *)arg1)->GetCurrentFocusControl();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::Control((const Dali::Toolkit::Control &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyInputFocusManager_RemoveFocus(void * jarg1, void * jarg2) {
+  Dali::Toolkit::KeyInputFocusManager *arg1 = (Dali::Toolkit::KeyInputFocusManager *) 0 ;
+  Dali::Toolkit::Control arg2 ;
+  Dali::Toolkit::Control *argp2 ;
+  
+  arg1 = (Dali::Toolkit::KeyInputFocusManager *)jarg1; 
+  argp2 = (Dali::Toolkit::Control *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::Control", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->RemoveFocus(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_KeyInputFocusManager_KeyInputFocusChangedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::KeyInputFocusManager *arg1 = (Dali::Toolkit::KeyInputFocusManager *) 0 ;
+  Dali::Toolkit::KeyInputFocusManager::KeyInputFocusChangedSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::KeyInputFocusManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::KeyInputFocusManager::KeyInputFocusChangedSignalType *) &(arg1)->KeyInputFocusChangedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Alignment_Padding__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::Alignment::Padding *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::Alignment::Padding *)new Dali::Toolkit::Alignment::Padding();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Alignment_Padding__SWIG_1(float jarg1, float jarg2, float jarg3, float jarg4) {
+  void * jresult ;
+  float arg1 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  Dali::Toolkit::Alignment::Padding *result = 0 ;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  {
+    try {
+      result = (Dali::Toolkit::Alignment::Padding *)new Dali::Toolkit::Alignment::Padding(arg1,arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Alignment_Padding_left_set(void * jarg1, float jarg2) {
+  Dali::Toolkit::Alignment::Padding *arg1 = (Dali::Toolkit::Alignment::Padding *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::Alignment::Padding *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->left = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Alignment_Padding_left_get(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::Alignment::Padding *arg1 = (Dali::Toolkit::Alignment::Padding *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Alignment::Padding *)jarg1; 
+  result = (float) ((arg1)->left);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Alignment_Padding_right_set(void * jarg1, float jarg2) {
+  Dali::Toolkit::Alignment::Padding *arg1 = (Dali::Toolkit::Alignment::Padding *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::Alignment::Padding *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->right = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Alignment_Padding_right_get(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::Alignment::Padding *arg1 = (Dali::Toolkit::Alignment::Padding *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Alignment::Padding *)jarg1; 
+  result = (float) ((arg1)->right);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Alignment_Padding_top_set(void * jarg1, float jarg2) {
+  Dali::Toolkit::Alignment::Padding *arg1 = (Dali::Toolkit::Alignment::Padding *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::Alignment::Padding *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->top = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Alignment_Padding_top_get(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::Alignment::Padding *arg1 = (Dali::Toolkit::Alignment::Padding *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Alignment::Padding *)jarg1; 
+  result = (float) ((arg1)->top);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Alignment_Padding_bottom_set(void * jarg1, float jarg2) {
+  Dali::Toolkit::Alignment::Padding *arg1 = (Dali::Toolkit::Alignment::Padding *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::Alignment::Padding *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->bottom = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Alignment_Padding_bottom_get(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::Alignment::Padding *arg1 = (Dali::Toolkit::Alignment::Padding *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Alignment::Padding *)jarg1; 
+  result = (float) ((arg1)->bottom);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Alignment_Padding(void * jarg1) {
+  Dali::Toolkit::Alignment::Padding *arg1 = (Dali::Toolkit::Alignment::Padding *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Alignment::Padding *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Alignment__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::Alignment *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::Alignment *)new Dali::Toolkit::Alignment();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Alignment_New__SWIG_0(int jarg1, int jarg2) {
+  void * jresult ;
+  Dali::Toolkit::Alignment::Type arg1 ;
+  Dali::Toolkit::Alignment::Type arg2 ;
+  Dali::Toolkit::Alignment result;
+  
+  arg1 = (Dali::Toolkit::Alignment::Type)jarg1; 
+  arg2 = (Dali::Toolkit::Alignment::Type)jarg2; 
+  {
+    try {
+      result = Dali::Toolkit::Alignment::New(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::Alignment((const Dali::Toolkit::Alignment &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Alignment_New__SWIG_1(int jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Alignment::Type arg1 ;
+  Dali::Toolkit::Alignment result;
+  
+  arg1 = (Dali::Toolkit::Alignment::Type)jarg1; 
+  {
+    try {
+      result = Dali::Toolkit::Alignment::New(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::Alignment((const Dali::Toolkit::Alignment &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Alignment_New__SWIG_2() {
+  void * jresult ;
+  Dali::Toolkit::Alignment result;
+  
+  {
+    try {
+      result = Dali::Toolkit::Alignment::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::Alignment((const Dali::Toolkit::Alignment &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Alignment__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Alignment *arg1 = 0 ;
+  Dali::Toolkit::Alignment *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Alignment *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Alignment const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::Alignment *)new Dali::Toolkit::Alignment((Dali::Toolkit::Alignment const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Alignment(void * jarg1) {
+  Dali::Toolkit::Alignment *arg1 = (Dali::Toolkit::Alignment *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Alignment *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Alignment_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::Alignment result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::Alignment::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::Alignment((const Dali::Toolkit::Alignment &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Alignment_SetAlignmentType(void * jarg1, int jarg2) {
+  Dali::Toolkit::Alignment *arg1 = (Dali::Toolkit::Alignment *) 0 ;
+  Dali::Toolkit::Alignment::Type arg2 ;
+  
+  arg1 = (Dali::Toolkit::Alignment *)jarg1; 
+  arg2 = (Dali::Toolkit::Alignment::Type)jarg2; 
+  {
+    try {
+      (arg1)->SetAlignmentType(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Alignment_GetAlignmentType(void * jarg1) {
+  int jresult ;
+  Dali::Toolkit::Alignment *arg1 = (Dali::Toolkit::Alignment *) 0 ;
+  Dali::Toolkit::Alignment::Type result;
+  
+  arg1 = (Dali::Toolkit::Alignment *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Alignment::Type)((Dali::Toolkit::Alignment const *)arg1)->GetAlignmentType();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Alignment_SetScaling(void * jarg1, int jarg2) {
+  Dali::Toolkit::Alignment *arg1 = (Dali::Toolkit::Alignment *) 0 ;
+  Dali::Toolkit::Alignment::Scaling arg2 ;
+  
+  arg1 = (Dali::Toolkit::Alignment *)jarg1; 
+  arg2 = (Dali::Toolkit::Alignment::Scaling)jarg2; 
+  {
+    try {
+      (arg1)->SetScaling(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Alignment_GetScaling(void * jarg1) {
+  int jresult ;
+  Dali::Toolkit::Alignment *arg1 = (Dali::Toolkit::Alignment *) 0 ;
+  Dali::Toolkit::Alignment::Scaling result;
+  
+  arg1 = (Dali::Toolkit::Alignment *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Alignment::Scaling)((Dali::Toolkit::Alignment const *)arg1)->GetScaling();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Alignment_SetPadding(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Alignment *arg1 = (Dali::Toolkit::Alignment *) 0 ;
+  Dali::Toolkit::Alignment::Padding *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Alignment *)jarg1; 
+  arg2 = (Dali::Toolkit::Alignment::Padding *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Alignment::Padding const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetPadding((Dali::Toolkit::Alignment::Padding const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Alignment_GetPadding(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Alignment *arg1 = (Dali::Toolkit::Alignment *) 0 ;
+  Dali::Toolkit::Alignment::Padding *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Alignment *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Alignment::Padding *) &((Dali::Toolkit::Alignment const *)arg1)->GetPadding();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Alignment_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::Alignment *arg1 = (Dali::Toolkit::Alignment *) 0 ;
+  Dali::Toolkit::Alignment *arg2 = 0 ;
+  Dali::Toolkit::Alignment *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Alignment *)jarg1; 
+  arg2 = (Dali::Toolkit::Alignment *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Alignment const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::Alignment *) &(arg1)->operator =((Dali::Toolkit::Alignment const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Button_Property_DISABLED_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Button::Property::DISABLED;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Button_Property_AUTO_REPEATING_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Button::Property::AUTO_REPEATING;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Button_Property_INITIAL_AUTO_REPEATING_DELAY_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Button::Property::INITIAL_AUTO_REPEATING_DELAY;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Button_Property_NEXT_AUTO_REPEATING_DELAY_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Button::Property::NEXT_AUTO_REPEATING_DELAY;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Button_Property_TOGGLABLE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Button::Property::TOGGLABLE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Button_Property_SELECTED_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Button::Property::SELECTED;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Button_Property_UNSELECTED_STATE_IMAGE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Button::Property::UNSELECTED_STATE_IMAGE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Button_Property_SELECTED_STATE_IMAGE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Button::Property::SELECTED_STATE_IMAGE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Button_Property_DISABLED_STATE_IMAGE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Button::Property::DISABLED_STATE_IMAGE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Button_Property_UNSELECTED_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Button::Property::UNSELECTED_COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Button_Property_SELECTED_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Button::Property::SELECTED_COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Button_Property_LABEL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Button::Property::LABEL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Button_Property_LABEL_TEXT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Button::Property::LABEL_TEXT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Button_Property() {
+  void * jresult ;
+  Dali::Toolkit::Button::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::Button::Property *)new Dali::Toolkit::Button::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Button_Property(void * jarg1) {
+  Dali::Toolkit::Button::Property *arg1 = (Dali::Toolkit::Button::Property *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Button::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Button__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::Button *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::Button *)new Dali::Toolkit::Button();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Button__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Button *arg1 = 0 ;
+  Dali::Toolkit::Button *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Button *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Button const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::Button *)new Dali::Toolkit::Button((Dali::Toolkit::Button const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Button_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::Button *arg1 = (Dali::Toolkit::Button *) 0 ;
+  Dali::Toolkit::Button *arg2 = 0 ;
+  Dali::Toolkit::Button *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Button *)jarg1; 
+  arg2 = (Dali::Toolkit::Button *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Button const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::Button *) &(arg1)->operator =((Dali::Toolkit::Button const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Button_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::Button result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::Button::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::Button((const Dali::Toolkit::Button &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Button(void * jarg1) {
+  Dali::Toolkit::Button *arg1 = (Dali::Toolkit::Button *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Button *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Button_IsDisabled(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::Button *arg1 = (Dali::Toolkit::Button *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Button *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Toolkit::Button const *)arg1)->IsDisabled();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Button_IsAutoRepeating(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::Button *arg1 = (Dali::Toolkit::Button *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Button *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Toolkit::Button const *)arg1)->IsAutoRepeating();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Button_GetInitialAutoRepeatingDelay(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::Button *arg1 = (Dali::Toolkit::Button *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Button *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::Button const *)arg1)->GetInitialAutoRepeatingDelay();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Button_GetNextAutoRepeatingDelay(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::Button *arg1 = (Dali::Toolkit::Button *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Button *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::Button const *)arg1)->GetNextAutoRepeatingDelay();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Button_IsTogglableButton(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::Button *arg1 = (Dali::Toolkit::Button *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Button *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Toolkit::Button const *)arg1)->IsTogglableButton();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Button_IsSelected(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::Button *arg1 = (Dali::Toolkit::Button *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Button *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Toolkit::Button const *)arg1)->IsSelected();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Button_GetAnimationTime(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::Button *arg1 = (Dali::Toolkit::Button *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Button *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::Button const *)arg1)->GetAnimationTime();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_Button_GetLabelText(void * jarg1) {
+  char * jresult ;
+  Dali::Toolkit::Button *arg1 = (Dali::Toolkit::Button *) 0 ;
+  std::string result;
+  
+  arg1 = (Dali::Toolkit::Button *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::Button const *)arg1)->GetLabelText();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = SWIG_csharp_string_callback((&result)->c_str()); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Button_SetLabel(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Button *arg1 = (Dali::Toolkit::Button *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Toolkit::Button *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetLabel(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Button_SetButtonImage(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Button *arg1 = (Dali::Toolkit::Button *) 0 ;
+  Dali::Image arg2 ;
+  Dali::Image *argp2 ;
+  
+  arg1 = (Dali::Toolkit::Button *)jarg1; 
+  argp2 = (Dali::Image *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Image", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetButtonImage(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Button_SetSelectedImage(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Button *arg1 = (Dali::Toolkit::Button *) 0 ;
+  Dali::Image arg2 ;
+  Dali::Image *argp2 ;
+  
+  arg1 = (Dali::Toolkit::Button *)jarg1; 
+  argp2 = (Dali::Image *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Image", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetSelectedImage(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Button_GetButtonImage(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Button *arg1 = (Dali::Toolkit::Button *) 0 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::Toolkit::Button *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::Button const *)arg1)->GetButtonImage();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Button_GetSelectedImage(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Button *arg1 = (Dali::Toolkit::Button *) 0 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::Toolkit::Button *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::Button const *)arg1)->GetSelectedImage();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Button_PressedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Button *arg1 = (Dali::Toolkit::Button *) 0 ;
+  Dali::Toolkit::Button::ButtonSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Button *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Button::ButtonSignalType *) &(arg1)->PressedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Button_ReleasedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Button *arg1 = (Dali::Toolkit::Button *) 0 ;
+  Dali::Toolkit::Button::ButtonSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Button *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Button::ButtonSignalType *) &(arg1)->ReleasedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Button_ClickedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Button *arg1 = (Dali::Toolkit::Button *) 0 ;
+  Dali::Toolkit::Button::ButtonSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Button *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Button::ButtonSignalType *) &(arg1)->ClickedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Button_StateChangedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Button *arg1 = (Dali::Toolkit::Button *) 0 ;
+  Dali::Toolkit::Button::ButtonSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Button *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Button::ButtonSignalType *) &(arg1)->StateChangedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_CheckBoxButton__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::CheckBoxButton *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::CheckBoxButton *)new Dali::Toolkit::CheckBoxButton();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_CheckBoxButton__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::CheckBoxButton *arg1 = 0 ;
+  Dali::Toolkit::CheckBoxButton *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::CheckBoxButton *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::CheckBoxButton const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::CheckBoxButton *)new Dali::Toolkit::CheckBoxButton((Dali::Toolkit::CheckBoxButton const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_CheckBoxButton_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::CheckBoxButton *arg1 = (Dali::Toolkit::CheckBoxButton *) 0 ;
+  Dali::Toolkit::CheckBoxButton *arg2 = 0 ;
+  Dali::Toolkit::CheckBoxButton *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::CheckBoxButton *)jarg1; 
+  arg2 = (Dali::Toolkit::CheckBoxButton *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::CheckBoxButton const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::CheckBoxButton *) &(arg1)->operator =((Dali::Toolkit::CheckBoxButton const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_CheckBoxButton(void * jarg1) {
+  Dali::Toolkit::CheckBoxButton *arg1 = (Dali::Toolkit::CheckBoxButton *) 0 ;
+  
+  arg1 = (Dali::Toolkit::CheckBoxButton *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_CheckBoxButton_New() {
+  void * jresult ;
+  Dali::Toolkit::CheckBoxButton result;
+  
+  {
+    try {
+      result = Dali::Toolkit::CheckBoxButton::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::CheckBoxButton((const Dali::Toolkit::CheckBoxButton &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_CheckBoxButton_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::CheckBoxButton result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::CheckBoxButton::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::CheckBoxButton((const Dali::Toolkit::CheckBoxButton &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PushButton_Property_UNSELECTED_ICON_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::PushButton::Property::UNSELECTED_ICON;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PushButton_Property_SELECTED_ICON_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::PushButton::Property::SELECTED_ICON;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PushButton_Property_ICON_ALIGNMENT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::PushButton::Property::ICON_ALIGNMENT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PushButton_Property_LABEL_PADDING_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::PushButton::Property::LABEL_PADDING;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PushButton_Property_ICON_PADDING_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::PushButton::Property::ICON_PADDING;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PushButton_Property() {
+  void * jresult ;
+  Dali::Toolkit::PushButton::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::PushButton::Property *)new Dali::Toolkit::PushButton::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PushButton_Property(void * jarg1) {
+  Dali::Toolkit::PushButton::Property *arg1 = (Dali::Toolkit::PushButton::Property *) 0 ;
+  
+  arg1 = (Dali::Toolkit::PushButton::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PushButton__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::PushButton *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::PushButton *)new Dali::Toolkit::PushButton();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PushButton__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::PushButton *arg1 = 0 ;
+  Dali::Toolkit::PushButton *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::PushButton *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::PushButton const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::PushButton *)new Dali::Toolkit::PushButton((Dali::Toolkit::PushButton const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PushButton_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::PushButton *arg1 = (Dali::Toolkit::PushButton *) 0 ;
+  Dali::Toolkit::PushButton *arg2 = 0 ;
+  Dali::Toolkit::PushButton *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::PushButton *)jarg1; 
+  arg2 = (Dali::Toolkit::PushButton *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::PushButton const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::PushButton *) &(arg1)->operator =((Dali::Toolkit::PushButton const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PushButton(void * jarg1) {
+  Dali::Toolkit::PushButton *arg1 = (Dali::Toolkit::PushButton *) 0 ;
+  
+  arg1 = (Dali::Toolkit::PushButton *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PushButton_New() {
+  void * jresult ;
+  Dali::Toolkit::PushButton result;
+  
+  {
+    try {
+      result = Dali::Toolkit::PushButton::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::PushButton((const Dali::Toolkit::PushButton &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PushButton_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::PushButton result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::PushButton::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::PushButton((const Dali::Toolkit::PushButton &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PushButton_SetButtonImage__SWIG_0_0(void * jarg1, void * jarg2) {
+  Dali::Toolkit::PushButton *arg1 = (Dali::Toolkit::PushButton *) 0 ;
+  Dali::Image arg2 ;
+  Dali::Image *argp2 ;
+  
+  arg1 = (Dali::Toolkit::PushButton *)jarg1; 
+  argp2 = (Dali::Image *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Image", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetButtonImage(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PushButton_SetButtonImage__SWIG_1(void * jarg1, void * jarg2) {
+  Dali::Toolkit::PushButton *arg1 = (Dali::Toolkit::PushButton *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Toolkit::PushButton *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetButtonImage(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PushButton_SetBackgroundImage(void * jarg1, void * jarg2) {
+  Dali::Toolkit::PushButton *arg1 = (Dali::Toolkit::PushButton *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Toolkit::PushButton *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetBackgroundImage(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PushButton_SetSelectedImage__SWIG_0_0(void * jarg1, void * jarg2) {
+  Dali::Toolkit::PushButton *arg1 = (Dali::Toolkit::PushButton *) 0 ;
+  Dali::Image arg2 ;
+  Dali::Image *argp2 ;
+  
+  arg1 = (Dali::Toolkit::PushButton *)jarg1; 
+  argp2 = (Dali::Image *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Image", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetSelectedImage(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PushButton_SetSelectedImage__SWIG_1(void * jarg1, void * jarg2) {
+  Dali::Toolkit::PushButton *arg1 = (Dali::Toolkit::PushButton *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Toolkit::PushButton *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetSelectedImage(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PushButton_SetSelectedBackgroundImage(void * jarg1, void * jarg2) {
+  Dali::Toolkit::PushButton *arg1 = (Dali::Toolkit::PushButton *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Toolkit::PushButton *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetSelectedBackgroundImage(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PushButton_SetDisabledBackgroundImage(void * jarg1, void * jarg2) {
+  Dali::Toolkit::PushButton *arg1 = (Dali::Toolkit::PushButton *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Toolkit::PushButton *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetDisabledBackgroundImage(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PushButton_SetDisabledImage(void * jarg1, void * jarg2) {
+  Dali::Toolkit::PushButton *arg1 = (Dali::Toolkit::PushButton *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Toolkit::PushButton *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetDisabledImage(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PushButton_SetDisabledSelectedImage(void * jarg1, void * jarg2) {
+  Dali::Toolkit::PushButton *arg1 = (Dali::Toolkit::PushButton *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Toolkit::PushButton *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetDisabledSelectedImage(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RadioButton__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::RadioButton *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::RadioButton *)new Dali::Toolkit::RadioButton();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RadioButton__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::RadioButton *arg1 = 0 ;
+  Dali::Toolkit::RadioButton *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::RadioButton *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::RadioButton const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::RadioButton *)new Dali::Toolkit::RadioButton((Dali::Toolkit::RadioButton const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RadioButton_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::RadioButton *arg1 = (Dali::Toolkit::RadioButton *) 0 ;
+  Dali::Toolkit::RadioButton *arg2 = 0 ;
+  Dali::Toolkit::RadioButton *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::RadioButton *)jarg1; 
+  arg2 = (Dali::Toolkit::RadioButton *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::RadioButton const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::RadioButton *) &(arg1)->operator =((Dali::Toolkit::RadioButton const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_RadioButton(void * jarg1) {
+  Dali::Toolkit::RadioButton *arg1 = (Dali::Toolkit::RadioButton *) 0 ;
+  
+  arg1 = (Dali::Toolkit::RadioButton *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RadioButton_New__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::RadioButton result;
+  
+  {
+    try {
+      result = Dali::Toolkit::RadioButton::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::RadioButton((const Dali::Toolkit::RadioButton &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RadioButton_New__SWIG_1(char * jarg1) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::Toolkit::RadioButton result;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  {
+    try {
+      result = Dali::Toolkit::RadioButton::New((std::string const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::RadioButton((const Dali::Toolkit::RadioButton &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RadioButton_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::RadioButton result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::RadioButton::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::RadioButton((const Dali::Toolkit::RadioButton &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_FlexContainer_Property_CONTENT_DIRECTION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::FlexContainer::Property::CONTENT_DIRECTION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_FlexContainer_Property_FLEX_DIRECTION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::FlexContainer::Property::FLEX_DIRECTION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_FlexContainer_Property_FLEX_WRAP_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::FlexContainer::Property::FLEX_WRAP;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_FlexContainer_Property_JUSTIFY_CONTENT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::FlexContainer::Property::JUSTIFY_CONTENT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_FlexContainer_Property_ALIGN_ITEMS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::FlexContainer::Property::ALIGN_ITEMS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_FlexContainer_Property_ALIGN_CONTENT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::FlexContainer::Property::ALIGN_CONTENT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_FlexContainer_Property() {
+  void * jresult ;
+  Dali::Toolkit::FlexContainer::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::FlexContainer::Property *)new Dali::Toolkit::FlexContainer::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_FlexContainer_Property(void * jarg1) {
+  Dali::Toolkit::FlexContainer::Property *arg1 = (Dali::Toolkit::FlexContainer::Property *) 0 ;
+  
+  arg1 = (Dali::Toolkit::FlexContainer::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_FlexContainer_ChildProperty_FLEX_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::FlexContainer::ChildProperty::FLEX;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_FlexContainer_ChildProperty_ALIGN_SELF_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::FlexContainer::ChildProperty::ALIGN_SELF;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_FlexContainer_ChildProperty_FLEX_MARGIN_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::FlexContainer::ChildProperty::FLEX_MARGIN;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_FlexContainer_ChildProperty() {
+  void * jresult ;
+  Dali::Toolkit::FlexContainer::ChildProperty *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::FlexContainer::ChildProperty *)new Dali::Toolkit::FlexContainer::ChildProperty();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_FlexContainer_ChildProperty(void * jarg1) {
+  Dali::Toolkit::FlexContainer::ChildProperty *arg1 = (Dali::Toolkit::FlexContainer::ChildProperty *) 0 ;
+  
+  arg1 = (Dali::Toolkit::FlexContainer::ChildProperty *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_FlexContainer__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::FlexContainer *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::FlexContainer *)new Dali::Toolkit::FlexContainer();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_FlexContainer__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::FlexContainer *arg1 = 0 ;
+  Dali::Toolkit::FlexContainer *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::FlexContainer *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::FlexContainer const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::FlexContainer *)new Dali::Toolkit::FlexContainer((Dali::Toolkit::FlexContainer const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_FlexContainer_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::FlexContainer *arg1 = (Dali::Toolkit::FlexContainer *) 0 ;
+  Dali::Toolkit::FlexContainer *arg2 = 0 ;
+  Dali::Toolkit::FlexContainer *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::FlexContainer *)jarg1; 
+  arg2 = (Dali::Toolkit::FlexContainer *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::FlexContainer const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::FlexContainer *) &(arg1)->operator =((Dali::Toolkit::FlexContainer const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_FlexContainer(void * jarg1) {
+  Dali::Toolkit::FlexContainer *arg1 = (Dali::Toolkit::FlexContainer *) 0 ;
+  
+  arg1 = (Dali::Toolkit::FlexContainer *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_FlexContainer_New() {
+  void * jresult ;
+  Dali::Toolkit::FlexContainer result;
+  
+  {
+    try {
+      result = Dali::Toolkit::FlexContainer::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::FlexContainer((const Dali::Toolkit::FlexContainer &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_FlexContainer_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::FlexContainer result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::FlexContainer::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::FlexContainer((const Dali::Toolkit::FlexContainer &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ImageView_Property_RESOURCE_URL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ImageView::Property::RESOURCE_URL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ImageView_Property_IMAGE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ImageView::Property::IMAGE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ImageView_Property_PRE_MULTIPLIED_ALPHA_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ImageView::Property::PRE_MULTIPLIED_ALPHA;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ImageView_Property_PIXEL_AREA_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ImageView::Property::PIXEL_AREA;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ImageView_Property() {
+  void * jresult ;
+  Dali::Toolkit::ImageView::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::ImageView::Property *)new Dali::Toolkit::ImageView::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ImageView_Property(void * jarg1) {
+  Dali::Toolkit::ImageView::Property *arg1 = (Dali::Toolkit::ImageView::Property *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ImageView::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ImageView__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::ImageView *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::ImageView *)new Dali::Toolkit::ImageView();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ImageView_New__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::ImageView result;
+  
+  {
+    try {
+      result = Dali::Toolkit::ImageView::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ImageView((const Dali::Toolkit::ImageView &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ImageView_New__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Image arg1 ;
+  Dali::Image *argp1 ;
+  Dali::Toolkit::ImageView result;
+  
+  argp1 = (Dali::Image *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Image", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::ImageView::New(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ImageView((const Dali::Toolkit::ImageView &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ImageView_New__SWIG_2(char * jarg1) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::Toolkit::ImageView result;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  {
+    try {
+      result = Dali::Toolkit::ImageView::New((std::string const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ImageView((const Dali::Toolkit::ImageView &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ImageView_New__SWIG_3(char * jarg1, void * jarg2) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::ImageDimensions arg2 ;
+  Dali::ImageDimensions *argp2 ;
+  Dali::Toolkit::ImageView result;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  argp2 = (Dali::ImageDimensions *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = Dali::Toolkit::ImageView::New((std::string const &)*arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ImageView((const Dali::Toolkit::ImageView &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ImageView(void * jarg1) {
+  Dali::Toolkit::ImageView *arg1 = (Dali::Toolkit::ImageView *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ImageView *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ImageView__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ImageView *arg1 = 0 ;
+  Dali::Toolkit::ImageView *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::ImageView *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ImageView const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::ImageView *)new Dali::Toolkit::ImageView((Dali::Toolkit::ImageView const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ImageView_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::ImageView *arg1 = (Dali::Toolkit::ImageView *) 0 ;
+  Dali::Toolkit::ImageView *arg2 = 0 ;
+  Dali::Toolkit::ImageView *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::ImageView *)jarg1; 
+  arg2 = (Dali::Toolkit::ImageView *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ImageView const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::ImageView *) &(arg1)->operator =((Dali::Toolkit::ImageView const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ImageView_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::ImageView result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::ImageView::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ImageView((const Dali::Toolkit::ImageView &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImageView_SetImage__SWIG_0(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ImageView *arg1 = (Dali::Toolkit::ImageView *) 0 ;
+  Dali::Image arg2 ;
+  Dali::Image *argp2 ;
+  
+  arg1 = (Dali::Toolkit::ImageView *)jarg1; 
+  argp2 = (Dali::Image *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Image", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetImage(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImageView_SetImage__SWIG_1(void * jarg1, char * jarg2) {
+  Dali::Toolkit::ImageView *arg1 = (Dali::Toolkit::ImageView *) 0 ;
+  std::string *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::ImageView *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      (arg1)->SetImage((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+  
+  //argout typemap for const std::string&
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImageView_SetImage__SWIG_2(void * jarg1, char * jarg2, void * jarg3) {
+  Dali::Toolkit::ImageView *arg1 = (Dali::Toolkit::ImageView *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::ImageDimensions arg3 ;
+  Dali::ImageDimensions *argp3 ;
+  
+  arg1 = (Dali::Toolkit::ImageView *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  argp3 = (Dali::ImageDimensions *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  {
+    try {
+      (arg1)->SetImage((std::string const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+  
+  //argout typemap for const std::string&
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ImageView_GetImage(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ImageView *arg1 = (Dali::Toolkit::ImageView *) 0 ;
+  Dali::Image result;
+  
+  arg1 = (Dali::Toolkit::ImageView *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::ImageView const *)arg1)->GetImage();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Image((const Dali::Image &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Model3dView_Property_GEOMETRY_URL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Model3dView::Property::GEOMETRY_URL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Model3dView_Property_MATERIAL_URL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Model3dView::Property::MATERIAL_URL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Model3dView_Property_IMAGES_URL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Model3dView::Property::IMAGES_URL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Model3dView_Property_ILLUMINATION_TYPE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Model3dView::Property::ILLUMINATION_TYPE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Model3dView_Property_TEXTURE0_URL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Model3dView::Property::TEXTURE0_URL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Model3dView_Property_TEXTURE1_URL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Model3dView::Property::TEXTURE1_URL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Model3dView_Property_TEXTURE2_URL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Model3dView::Property::TEXTURE2_URL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Model3dView_Property_LIGHT_POSITION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Model3dView::Property::LIGHT_POSITION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Model3dView_Property() {
+  void * jresult ;
+  Dali::Toolkit::Model3dView::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::Model3dView::Property *)new Dali::Toolkit::Model3dView::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Model3dView_Property(void * jarg1) {
+  Dali::Toolkit::Model3dView::Property *arg1 = (Dali::Toolkit::Model3dView::Property *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Model3dView::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Model3dView_New__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::Model3dView result;
+  
+  {
+    try {
+      result = Dali::Toolkit::Model3dView::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::Model3dView((const Dali::Toolkit::Model3dView &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Model3dView_New__SWIG_1(char * jarg1, char * jarg2, char * jarg3) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  std::string *arg2 = 0 ;
+  std::string *arg3 = 0 ;
+  Dali::Toolkit::Model3dView result;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  if (!jarg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg3_str(jarg3);
+  arg3 = &arg3_str; 
+  {
+    try {
+      result = Dali::Toolkit::Model3dView::New((std::string const &)*arg1,(std::string const &)*arg2,(std::string const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::Model3dView((const Dali::Toolkit::Model3dView &)result); 
+  
+  //argout typemap for const std::string&
+  
+  
+  //argout typemap for const std::string&
+  
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Model3dView__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::Model3dView *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::Model3dView *)new Dali::Toolkit::Model3dView();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Model3dView(void * jarg1) {
+  Dali::Toolkit::Model3dView *arg1 = (Dali::Toolkit::Model3dView *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Model3dView *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Model3dView__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Model3dView *arg1 = 0 ;
+  Dali::Toolkit::Model3dView *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Model3dView *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Model3dView const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::Model3dView *)new Dali::Toolkit::Model3dView((Dali::Toolkit::Model3dView const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Model3dView_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::Model3dView *arg1 = (Dali::Toolkit::Model3dView *) 0 ;
+  Dali::Toolkit::Model3dView *arg2 = 0 ;
+  Dali::Toolkit::Model3dView *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Model3dView *)jarg1; 
+  arg2 = (Dali::Toolkit::Model3dView *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Model3dView const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::Model3dView *) &(arg1)->operator =((Dali::Toolkit::Model3dView const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Model3dView_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::Model3dView result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::Model3dView::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::Model3dView((const Dali::Toolkit::Model3dView &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollBar_Property_SCROLL_DIRECTION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollBar::Property::SCROLL_DIRECTION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollBar_Property_INDICATOR_HEIGHT_POLICY_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollBar::Property::INDICATOR_HEIGHT_POLICY;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollBar_Property_INDICATOR_FIXED_HEIGHT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollBar::Property::INDICATOR_FIXED_HEIGHT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollBar_Property_INDICATOR_SHOW_DURATION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollBar::Property::INDICATOR_SHOW_DURATION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollBar_Property_INDICATOR_HIDE_DURATION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollBar::Property::INDICATOR_HIDE_DURATION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollBar_Property_SCROLL_POSITION_INTERVALS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollBar::Property::SCROLL_POSITION_INTERVALS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollBar_Property_INDICATOR_MINIMUM_HEIGHT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollBar::Property::INDICATOR_MINIMUM_HEIGHT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollBar_Property_INDICATOR_START_PADDING_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollBar::Property::INDICATOR_START_PADDING;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollBar_Property_INDICATOR_END_PADDING_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollBar::Property::INDICATOR_END_PADDING;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ScrollBar_Property() {
+  void * jresult ;
+  Dali::Toolkit::ScrollBar::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::ScrollBar::Property *)new Dali::Toolkit::ScrollBar::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ScrollBar_Property(void * jarg1) {
+  Dali::Toolkit::ScrollBar::Property *arg1 = (Dali::Toolkit::ScrollBar::Property *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollBar::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ScrollBar__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::ScrollBar *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::ScrollBar *)new Dali::Toolkit::ScrollBar();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ScrollBar__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ScrollBar *arg1 = 0 ;
+  Dali::Toolkit::ScrollBar *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollBar *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ScrollBar const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::ScrollBar *)new Dali::Toolkit::ScrollBar((Dali::Toolkit::ScrollBar const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ScrollBar_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::ScrollBar *arg1 = (Dali::Toolkit::ScrollBar *) 0 ;
+  Dali::Toolkit::ScrollBar *arg2 = 0 ;
+  Dali::Toolkit::ScrollBar *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollBar *)jarg1; 
+  arg2 = (Dali::Toolkit::ScrollBar *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ScrollBar const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::ScrollBar *) &(arg1)->operator =((Dali::Toolkit::ScrollBar const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ScrollBar(void * jarg1) {
+  Dali::Toolkit::ScrollBar *arg1 = (Dali::Toolkit::ScrollBar *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollBar *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ScrollBar_New__SWIG_0(int jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ScrollBar::Direction arg1 ;
+  Dali::Toolkit::ScrollBar result;
+  
+  arg1 = (Dali::Toolkit::ScrollBar::Direction)jarg1; 
+  {
+    try {
+      result = Dali::Toolkit::ScrollBar::New(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ScrollBar((const Dali::Toolkit::ScrollBar &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ScrollBar_New__SWIG_1() {
+  void * jresult ;
+  Dali::Toolkit::ScrollBar result;
+  
+  {
+    try {
+      result = Dali::Toolkit::ScrollBar::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ScrollBar((const Dali::Toolkit::ScrollBar &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ScrollBar_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::ScrollBar result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::ScrollBar::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ScrollBar((const Dali::Toolkit::ScrollBar &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollBar_SetScrollPropertySource(void * jarg1, void * jarg2, int jarg3, int jarg4, int jarg5, int jarg6) {
+  Dali::Toolkit::ScrollBar *arg1 = (Dali::Toolkit::ScrollBar *) 0 ;
+  Dali::Handle arg2 ;
+  Dali::Property::Index arg3 ;
+  Dali::Property::Index arg4 ;
+  Dali::Property::Index arg5 ;
+  Dali::Property::Index arg6 ;
+  Dali::Handle *argp2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollBar *)jarg1; 
+  argp2 = (Dali::Handle *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Handle", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::Property::Index)jarg3; 
+  arg4 = (Dali::Property::Index)jarg4; 
+  arg5 = (Dali::Property::Index)jarg5; 
+  arg6 = (Dali::Property::Index)jarg6; 
+  {
+    try {
+      (arg1)->SetScrollPropertySource(arg2,arg3,arg4,arg5,arg6);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollBar_SetScrollIndicator(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ScrollBar *arg1 = (Dali::Toolkit::ScrollBar *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollBar *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetScrollIndicator(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ScrollBar_GetScrollIndicator(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ScrollBar *arg1 = (Dali::Toolkit::ScrollBar *) 0 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::Toolkit::ScrollBar *)jarg1; 
+  {
+    try {
+      result = (arg1)->GetScrollIndicator();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollBar_SetScrollPositionIntervals(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ScrollBar *arg1 = (Dali::Toolkit::ScrollBar *) 0 ;
+  Dali::Vector< float,TypeTraits< float >::IS_TRIVIAL_TYPE==true > *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollBar *)jarg1; 
+  arg2 = (Dali::Vector< float,TypeTraits< float >::IS_TRIVIAL_TYPE==true > *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector< float,TypeTraits< float >::IS_TRIVIAL_TYPE==true > const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetScrollPositionIntervals((Dali::Vector< float,TypeTraits< float >::IS_TRIVIAL_TYPE==true > const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ScrollBar_GetScrollPositionIntervals(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ScrollBar *arg1 = (Dali::Toolkit::ScrollBar *) 0 ;
+  Dali::Vector< float,TypeTraits< float >::IS_TRIVIAL_TYPE==true > result;
+  
+  arg1 = (Dali::Toolkit::ScrollBar *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::ScrollBar const *)arg1)->GetScrollPositionIntervals();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector< float,TypeTraits< float >::IS_TRIVIAL_TYPE==true >((const Dali::Vector< float,TypeTraits< float >::IS_TRIVIAL_TYPE==true > &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollBar_SetScrollDirection(void * jarg1, int jarg2) {
+  Dali::Toolkit::ScrollBar *arg1 = (Dali::Toolkit::ScrollBar *) 0 ;
+  Dali::Toolkit::ScrollBar::Direction arg2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollBar *)jarg1; 
+  arg2 = (Dali::Toolkit::ScrollBar::Direction)jarg2; 
+  {
+    try {
+      (arg1)->SetScrollDirection(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollBar_GetScrollDirection(void * jarg1) {
+  int jresult ;
+  Dali::Toolkit::ScrollBar *arg1 = (Dali::Toolkit::ScrollBar *) 0 ;
+  Dali::Toolkit::ScrollBar::Direction result;
+  
+  arg1 = (Dali::Toolkit::ScrollBar *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::ScrollBar::Direction)((Dali::Toolkit::ScrollBar const *)arg1)->GetScrollDirection();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollBar_SetIndicatorHeightPolicy(void * jarg1, int jarg2) {
+  Dali::Toolkit::ScrollBar *arg1 = (Dali::Toolkit::ScrollBar *) 0 ;
+  Dali::Toolkit::ScrollBar::IndicatorHeightPolicy arg2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollBar *)jarg1; 
+  arg2 = (Dali::Toolkit::ScrollBar::IndicatorHeightPolicy)jarg2; 
+  {
+    try {
+      (arg1)->SetIndicatorHeightPolicy(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollBar_GetIndicatorHeightPolicy(void * jarg1) {
+  int jresult ;
+  Dali::Toolkit::ScrollBar *arg1 = (Dali::Toolkit::ScrollBar *) 0 ;
+  Dali::Toolkit::ScrollBar::IndicatorHeightPolicy result;
+  
+  arg1 = (Dali::Toolkit::ScrollBar *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::ScrollBar::IndicatorHeightPolicy)((Dali::Toolkit::ScrollBar const *)arg1)->GetIndicatorHeightPolicy();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollBar_SetIndicatorFixedHeight(void * jarg1, float jarg2) {
+  Dali::Toolkit::ScrollBar *arg1 = (Dali::Toolkit::ScrollBar *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollBar *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetIndicatorFixedHeight(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ScrollBar_GetIndicatorFixedHeight(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::ScrollBar *arg1 = (Dali::Toolkit::ScrollBar *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ScrollBar *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::ScrollBar const *)arg1)->GetIndicatorFixedHeight();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollBar_SetIndicatorShowDuration(void * jarg1, float jarg2) {
+  Dali::Toolkit::ScrollBar *arg1 = (Dali::Toolkit::ScrollBar *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollBar *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetIndicatorShowDuration(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ScrollBar_GetIndicatorShowDuration(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::ScrollBar *arg1 = (Dali::Toolkit::ScrollBar *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ScrollBar *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::ScrollBar const *)arg1)->GetIndicatorShowDuration();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollBar_SetIndicatorHideDuration(void * jarg1, float jarg2) {
+  Dali::Toolkit::ScrollBar *arg1 = (Dali::Toolkit::ScrollBar *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollBar *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetIndicatorHideDuration(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ScrollBar_GetIndicatorHideDuration(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::ScrollBar *arg1 = (Dali::Toolkit::ScrollBar *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ScrollBar *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::ScrollBar const *)arg1)->GetIndicatorHideDuration();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollBar_ShowIndicator(void * jarg1) {
+  Dali::Toolkit::ScrollBar *arg1 = (Dali::Toolkit::ScrollBar *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollBar *)jarg1; 
+  {
+    try {
+      (arg1)->ShowIndicator();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollBar_HideIndicator(void * jarg1) {
+  Dali::Toolkit::ScrollBar *arg1 = (Dali::Toolkit::ScrollBar *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollBar *)jarg1; 
+  {
+    try {
+      (arg1)->HideIndicator();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ScrollBar_PanFinishedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ScrollBar *arg1 = (Dali::Toolkit::ScrollBar *) 0 ;
+  Dali::Toolkit::ScrollBar::PanFinishedSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollBar *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::ScrollBar::PanFinishedSignalType *) &(arg1)->PanFinishedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ScrollBar_ScrollPositionIntervalReachedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ScrollBar *arg1 = (Dali::Toolkit::ScrollBar *) 0 ;
+  Dali::Toolkit::ScrollBar::ScrollPositionIntervalReachedSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollBar *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::ScrollBar::ScrollPositionIntervalReachedSignalType *) &(arg1)->ScrollPositionIntervalReachedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Scrollable_Property_OVERSHOOT_EFFECT_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Scrollable::Property::OVERSHOOT_EFFECT_COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Scrollable_Property_OVERSHOOT_ANIMATION_SPEED_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Scrollable::Property::OVERSHOOT_ANIMATION_SPEED;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Scrollable_Property_OVERSHOOT_ENABLED_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Scrollable::Property::OVERSHOOT_ENABLED;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Scrollable_Property_OVERSHOOT_SIZE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Scrollable::Property::OVERSHOOT_SIZE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Scrollable_Property_SCROLL_TO_ALPHA_FUNCTION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Scrollable::Property::SCROLL_TO_ALPHA_FUNCTION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Scrollable_Property_SCROLL_RELATIVE_POSITION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Scrollable::Property::SCROLL_RELATIVE_POSITION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Scrollable_Property_SCROLL_POSITION_MIN_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Scrollable::Property::SCROLL_POSITION_MIN;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Scrollable_Property_SCROLL_POSITION_MIN_X_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Scrollable::Property::SCROLL_POSITION_MIN_X;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Scrollable_Property_SCROLL_POSITION_MIN_Y_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Scrollable::Property::SCROLL_POSITION_MIN_Y;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Scrollable_Property_SCROLL_POSITION_MAX_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Scrollable::Property::SCROLL_POSITION_MAX;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Scrollable_Property_SCROLL_POSITION_MAX_X_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Scrollable::Property::SCROLL_POSITION_MAX_X;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Scrollable_Property_SCROLL_POSITION_MAX_Y_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Scrollable::Property::SCROLL_POSITION_MAX_Y;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Scrollable_Property_CAN_SCROLL_VERTICAL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Scrollable::Property::CAN_SCROLL_VERTICAL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Scrollable_Property_CAN_SCROLL_HORIZONTAL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Scrollable::Property::CAN_SCROLL_HORIZONTAL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Scrollable_Property() {
+  void * jresult ;
+  Dali::Toolkit::Scrollable::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::Scrollable::Property *)new Dali::Toolkit::Scrollable::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Scrollable_Property(void * jarg1) {
+  Dali::Toolkit::Scrollable::Property *arg1 = (Dali::Toolkit::Scrollable::Property *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Scrollable::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Scrollable__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::Scrollable *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::Scrollable *)new Dali::Toolkit::Scrollable();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Scrollable__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Scrollable *arg1 = 0 ;
+  Dali::Toolkit::Scrollable *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Scrollable *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Scrollable const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::Scrollable *)new Dali::Toolkit::Scrollable((Dali::Toolkit::Scrollable const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Scrollable_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::Scrollable *arg1 = (Dali::Toolkit::Scrollable *) 0 ;
+  Dali::Toolkit::Scrollable *arg2 = 0 ;
+  Dali::Toolkit::Scrollable *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Scrollable *)jarg1; 
+  arg2 = (Dali::Toolkit::Scrollable *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Scrollable const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::Scrollable *) &(arg1)->operator =((Dali::Toolkit::Scrollable const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Scrollable(void * jarg1) {
+  Dali::Toolkit::Scrollable *arg1 = (Dali::Toolkit::Scrollable *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Scrollable *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Scrollable_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::Scrollable result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::Scrollable::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::Scrollable((const Dali::Toolkit::Scrollable &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Scrollable_IsOvershootEnabled(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::Scrollable *arg1 = (Dali::Toolkit::Scrollable *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Scrollable *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Toolkit::Scrollable const *)arg1)->IsOvershootEnabled();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Scrollable_SetOvershootEnabled(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::Scrollable *arg1 = (Dali::Toolkit::Scrollable *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::Toolkit::Scrollable *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetOvershootEnabled(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Scrollable_SetOvershootEffectColor(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Scrollable *arg1 = (Dali::Toolkit::Scrollable *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Scrollable *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetOvershootEffectColor((Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Scrollable_GetOvershootEffectColor(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Scrollable *arg1 = (Dali::Toolkit::Scrollable *) 0 ;
+  Dali::Vector4 result;
+  
+  arg1 = (Dali::Toolkit::Scrollable *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::Scrollable const *)arg1)->GetOvershootEffectColor();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector4((const Dali::Vector4 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Scrollable_SetOvershootAnimationSpeed(void * jarg1, float jarg2) {
+  Dali::Toolkit::Scrollable *arg1 = (Dali::Toolkit::Scrollable *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::Scrollable *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetOvershootAnimationSpeed(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Scrollable_GetOvershootAnimationSpeed(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::Scrollable *arg1 = (Dali::Toolkit::Scrollable *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Scrollable *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::Scrollable const *)arg1)->GetOvershootAnimationSpeed();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Scrollable_ScrollStartedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Scrollable *arg1 = (Dali::Toolkit::Scrollable *) 0 ;
+  Dali::Toolkit::Scrollable::ScrollStartedSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Scrollable *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Scrollable::ScrollStartedSignalType *) &(arg1)->ScrollStartedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Scrollable_ScrollUpdatedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Scrollable *arg1 = (Dali::Toolkit::Scrollable *) 0 ;
+  Dali::Toolkit::Scrollable::ScrollUpdatedSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Scrollable *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Scrollable::ScrollUpdatedSignalType *) &(arg1)->ScrollUpdatedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Scrollable_ScrollCompletedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Scrollable *arg1 = (Dali::Toolkit::Scrollable *) 0 ;
+  Dali::Toolkit::Scrollable::ScrollCompletedSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Scrollable *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Scrollable::ScrollCompletedSignalType *) &(arg1)->ScrollCompletedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_IsVertical(int jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::ControlOrientation::Type arg1 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::ControlOrientation::Type)jarg1; 
+  {
+    try {
+      result = (bool)Dali::Toolkit::IsVertical(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_IsHorizontal(int jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::ControlOrientation::Type arg1 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::ControlOrientation::Type)jarg1; 
+  {
+    try {
+      result = (bool)Dali::Toolkit::IsHorizontal(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ItemRange__SWIG_0(unsigned int jarg1, unsigned int jarg2) {
+  void * jresult ;
+  unsigned int arg1 ;
+  unsigned int arg2 ;
+  Dali::Toolkit::ItemRange *result = 0 ;
+  
+  arg1 = (unsigned int)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = (Dali::Toolkit::ItemRange *)new Dali::Toolkit::ItemRange(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ItemRange__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ItemRange *arg1 = 0 ;
+  Dali::Toolkit::ItemRange *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::ItemRange *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ItemRange const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::ItemRange *)new Dali::Toolkit::ItemRange((Dali::Toolkit::ItemRange const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ItemRange_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::ItemRange *arg1 = (Dali::Toolkit::ItemRange *) 0 ;
+  Dali::Toolkit::ItemRange *arg2 = 0 ;
+  Dali::Toolkit::ItemRange *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::ItemRange *)jarg1; 
+  arg2 = (Dali::Toolkit::ItemRange *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ItemRange const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::ItemRange *) &(arg1)->operator =((Dali::Toolkit::ItemRange const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ItemRange_Within(void * jarg1, unsigned int jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::ItemRange *arg1 = (Dali::Toolkit::ItemRange *) 0 ;
+  unsigned int arg2 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::ItemRange *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = (bool)(arg1)->Within(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ItemRange_Intersection(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::ItemRange *arg1 = (Dali::Toolkit::ItemRange *) 0 ;
+  Dali::Toolkit::ItemRange *arg2 = 0 ;
+  SwigValueWrapper< Dali::Toolkit::ItemRange > result;
+  
+  arg1 = (Dali::Toolkit::ItemRange *)jarg1; 
+  arg2 = (Dali::Toolkit::ItemRange *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ItemRange const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (arg1)->Intersection((Dali::Toolkit::ItemRange const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ItemRange((const Dali::Toolkit::ItemRange &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemRange_begin_set(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::ItemRange *arg1 = (Dali::Toolkit::ItemRange *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::Toolkit::ItemRange *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->begin = arg2;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ItemRange_begin_get(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::ItemRange *arg1 = (Dali::Toolkit::ItemRange *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Toolkit::ItemRange *)jarg1; 
+  result = (unsigned int) ((arg1)->begin);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemRange_end_set(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::ItemRange *arg1 = (Dali::Toolkit::ItemRange *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::Toolkit::ItemRange *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->end = arg2;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ItemRange_end_get(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::ItemRange *arg1 = (Dali::Toolkit::ItemRange *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Toolkit::ItemRange *)jarg1; 
+  result = (unsigned int) ((arg1)->end);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ItemRange(void * jarg1) {
+  Dali::Toolkit::ItemRange *arg1 = (Dali::Toolkit::ItemRange *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ItemRange *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ItemLayout(void * jarg1) {
+  Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ItemLayout *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemLayout_SetOrientation(void * jarg1, int jarg2) {
+  Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
+  Dali::Toolkit::ControlOrientation::Type arg2 ;
+  
+  arg1 = (Dali::Toolkit::ItemLayout *)jarg1; 
+  arg2 = (Dali::Toolkit::ControlOrientation::Type)jarg2; 
+  {
+    try {
+      (arg1)->SetOrientation(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ItemLayout_GetOrientation(void * jarg1) {
+  int jresult ;
+  Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
+  Dali::Toolkit::ControlOrientation::Type result;
+  
+  arg1 = (Dali::Toolkit::ItemLayout *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::ControlOrientation::Type)((Dali::Toolkit::ItemLayout const *)arg1)->GetOrientation();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemLayout_SetLayoutProperties(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
+  Dali::Property::Map *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::ItemLayout *)jarg1; 
+  arg2 = (Dali::Property::Map *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Map const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetLayoutProperties((Dali::Property::Map const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ItemLayout_GetLayoutProperties(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
+  Dali::Property::Map result;
+  
+  arg1 = (Dali::Toolkit::ItemLayout *)jarg1; 
+  {
+    try {
+      result = (arg1)->GetLayoutProperties();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Property::Map((const Dali::Property::Map &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemLayout_GetItemSize(void * jarg1, unsigned int jarg2, void * jarg3, void * jarg4) {
+  Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
+  unsigned int arg2 ;
+  Dali::Vector3 *arg3 = 0 ;
+  Dali::Vector3 *arg4 = 0 ;
+  
+  arg1 = (Dali::Toolkit::ItemLayout *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (Dali::Vector3 *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  arg4 = (Dali::Vector3 *)jarg4;
+  if (!arg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      ((Dali::Toolkit::ItemLayout const *)arg1)->GetItemSize(arg2,(Dali::Vector3 const &)*arg3,*arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemLayout_SetItemSize(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::ItemLayout *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetItemSize((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ItemLayout_GetMinimumLayoutPosition(void * jarg1, unsigned int jarg2, void * jarg3) {
+  float jresult ;
+  Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
+  unsigned int arg2 ;
+  Dali::Vector3 arg3 ;
+  Dali::Vector3 *argp3 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ItemLayout *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  argp3 = (Dali::Vector3 *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Vector3", 0);
+    return 0;
+  }
+  arg3 = *argp3; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::ItemLayout const *)arg1)->GetMinimumLayoutPosition(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ItemLayout_GetClosestAnchorPosition(void * jarg1, float jarg2) {
+  float jresult ;
+  Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
+  float arg2 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ItemLayout *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::ItemLayout const *)arg1)->GetClosestAnchorPosition(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ItemLayout_GetItemScrollToPosition(void * jarg1, unsigned int jarg2) {
+  float jresult ;
+  Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
+  unsigned int arg2 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ItemLayout *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::ItemLayout const *)arg1)->GetItemScrollToPosition(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ItemLayout_GetItemsWithinArea(void * jarg1, float jarg2, void * jarg3) {
+  void * jresult ;
+  Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
+  float arg2 ;
+  Dali::Vector3 arg3 ;
+  Dali::Vector3 *argp3 ;
+  SwigValueWrapper< Dali::Toolkit::ItemRange > result;
+  
+  arg1 = (Dali::Toolkit::ItemLayout *)jarg1; 
+  arg2 = (float)jarg2; 
+  argp3 = (Dali::Vector3 *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Vector3", 0);
+    return 0;
+  }
+  arg3 = *argp3; 
+  {
+    try {
+      result = ((Dali::Toolkit::ItemLayout const *)arg1)->GetItemsWithinArea(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ItemRange((const Dali::Toolkit::ItemRange &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ItemLayout_GetClosestOnScreenLayoutPosition(void * jarg1, int jarg2, float jarg3, void * jarg4) {
+  float jresult ;
+  Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
+  int arg2 ;
+  float arg3 ;
+  Dali::Vector3 *arg4 = 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ItemLayout *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (Dali::Vector3 *)jarg4;
+  if (!arg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (float)(arg1)->GetClosestOnScreenLayoutPosition(arg2,arg3,(Dali::Vector3 const &)*arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ItemLayout_GetReserveItemCount(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
+  Dali::Vector3 arg2 ;
+  Dali::Vector3 *argp2 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Toolkit::ItemLayout *)jarg1; 
+  argp2 = (Dali::Vector3 *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Vector3", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (unsigned int)((Dali::Toolkit::ItemLayout const *)arg1)->GetReserveItemCount(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemLayout_GetDefaultItemSize(void * jarg1, unsigned int jarg2, void * jarg3, void * jarg4) {
+  Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
+  unsigned int arg2 ;
+  Dali::Vector3 *arg3 = 0 ;
+  Dali::Vector3 *arg4 = 0 ;
+  
+  arg1 = (Dali::Toolkit::ItemLayout *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (Dali::Vector3 *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  arg4 = (Dali::Vector3 *)jarg4;
+  if (!arg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      ((Dali::Toolkit::ItemLayout const *)arg1)->GetDefaultItemSize(arg2,(Dali::Vector3 const &)*arg3,*arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ItemLayout_GetScrollDirection(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
+  Dali::Degree result;
+  
+  arg1 = (Dali::Toolkit::ItemLayout *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::ItemLayout const *)arg1)->GetScrollDirection();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Degree((const Dali::Degree &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ItemLayout_GetScrollSpeedFactor(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ItemLayout *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::ItemLayout const *)arg1)->GetScrollSpeedFactor();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ItemLayout_GetMaximumSwipeSpeed(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ItemLayout *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::ItemLayout const *)arg1)->GetMaximumSwipeSpeed();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ItemLayout_GetItemFlickAnimationDuration(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ItemLayout *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::ItemLayout const *)arg1)->GetItemFlickAnimationDuration();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ItemLayout_GetNextFocusItemID(void * jarg1, int jarg2, int jarg3, int jarg4, unsigned int jarg5) {
+  int jresult ;
+  Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
+  int arg2 ;
+  int arg3 ;
+  Dali::Toolkit::Control::KeyboardFocus::Direction arg4 ;
+  bool arg5 ;
+  int result;
+  
+  arg1 = (Dali::Toolkit::ItemLayout *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (int)jarg3; 
+  arg4 = (Dali::Toolkit::Control::KeyboardFocus::Direction)jarg4; 
+  arg5 = jarg5 ? true : false; 
+  {
+    try {
+      result = (int)(arg1)->GetNextFocusItemID(arg2,arg3,arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ItemLayout_GetFlickSpeedFactor(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ItemLayout *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::ItemLayout const *)arg1)->GetFlickSpeedFactor();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemLayout_ApplyConstraints(void * jarg1, void * jarg2, int jarg3, void * jarg4, void * jarg5) {
+  Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
+  Dali::Actor *arg2 = 0 ;
+  int arg3 ;
+  Dali::Vector3 *arg4 = 0 ;
+  Dali::Actor *arg5 = 0 ;
+  
+  arg1 = (Dali::Toolkit::ItemLayout *)jarg1; 
+  arg2 = (Dali::Actor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor & type is null", 0);
+    return ;
+  } 
+  arg3 = (int)jarg3; 
+  arg4 = (Dali::Vector3 *)jarg4;
+  if (!arg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  arg5 = (Dali::Actor *)jarg5;
+  if (!arg5) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->ApplyConstraints(*arg2,arg3,(Dali::Vector3 const &)*arg4,(Dali::Actor const &)*arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ItemLayout_GetItemPosition(void * jarg1, int jarg2, float jarg3, void * jarg4) {
+  void * jresult ;
+  Dali::Toolkit::ItemLayout *arg1 = (Dali::Toolkit::ItemLayout *) 0 ;
+  int arg2 ;
+  float arg3 ;
+  Dali::Vector3 *arg4 = 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Toolkit::ItemLayout *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (Dali::Vector3 *)jarg4;
+  if (!arg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = ((Dali::Toolkit::ItemLayout const *)arg1)->GetItemPosition(arg2,arg3,(Dali::Vector3 const &)*arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_NewItemLayout(int jarg1) {
+  void * jresult ;
+  Dali::Toolkit::DefaultItemLayout::Type arg1 ;
+  SwigValueWrapper< Dali::IntrusivePtr< Dali::Toolkit::ItemLayout > > result;
+  
+  arg1 = (Dali::Toolkit::DefaultItemLayout::Type)jarg1; 
+  {
+    try {
+      result = Dali::Toolkit::DefaultItemLayout::New(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ItemLayoutPtr((const Dali::Toolkit::ItemLayoutPtr &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ItemFactory(void * jarg1) {
+  Dali::Toolkit::ItemFactory *arg1 = (Dali::Toolkit::ItemFactory *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ItemFactory *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ItemFactory_GetNumberOfItems(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::ItemFactory *arg1 = (Dali::Toolkit::ItemFactory *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Toolkit::ItemFactory *)jarg1; 
+  {
+    try {
+      result = (unsigned int)(arg1)->GetNumberOfItems();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ItemFactory_NewItem(void * jarg1, unsigned int jarg2) {
+  void * jresult ;
+  Dali::Toolkit::ItemFactory *arg1 = (Dali::Toolkit::ItemFactory *) 0 ;
+  unsigned int arg2 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::Toolkit::ItemFactory *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = (arg1)->NewItem(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemFactory_ItemReleased(void * jarg1, unsigned int jarg2, void * jarg3) {
+  Dali::Toolkit::ItemFactory *arg1 = (Dali::Toolkit::ItemFactory *) 0 ;
+  unsigned int arg2 ;
+  Dali::Actor arg3 ;
+  Dali::Actor *argp3 ;
+  
+  arg1 = (Dali::Toolkit::ItemFactory *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  argp3 = (Dali::Actor *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  {
+    try {
+      (arg1)->ItemReleased(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemFactory_ItemReleasedSwigExplicitItemFactory(void * jarg1, unsigned int jarg2, void * jarg3) {
+  Dali::Toolkit::ItemFactory *arg1 = (Dali::Toolkit::ItemFactory *) 0 ;
+  unsigned int arg2 ;
+  Dali::Actor arg3 ;
+  Dali::Actor *argp3 ;
+  
+  arg1 = (Dali::Toolkit::ItemFactory *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  argp3 = (Dali::Actor *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  {
+    try {
+      (arg1)->Dali::Toolkit::ItemFactory::ItemReleased(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ItemFactory() {
+  void * jresult ;
+  Dali::Toolkit::ItemFactory *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::ItemFactory *)new SwigDirector_ItemFactory();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemFactory_director_connect(void *objarg, SwigDirector_ItemFactory::SWIG_Callback0_t callback0, SwigDirector_ItemFactory::SWIG_Callback1_t callback1, SwigDirector_ItemFactory::SWIG_Callback2_t callback2) {
+  Dali::Toolkit::ItemFactory *obj = (Dali::Toolkit::ItemFactory *)objarg;
+  SwigDirector_ItemFactory *director = dynamic_cast<SwigDirector_ItemFactory *>(obj);
+  if (director) {
+    director->swig_connect_director(callback0, callback1, callback2);
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ItemView_Property_MINIMUM_SWIPE_SPEED_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ItemView::Property::MINIMUM_SWIPE_SPEED;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ItemView_Property_MINIMUM_SWIPE_DISTANCE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ItemView::Property::MINIMUM_SWIPE_DISTANCE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ItemView_Property_WHEEL_SCROLL_DISTANCE_STEP_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ItemView::Property::WHEEL_SCROLL_DISTANCE_STEP;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ItemView_Property_SNAP_TO_ITEM_ENABLED_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ItemView::Property::SNAP_TO_ITEM_ENABLED;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ItemView_Property_REFRESH_INTERVAL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ItemView::Property::REFRESH_INTERVAL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ItemView_Property_LAYOUT_POSITION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ItemView::Property::LAYOUT_POSITION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ItemView_Property_SCROLL_SPEED_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ItemView::Property::SCROLL_SPEED;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ItemView_Property_OVERSHOOT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ItemView::Property::OVERSHOOT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ItemView_Property_SCROLL_DIRECTION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ItemView::Property::SCROLL_DIRECTION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ItemView_Property_LAYOUT_ORIENTATION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ItemView::Property::LAYOUT_ORIENTATION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ItemView_Property_SCROLL_CONTENT_SIZE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ItemView::Property::SCROLL_CONTENT_SIZE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ItemView_Property() {
+  void * jresult ;
+  Dali::Toolkit::ItemView::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::ItemView::Property *)new Dali::Toolkit::ItemView::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ItemView_Property(void * jarg1) {
+  Dali::Toolkit::ItemView::Property *arg1 = (Dali::Toolkit::ItemView::Property *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ItemView::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ItemView__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::ItemView *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::ItemView *)new Dali::Toolkit::ItemView();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ItemView__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ItemView *arg1 = 0 ;
+  Dali::Toolkit::ItemView *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ItemView const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::ItemView *)new Dali::Toolkit::ItemView((Dali::Toolkit::ItemView const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ItemView_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  Dali::Toolkit::ItemView *arg2 = 0 ;
+  Dali::Toolkit::ItemView *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  arg2 = (Dali::Toolkit::ItemView *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ItemView const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::ItemView *) &(arg1)->operator =((Dali::Toolkit::ItemView const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ItemView(void * jarg1) {
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ItemView_New(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ItemFactory *arg1 = 0 ;
+  Dali::Toolkit::ItemView result;
+  
+  arg1 = (Dali::Toolkit::ItemFactory *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ItemFactory & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = Dali::Toolkit::ItemView::New(*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ItemView((const Dali::Toolkit::ItemView &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ItemView_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::ItemView result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::ItemView::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ItemView((const Dali::Toolkit::ItemView &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ItemView_GetLayoutCount(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::Toolkit::ItemView const *)arg1)->GetLayoutCount();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemView_AddLayout(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  Dali::Toolkit::ItemLayout *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  arg2 = (Dali::Toolkit::ItemLayout *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ItemLayout & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->AddLayout(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemView_RemoveLayout(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      (arg1)->RemoveLayout(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ItemView_GetLayout(void * jarg1, unsigned int jarg2) {
+  void * jresult ;
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  unsigned int arg2 ;
+  SwigValueWrapper< Dali::IntrusivePtr< Dali::Toolkit::ItemLayout > > result;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = ((Dali::Toolkit::ItemView const *)arg1)->GetLayout(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ItemLayoutPtr((const Dali::Toolkit::ItemLayoutPtr &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ItemView_GetActiveLayout(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  SwigValueWrapper< Dali::IntrusivePtr< Dali::Toolkit::ItemLayout > > result;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::ItemView const *)arg1)->GetActiveLayout();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ItemLayoutPtr((const Dali::Toolkit::ItemLayoutPtr &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ItemView_GetCurrentLayoutPosition(void * jarg1, unsigned int jarg2) {
+  float jresult ;
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  Dali::Toolkit::ItemId arg2 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  arg2 = (Dali::Toolkit::ItemId)jarg2; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::ItemView const *)arg1)->GetCurrentLayoutPosition(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemView_ActivateLayout(void * jarg1, unsigned int jarg2, void * jarg3, float jarg4) {
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  unsigned int arg2 ;
+  Dali::Vector3 arg3 ;
+  float arg4 ;
+  Dali::Vector3 *argp3 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  argp3 = (Dali::Vector3 *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Vector3", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  arg4 = (float)jarg4; 
+  {
+    try {
+      (arg1)->ActivateLayout(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemView_DeactivateCurrentLayout(void * jarg1) {
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  {
+    try {
+      (arg1)->DeactivateCurrentLayout();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemView_SetMinimumSwipeSpeed(void * jarg1, float jarg2) {
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetMinimumSwipeSpeed(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ItemView_GetMinimumSwipeSpeed(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::ItemView const *)arg1)->GetMinimumSwipeSpeed();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemView_SetMinimumSwipeDistance(void * jarg1, float jarg2) {
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetMinimumSwipeDistance(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ItemView_GetMinimumSwipeDistance(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::ItemView const *)arg1)->GetMinimumSwipeDistance();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemView_SetWheelScrollDistanceStep(void * jarg1, float jarg2) {
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetWheelScrollDistanceStep(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ItemView_GetWheelScrollDistanceStep(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::ItemView const *)arg1)->GetWheelScrollDistanceStep();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemView_SetAnchoring(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetAnchoring(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ItemView_GetAnchoring(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Toolkit::ItemView const *)arg1)->GetAnchoring();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemView_SetAnchoringDuration(void * jarg1, float jarg2) {
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetAnchoringDuration(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ItemView_GetAnchoringDuration(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::ItemView const *)arg1)->GetAnchoringDuration();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemView_ScrollToItem(void * jarg1, unsigned int jarg2, float jarg3) {
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  Dali::Toolkit::ItemId arg2 ;
+  float arg3 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  arg2 = (Dali::Toolkit::ItemId)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      (arg1)->ScrollToItem(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemView_SetRefreshInterval(void * jarg1, float jarg2) {
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetRefreshInterval(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ItemView_GetRefreshInterval(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::ItemView const *)arg1)->GetRefreshInterval();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemView_Refresh(void * jarg1) {
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  {
+    try {
+      (arg1)->Refresh();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ItemView_GetItem(void * jarg1, unsigned int jarg2) {
+  void * jresult ;
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  Dali::Toolkit::ItemId arg2 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  arg2 = (Dali::Toolkit::ItemId)jarg2; 
+  {
+    try {
+      result = ((Dali::Toolkit::ItemView const *)arg1)->GetItem(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ItemView_GetItemId(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  Dali::Toolkit::ItemId result;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (Dali::Toolkit::ItemId)((Dali::Toolkit::ItemView const *)arg1)->GetItemId(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemView_InsertItem(void * jarg1, void * jarg2, float jarg3) {
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  Dali::Toolkit::Item arg2 ;
+  float arg3 ;
+  Dali::Toolkit::Item *argp2 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  argp2 = (Dali::Toolkit::Item *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::Item", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      (arg1)->InsertItem(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemView_InsertItems(void * jarg1, void * jarg2, float jarg3) {
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  Dali::Toolkit::ItemContainer *arg2 = 0 ;
+  float arg3 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  arg2 = (Dali::Toolkit::ItemContainer *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ItemContainer const & type is null", 0);
+    return ;
+  } 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      (arg1)->InsertItems((Dali::Toolkit::ItemContainer const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemView_RemoveItem(void * jarg1, unsigned int jarg2, float jarg3) {
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  Dali::Toolkit::ItemId arg2 ;
+  float arg3 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  arg2 = (Dali::Toolkit::ItemId)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      (arg1)->RemoveItem(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemView_RemoveItems(void * jarg1, void * jarg2, float jarg3) {
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  Dali::Toolkit::ItemIdContainer *arg2 = 0 ;
+  float arg3 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  arg2 = (Dali::Toolkit::ItemIdContainer *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ItemIdContainer const & type is null", 0);
+    return ;
+  } 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      (arg1)->RemoveItems((Dali::Toolkit::ItemIdContainer const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemView_ReplaceItem(void * jarg1, void * jarg2, float jarg3) {
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  Dali::Toolkit::Item arg2 ;
+  float arg3 ;
+  Dali::Toolkit::Item *argp2 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  argp2 = (Dali::Toolkit::Item *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::Item", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      (arg1)->ReplaceItem(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemView_ReplaceItems(void * jarg1, void * jarg2, float jarg3) {
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  Dali::Toolkit::ItemContainer *arg2 = 0 ;
+  float arg3 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  arg2 = (Dali::Toolkit::ItemContainer *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ItemContainer const & type is null", 0);
+    return ;
+  } 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      (arg1)->ReplaceItems((Dali::Toolkit::ItemContainer const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemView_SetItemsParentOrigin(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetItemsParentOrigin((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ItemView_GetItemsParentOrigin(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::ItemView const *)arg1)->GetItemsParentOrigin();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemView_SetItemsAnchorPoint(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  Dali::Vector3 *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetItemsAnchorPoint((Dali::Vector3 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ItemView_GetItemsAnchorPoint(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  Dali::Vector3 result;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::ItemView const *)arg1)->GetItemsAnchorPoint();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector3((const Dali::Vector3 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemView_GetItemsRange(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  Dali::Toolkit::ItemRange *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  arg2 = (Dali::Toolkit::ItemRange *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ItemRange & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->GetItemsRange(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ItemView_LayoutActivatedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ItemView *arg1 = (Dali::Toolkit::ItemView *) 0 ;
+  Dali::Toolkit::ItemView::LayoutActivatedSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::ItemView *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::ItemView::LayoutActivatedSignalType *) &(arg1)->LayoutActivatedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_MoveActorConstraint(void * jarg1, void * jarg2) {
+  Dali::Vector3 *arg1 = 0 ;
+  PropertyInputContainer *arg2 = 0 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 & type is null", 0);
+    return ;
+  } 
+  arg2 = (PropertyInputContainer *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "PropertyInputContainer const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      Dali::Toolkit::MoveActorConstraint(*arg1,(PropertyInputContainer const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WrapActorConstraint(void * jarg1, void * jarg2) {
+  Dali::Vector3 *arg1 = 0 ;
+  PropertyInputContainer *arg2 = 0 ;
+  
+  arg1 = (Dali::Vector3 *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 & type is null", 0);
+    return ;
+  } 
+  arg2 = (PropertyInputContainer *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "PropertyInputContainer const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      Dali::Toolkit::WrapActorConstraint(*arg1,(PropertyInputContainer const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ScrollViewEffect() {
+  void * jresult ;
+  Dali::Toolkit::ScrollViewEffect *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::ScrollViewEffect *)new Dali::Toolkit::ScrollViewEffect();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ScrollViewEffect(void * jarg1) {
+  Dali::Toolkit::ScrollViewEffect *arg1 = (Dali::Toolkit::ScrollViewEffect *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollViewEffect *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ScrollViewPagePathEffect_New(void * jarg1, void * jarg2, int jarg3, void * jarg4, unsigned int jarg5) {
+  void * jresult ;
+  Dali::Path arg1 ;
+  Dali::Vector3 *arg2 = 0 ;
+  Dali::Property::Index arg3 ;
+  Dali::Vector3 *arg4 = 0 ;
+  unsigned int arg5 ;
+  Dali::Path *argp1 ;
+  Dali::Toolkit::ScrollViewPagePathEffect result;
+  
+  argp1 = (Dali::Path *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Path", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  arg2 = (Dali::Vector3 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  arg3 = (Dali::Property::Index)jarg3; 
+  arg4 = (Dali::Vector3 *)jarg4;
+  if (!arg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector3 const & type is null", 0);
+    return 0;
+  } 
+  arg5 = (unsigned int)jarg5; 
+  {
+    try {
+      result = Dali::Toolkit::ScrollViewPagePathEffect::New(arg1,(Dali::Vector3 const &)*arg2,arg3,(Dali::Vector3 const &)*arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ScrollViewPagePathEffect((const Dali::Toolkit::ScrollViewPagePathEffect &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ScrollViewPagePathEffect() {
+  void * jresult ;
+  Dali::Toolkit::ScrollViewPagePathEffect *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::ScrollViewPagePathEffect *)new Dali::Toolkit::ScrollViewPagePathEffect();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ScrollViewPagePathEffect_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::ScrollViewPagePathEffect result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::ScrollViewPagePathEffect::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ScrollViewPagePathEffect((const Dali::Toolkit::ScrollViewPagePathEffect &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollViewPagePathEffect_ApplyToPage(void * jarg1, void * jarg2, unsigned int jarg3) {
+  Dali::Toolkit::ScrollViewPagePathEffect *arg1 = (Dali::Toolkit::ScrollViewPagePathEffect *) 0 ;
+  Dali::Actor arg2 ;
+  unsigned int arg3 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollViewPagePathEffect *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (unsigned int)jarg3; 
+  {
+    try {
+      (arg1)->ApplyToPage(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ScrollViewPagePathEffect(void * jarg1) {
+  Dali::Toolkit::ScrollViewPagePathEffect *arg1 = (Dali::Toolkit::ScrollViewPagePathEffect *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollViewPagePathEffect *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ClampState2D_x_set(void * jarg1, int jarg2) {
+  Dali::Toolkit::ClampState2D *arg1 = (Dali::Toolkit::ClampState2D *) 0 ;
+  Dali::Toolkit::ClampState arg2 ;
+  
+  arg1 = (Dali::Toolkit::ClampState2D *)jarg1; 
+  arg2 = (Dali::Toolkit::ClampState)jarg2; 
+  if (arg1) (arg1)->x = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ClampState2D_x_get(void * jarg1) {
+  int jresult ;
+  Dali::Toolkit::ClampState2D *arg1 = (Dali::Toolkit::ClampState2D *) 0 ;
+  Dali::Toolkit::ClampState result;
+  
+  arg1 = (Dali::Toolkit::ClampState2D *)jarg1; 
+  result = (Dali::Toolkit::ClampState) ((arg1)->x);
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ClampState2D_y_set(void * jarg1, int jarg2) {
+  Dali::Toolkit::ClampState2D *arg1 = (Dali::Toolkit::ClampState2D *) 0 ;
+  Dali::Toolkit::ClampState arg2 ;
+  
+  arg1 = (Dali::Toolkit::ClampState2D *)jarg1; 
+  arg2 = (Dali::Toolkit::ClampState)jarg2; 
+  if (arg1) (arg1)->y = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ClampState2D_y_get(void * jarg1) {
+  int jresult ;
+  Dali::Toolkit::ClampState2D *arg1 = (Dali::Toolkit::ClampState2D *) 0 ;
+  Dali::Toolkit::ClampState result;
+  
+  arg1 = (Dali::Toolkit::ClampState2D *)jarg1; 
+  result = (Dali::Toolkit::ClampState) ((arg1)->y);
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ClampState2D() {
+  void * jresult ;
+  Dali::Toolkit::ClampState2D *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::ClampState2D *)new Dali::Toolkit::ClampState2D();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ClampState2D(void * jarg1) {
+  Dali::Toolkit::ClampState2D *arg1 = (Dali::Toolkit::ClampState2D *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ClampState2D *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RulerDomain__SWIG_0(float jarg1, float jarg2, unsigned int jarg3) {
+  void * jresult ;
+  float arg1 ;
+  float arg2 ;
+  bool arg3 ;
+  Dali::Toolkit::RulerDomain *result = 0 ;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = jarg3 ? true : false; 
+  {
+    try {
+      result = (Dali::Toolkit::RulerDomain *)new Dali::Toolkit::RulerDomain(arg1,arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RulerDomain__SWIG_1(float jarg1, float jarg2) {
+  void * jresult ;
+  float arg1 ;
+  float arg2 ;
+  Dali::Toolkit::RulerDomain *result = 0 ;
+  
+  arg1 = (float)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (Dali::Toolkit::RulerDomain *)new Dali::Toolkit::RulerDomain(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RulerDomain_min_set(void * jarg1, float jarg2) {
+  Dali::Toolkit::RulerDomain *arg1 = (Dali::Toolkit::RulerDomain *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::RulerDomain *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->min = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RulerDomain_min_get(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::RulerDomain *arg1 = (Dali::Toolkit::RulerDomain *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::RulerDomain *)jarg1; 
+  result = (float) ((arg1)->min);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RulerDomain_max_set(void * jarg1, float jarg2) {
+  Dali::Toolkit::RulerDomain *arg1 = (Dali::Toolkit::RulerDomain *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::RulerDomain *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->max = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RulerDomain_max_get(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::RulerDomain *arg1 = (Dali::Toolkit::RulerDomain *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::RulerDomain *)jarg1; 
+  result = (float) ((arg1)->max);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RulerDomain_enabled_set(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::RulerDomain *arg1 = (Dali::Toolkit::RulerDomain *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::Toolkit::RulerDomain *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  if (arg1) (arg1)->enabled = arg2;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RulerDomain_enabled_get(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::RulerDomain *arg1 = (Dali::Toolkit::RulerDomain *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::RulerDomain *)jarg1; 
+  result = (bool) ((arg1)->enabled);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RulerDomain_Clamp__SWIG_0(void * jarg1, float jarg2, float jarg3, float jarg4) {
+  float jresult ;
+  Dali::Toolkit::RulerDomain *arg1 = (Dali::Toolkit::RulerDomain *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::RulerDomain *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::RulerDomain const *)arg1)->Clamp(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RulerDomain_Clamp__SWIG_1(void * jarg1, float jarg2, float jarg3) {
+  float jresult ;
+  Dali::Toolkit::RulerDomain *arg1 = (Dali::Toolkit::RulerDomain *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::RulerDomain *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::RulerDomain const *)arg1)->Clamp(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RulerDomain_Clamp__SWIG_2(void * jarg1, float jarg2) {
+  float jresult ;
+  Dali::Toolkit::RulerDomain *arg1 = (Dali::Toolkit::RulerDomain *) 0 ;
+  float arg2 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::RulerDomain *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::RulerDomain const *)arg1)->Clamp(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RulerDomain_Clamp__SWIG_3(void * jarg1, float jarg2, float jarg3, float jarg4, void * jarg5) {
+  float jresult ;
+  Dali::Toolkit::RulerDomain *arg1 = (Dali::Toolkit::RulerDomain *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  Dali::Toolkit::ClampState *arg5 = 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::RulerDomain *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  arg5 = (Dali::Toolkit::ClampState *)jarg5;
+  if (!arg5) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ClampState & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (float)((Dali::Toolkit::RulerDomain const *)arg1)->Clamp(arg2,arg3,arg4,*arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RulerDomain_GetSize(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::RulerDomain *arg1 = (Dali::Toolkit::RulerDomain *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::RulerDomain *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::RulerDomain const *)arg1)->GetSize();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_RulerDomain(void * jarg1) {
+  Dali::Toolkit::RulerDomain *arg1 = (Dali::Toolkit::RulerDomain *) 0 ;
+  
+  arg1 = (Dali::Toolkit::RulerDomain *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Ruler_Snap__SWIG_0(void * jarg1, float jarg2, float jarg3) {
+  float jresult ;
+  Dali::Toolkit::Ruler *arg1 = (Dali::Toolkit::Ruler *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Ruler *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::Ruler const *)arg1)->Snap(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Ruler_Snap__SWIG_1(void * jarg1, float jarg2) {
+  float jresult ;
+  Dali::Toolkit::Ruler *arg1 = (Dali::Toolkit::Ruler *) 0 ;
+  float arg2 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Ruler *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::Ruler const *)arg1)->Snap(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Ruler_GetPositionFromPage(void * jarg1, unsigned int jarg2, unsigned int * jarg3, unsigned int jarg4) {
+  float jresult ;
+  Dali::Toolkit::Ruler *arg1 = (Dali::Toolkit::Ruler *) 0 ;
+  unsigned int arg2 ;
+  unsigned int *arg3 = 0 ;
+  bool arg4 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Ruler *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (unsigned int *)jarg3; 
+  arg4 = jarg4 ? true : false; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::Ruler const *)arg1)->GetPositionFromPage(arg2,*arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Ruler_GetPageFromPosition(void * jarg1, float jarg2, unsigned int jarg3) {
+  unsigned int jresult ;
+  Dali::Toolkit::Ruler *arg1 = (Dali::Toolkit::Ruler *) 0 ;
+  float arg2 ;
+  bool arg3 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Toolkit::Ruler *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = jarg3 ? true : false; 
+  {
+    try {
+      result = (unsigned int)((Dali::Toolkit::Ruler const *)arg1)->GetPageFromPosition(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Ruler_GetTotalPages(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::Ruler *arg1 = (Dali::Toolkit::Ruler *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Toolkit::Ruler *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::Toolkit::Ruler const *)arg1)->GetTotalPages();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Ruler_GetType(void * jarg1) {
+  int jresult ;
+  Dali::Toolkit::Ruler *arg1 = (Dali::Toolkit::Ruler *) 0 ;
+  Dali::Toolkit::Ruler::RulerType result;
+  
+  arg1 = (Dali::Toolkit::Ruler *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Ruler::RulerType)((Dali::Toolkit::Ruler const *)arg1)->GetType();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Ruler_IsEnabled(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::Ruler *arg1 = (Dali::Toolkit::Ruler *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::Ruler *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Toolkit::Ruler const *)arg1)->IsEnabled();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Ruler_Enable(void * jarg1) {
+  Dali::Toolkit::Ruler *arg1 = (Dali::Toolkit::Ruler *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Ruler *)jarg1; 
+  {
+    try {
+      (arg1)->Enable();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Ruler_Disable(void * jarg1) {
+  Dali::Toolkit::Ruler *arg1 = (Dali::Toolkit::Ruler *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Ruler *)jarg1; 
+  {
+    try {
+      (arg1)->Disable();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Ruler_SetDomain(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Ruler *arg1 = (Dali::Toolkit::Ruler *) 0 ;
+  SwigValueWrapper< Dali::Toolkit::RulerDomain > arg2 ;
+  Dali::Toolkit::RulerDomain *argp2 ;
+  
+  arg1 = (Dali::Toolkit::Ruler *)jarg1; 
+  argp2 = (Dali::Toolkit::RulerDomain *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::RulerDomain", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetDomain(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Ruler_GetDomain(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Ruler *arg1 = (Dali::Toolkit::Ruler *) 0 ;
+  Dali::Toolkit::RulerDomain *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Ruler *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::RulerDomain *) &((Dali::Toolkit::Ruler const *)arg1)->GetDomain();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Ruler_DisableDomain(void * jarg1) {
+  Dali::Toolkit::Ruler *arg1 = (Dali::Toolkit::Ruler *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Ruler *)jarg1; 
+  {
+    try {
+      (arg1)->DisableDomain();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Ruler_Clamp__SWIG_0(void * jarg1, float jarg2, float jarg3, float jarg4) {
+  float jresult ;
+  Dali::Toolkit::Ruler *arg1 = (Dali::Toolkit::Ruler *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Ruler *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::Ruler const *)arg1)->Clamp(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Ruler_Clamp__SWIG_1(void * jarg1, float jarg2, float jarg3) {
+  float jresult ;
+  Dali::Toolkit::Ruler *arg1 = (Dali::Toolkit::Ruler *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Ruler *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::Ruler const *)arg1)->Clamp(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Ruler_Clamp__SWIG_2(void * jarg1, float jarg2) {
+  float jresult ;
+  Dali::Toolkit::Ruler *arg1 = (Dali::Toolkit::Ruler *) 0 ;
+  float arg2 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Ruler *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::Ruler const *)arg1)->Clamp(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Ruler_Clamp__SWIG_3(void * jarg1, float jarg2, float jarg3, float jarg4, void * jarg5) {
+  float jresult ;
+  Dali::Toolkit::Ruler *arg1 = (Dali::Toolkit::Ruler *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  Dali::Toolkit::ClampState *arg5 = 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Ruler *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  arg5 = (Dali::Toolkit::ClampState *)jarg5;
+  if (!arg5) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ClampState & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (float)((Dali::Toolkit::Ruler const *)arg1)->Clamp(arg2,arg3,arg4,*arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Ruler_SnapAndClamp__SWIG_0(void * jarg1, float jarg2, float jarg3, float jarg4, float jarg5) {
+  float jresult ;
+  Dali::Toolkit::Ruler *arg1 = (Dali::Toolkit::Ruler *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  float arg5 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Ruler *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  arg5 = (float)jarg5; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::Ruler const *)arg1)->SnapAndClamp(arg2,arg3,arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Ruler_SnapAndClamp__SWIG_1(void * jarg1, float jarg2, float jarg3, float jarg4) {
+  float jresult ;
+  Dali::Toolkit::Ruler *arg1 = (Dali::Toolkit::Ruler *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Ruler *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::Ruler const *)arg1)->SnapAndClamp(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Ruler_SnapAndClamp__SWIG_2(void * jarg1, float jarg2, float jarg3) {
+  float jresult ;
+  Dali::Toolkit::Ruler *arg1 = (Dali::Toolkit::Ruler *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Ruler *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::Ruler const *)arg1)->SnapAndClamp(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Ruler_SnapAndClamp__SWIG_3(void * jarg1, float jarg2) {
+  float jresult ;
+  Dali::Toolkit::Ruler *arg1 = (Dali::Toolkit::Ruler *) 0 ;
+  float arg2 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Ruler *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::Ruler const *)arg1)->SnapAndClamp(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_Ruler_SnapAndClamp__SWIG_4(void * jarg1, float jarg2, float jarg3, float jarg4, float jarg5, void * jarg6) {
+  float jresult ;
+  Dali::Toolkit::Ruler *arg1 = (Dali::Toolkit::Ruler *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  float arg5 ;
+  Dali::Toolkit::ClampState *arg6 = 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Ruler *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  arg5 = (float)jarg5; 
+  arg6 = (Dali::Toolkit::ClampState *)jarg6;
+  if (!arg6) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ClampState & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (float)((Dali::Toolkit::Ruler const *)arg1)->SnapAndClamp(arg2,arg3,arg4,arg5,*arg6);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_DefaultRuler() {
+  void * jresult ;
+  Dali::Toolkit::DefaultRuler *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::DefaultRuler *)new Dali::Toolkit::DefaultRuler();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_DefaultRuler_Snap(void * jarg1, float jarg2, float jarg3) {
+  float jresult ;
+  Dali::Toolkit::DefaultRuler *arg1 = (Dali::Toolkit::DefaultRuler *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::DefaultRuler *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::DefaultRuler const *)arg1)->Snap(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_DefaultRuler_GetPositionFromPage(void * jarg1, unsigned int jarg2, unsigned int * jarg3, unsigned int jarg4) {
+  float jresult ;
+  Dali::Toolkit::DefaultRuler *arg1 = (Dali::Toolkit::DefaultRuler *) 0 ;
+  unsigned int arg2 ;
+  unsigned int *arg3 = 0 ;
+  bool arg4 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::DefaultRuler *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (unsigned int *)jarg3; 
+  arg4 = jarg4 ? true : false; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::DefaultRuler const *)arg1)->GetPositionFromPage(arg2,*arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_DefaultRuler_GetPageFromPosition(void * jarg1, float jarg2, unsigned int jarg3) {
+  unsigned int jresult ;
+  Dali::Toolkit::DefaultRuler *arg1 = (Dali::Toolkit::DefaultRuler *) 0 ;
+  float arg2 ;
+  bool arg3 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Toolkit::DefaultRuler *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = jarg3 ? true : false; 
+  {
+    try {
+      result = (unsigned int)((Dali::Toolkit::DefaultRuler const *)arg1)->GetPageFromPosition(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_DefaultRuler_GetTotalPages(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::DefaultRuler *arg1 = (Dali::Toolkit::DefaultRuler *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Toolkit::DefaultRuler *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::Toolkit::DefaultRuler const *)arg1)->GetTotalPages();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_DefaultRuler(void * jarg1) {
+  Dali::Toolkit::DefaultRuler *arg1 = (Dali::Toolkit::DefaultRuler *) 0 ;
+  
+  arg1 = (Dali::Toolkit::DefaultRuler *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_FixedRuler__SWIG_0(float jarg1) {
+  void * jresult ;
+  float arg1 ;
+  Dali::Toolkit::FixedRuler *result = 0 ;
+  
+  arg1 = (float)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::FixedRuler *)new Dali::Toolkit::FixedRuler(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_FixedRuler__SWIG_1() {
+  void * jresult ;
+  Dali::Toolkit::FixedRuler *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::FixedRuler *)new Dali::Toolkit::FixedRuler();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_FixedRuler_Snap(void * jarg1, float jarg2, float jarg3) {
+  float jresult ;
+  Dali::Toolkit::FixedRuler *arg1 = (Dali::Toolkit::FixedRuler *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::FixedRuler *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::FixedRuler const *)arg1)->Snap(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_FixedRuler_GetPositionFromPage(void * jarg1, unsigned int jarg2, unsigned int * jarg3, unsigned int jarg4) {
+  float jresult ;
+  Dali::Toolkit::FixedRuler *arg1 = (Dali::Toolkit::FixedRuler *) 0 ;
+  unsigned int arg2 ;
+  unsigned int *arg3 = 0 ;
+  bool arg4 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::FixedRuler *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (unsigned int *)jarg3; 
+  arg4 = jarg4 ? true : false; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::FixedRuler const *)arg1)->GetPositionFromPage(arg2,*arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_FixedRuler_GetPageFromPosition(void * jarg1, float jarg2, unsigned int jarg3) {
+  unsigned int jresult ;
+  Dali::Toolkit::FixedRuler *arg1 = (Dali::Toolkit::FixedRuler *) 0 ;
+  float arg2 ;
+  bool arg3 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Toolkit::FixedRuler *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = jarg3 ? true : false; 
+  {
+    try {
+      result = (unsigned int)((Dali::Toolkit::FixedRuler const *)arg1)->GetPageFromPosition(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_FixedRuler_GetTotalPages(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::FixedRuler *arg1 = (Dali::Toolkit::FixedRuler *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Toolkit::FixedRuler *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::Toolkit::FixedRuler const *)arg1)->GetTotalPages();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_FixedRuler(void * jarg1) {
+  Dali::Toolkit::FixedRuler *arg1 = (Dali::Toolkit::FixedRuler *) 0 ;
+  
+  arg1 = (Dali::Toolkit::FixedRuler *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_ClampEvent_scale_set(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ScrollView::ClampEvent *arg1 = (Dali::Toolkit::ScrollView::ClampEvent *) 0 ;
+  Dali::Toolkit::ClampState2D *arg2 = (Dali::Toolkit::ClampState2D *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView::ClampEvent *)jarg1; 
+  arg2 = (Dali::Toolkit::ClampState2D *)jarg2; 
+  if (arg1) (arg1)->scale = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ScrollView_ClampEvent_scale_get(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ScrollView::ClampEvent *arg1 = (Dali::Toolkit::ScrollView::ClampEvent *) 0 ;
+  Dali::Toolkit::ClampState2D *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView::ClampEvent *)jarg1; 
+  result = (Dali::Toolkit::ClampState2D *)& ((arg1)->scale);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_ClampEvent_position_set(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ScrollView::ClampEvent *arg1 = (Dali::Toolkit::ScrollView::ClampEvent *) 0 ;
+  Dali::Toolkit::ClampState2D *arg2 = (Dali::Toolkit::ClampState2D *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView::ClampEvent *)jarg1; 
+  arg2 = (Dali::Toolkit::ClampState2D *)jarg2; 
+  if (arg1) (arg1)->position = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ScrollView_ClampEvent_position_get(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ScrollView::ClampEvent *arg1 = (Dali::Toolkit::ScrollView::ClampEvent *) 0 ;
+  Dali::Toolkit::ClampState2D *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView::ClampEvent *)jarg1; 
+  result = (Dali::Toolkit::ClampState2D *)& ((arg1)->position);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_ClampEvent_rotation_set(void * jarg1, int jarg2) {
+  Dali::Toolkit::ScrollView::ClampEvent *arg1 = (Dali::Toolkit::ScrollView::ClampEvent *) 0 ;
+  Dali::Toolkit::ClampState arg2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView::ClampEvent *)jarg1; 
+  arg2 = (Dali::Toolkit::ClampState)jarg2; 
+  if (arg1) (arg1)->rotation = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_ClampEvent_rotation_get(void * jarg1) {
+  int jresult ;
+  Dali::Toolkit::ScrollView::ClampEvent *arg1 = (Dali::Toolkit::ScrollView::ClampEvent *) 0 ;
+  Dali::Toolkit::ClampState result;
+  
+  arg1 = (Dali::Toolkit::ScrollView::ClampEvent *)jarg1; 
+  result = (Dali::Toolkit::ClampState) ((arg1)->rotation);
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ScrollView_ClampEvent() {
+  void * jresult ;
+  Dali::Toolkit::ScrollView::ClampEvent *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::ScrollView::ClampEvent *)new Dali::Toolkit::ScrollView::ClampEvent();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ScrollView_ClampEvent(void * jarg1) {
+  Dali::Toolkit::ScrollView::ClampEvent *arg1 = (Dali::Toolkit::ScrollView::ClampEvent *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView::ClampEvent *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SnapEvent_type_set(void * jarg1, int jarg2) {
+  Dali::Toolkit::ScrollView::SnapEvent *arg1 = (Dali::Toolkit::ScrollView::SnapEvent *) 0 ;
+  Dali::Toolkit::SnapType arg2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView::SnapEvent *)jarg1; 
+  arg2 = (Dali::Toolkit::SnapType)jarg2; 
+  if (arg1) (arg1)->type = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_SnapEvent_type_get(void * jarg1) {
+  int jresult ;
+  Dali::Toolkit::ScrollView::SnapEvent *arg1 = (Dali::Toolkit::ScrollView::SnapEvent *) 0 ;
+  Dali::Toolkit::SnapType result;
+  
+  arg1 = (Dali::Toolkit::ScrollView::SnapEvent *)jarg1; 
+  result = (Dali::Toolkit::SnapType) ((arg1)->type);
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SnapEvent_position_set(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ScrollView::SnapEvent *arg1 = (Dali::Toolkit::ScrollView::SnapEvent *) 0 ;
+  Dali::Vector2 *arg2 = (Dali::Vector2 *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView::SnapEvent *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2; 
+  if (arg1) (arg1)->position = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ScrollView_SnapEvent_position_get(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ScrollView::SnapEvent *arg1 = (Dali::Toolkit::ScrollView::SnapEvent *) 0 ;
+  Dali::Vector2 *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView::SnapEvent *)jarg1; 
+  result = (Dali::Vector2 *)& ((arg1)->position);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SnapEvent_duration_set(void * jarg1, float jarg2) {
+  Dali::Toolkit::ScrollView::SnapEvent *arg1 = (Dali::Toolkit::ScrollView::SnapEvent *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView::SnapEvent *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->duration = arg2;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ScrollView_SnapEvent_duration_get(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::ScrollView::SnapEvent *arg1 = (Dali::Toolkit::ScrollView::SnapEvent *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ScrollView::SnapEvent *)jarg1; 
+  result = (float) ((arg1)->duration);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ScrollView_SnapEvent() {
+  void * jresult ;
+  Dali::Toolkit::ScrollView::SnapEvent *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::ScrollView::SnapEvent *)new Dali::Toolkit::ScrollView::SnapEvent();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ScrollView_SnapEvent(void * jarg1) {
+  Dali::Toolkit::ScrollView::SnapEvent *arg1 = (Dali::Toolkit::ScrollView::SnapEvent *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView::SnapEvent *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_WRAP_ENABLED_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::WRAP_ENABLED;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_PANNING_ENABLED_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::PANNING_ENABLED;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_AXIS_AUTO_LOCK_ENABLED_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::AXIS_AUTO_LOCK_ENABLED;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_WHEEL_SCROLL_DISTANCE_STEP_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::WHEEL_SCROLL_DISTANCE_STEP;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_SCROLL_POSITION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::SCROLL_POSITION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_SCROLL_PRE_POSITION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::SCROLL_PRE_POSITION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_SCROLL_PRE_POSITION_X_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::SCROLL_PRE_POSITION_X;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_SCROLL_PRE_POSITION_Y_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::SCROLL_PRE_POSITION_Y;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_SCROLL_PRE_POSITION_MAX_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::SCROLL_PRE_POSITION_MAX;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_SCROLL_PRE_POSITION_MAX_X_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::SCROLL_PRE_POSITION_MAX_X;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_SCROLL_PRE_POSITION_MAX_Y_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::SCROLL_PRE_POSITION_MAX_Y;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_OVERSHOOT_X_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::OVERSHOOT_X;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_OVERSHOOT_Y_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::OVERSHOOT_Y;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_SCROLL_FINAL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::SCROLL_FINAL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_SCROLL_FINAL_X_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::SCROLL_FINAL_X;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_SCROLL_FINAL_Y_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::SCROLL_FINAL_Y;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_WRAP_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::WRAP;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_PANNING_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::PANNING;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_SCROLLING_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::SCROLLING;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_SCROLL_DOMAIN_SIZE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::SCROLL_DOMAIN_SIZE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_SCROLL_DOMAIN_SIZE_X_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::SCROLL_DOMAIN_SIZE_X;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_SCROLL_DOMAIN_SIZE_Y_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::SCROLL_DOMAIN_SIZE_Y;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_SCROLL_DOMAIN_OFFSET_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::SCROLL_DOMAIN_OFFSET;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_SCROLL_POSITION_DELTA_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::SCROLL_POSITION_DELTA;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_Property_START_PAGE_POSITION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ScrollView::Property::START_PAGE_POSITION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ScrollView_Property() {
+  void * jresult ;
+  Dali::Toolkit::ScrollView::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::ScrollView::Property *)new Dali::Toolkit::ScrollView::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ScrollView_Property(void * jarg1) {
+  Dali::Toolkit::ScrollView::Property *arg1 = (Dali::Toolkit::ScrollView::Property *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ScrollView__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::ScrollView *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::ScrollView *)new Dali::Toolkit::ScrollView();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ScrollView__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ScrollView *arg1 = 0 ;
+  Dali::Toolkit::ScrollView *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ScrollView const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::ScrollView *)new Dali::Toolkit::ScrollView((Dali::Toolkit::ScrollView const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ScrollView_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::Toolkit::ScrollView *arg2 = 0 ;
+  Dali::Toolkit::ScrollView *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = (Dali::Toolkit::ScrollView *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ScrollView const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::ScrollView *) &(arg1)->operator =((Dali::Toolkit::ScrollView const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ScrollView(void * jarg1) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ScrollView_New() {
+  void * jresult ;
+  Dali::Toolkit::ScrollView result;
+  
+  {
+    try {
+      result = Dali::Toolkit::ScrollView::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ScrollView((const Dali::Toolkit::ScrollView &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ScrollView_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::ScrollView result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::ScrollView::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ScrollView((const Dali::Toolkit::ScrollView &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ScrollView_GetScrollSnapAlphaFunction(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::AlphaFunction result;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::ScrollView const *)arg1)->GetScrollSnapAlphaFunction();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::AlphaFunction((const Dali::AlphaFunction &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SetScrollSnapAlphaFunction(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::AlphaFunction arg2 ;
+  Dali::AlphaFunction *argp2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  argp2 = (Dali::AlphaFunction *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::AlphaFunction", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetScrollSnapAlphaFunction(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ScrollView_GetScrollFlickAlphaFunction(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::AlphaFunction result;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::ScrollView const *)arg1)->GetScrollFlickAlphaFunction();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::AlphaFunction((const Dali::AlphaFunction &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SetScrollFlickAlphaFunction(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::AlphaFunction arg2 ;
+  Dali::AlphaFunction *argp2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  argp2 = (Dali::AlphaFunction *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::AlphaFunction", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetScrollFlickAlphaFunction(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ScrollView_GetScrollSnapDuration(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::ScrollView const *)arg1)->GetScrollSnapDuration();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SetScrollSnapDuration(void * jarg1, float jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetScrollSnapDuration(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ScrollView_GetScrollFlickDuration(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::ScrollView const *)arg1)->GetScrollFlickDuration();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SetScrollFlickDuration(void * jarg1, float jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetScrollFlickDuration(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SetRulerX(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::Toolkit::RulerPtr arg2 ;
+  Dali::Toolkit::RulerPtr *argp2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  argp2 = (Dali::Toolkit::RulerPtr *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::RulerPtr", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetRulerX(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SetRulerY(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::Toolkit::RulerPtr arg2 ;
+  Dali::Toolkit::RulerPtr *argp2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  argp2 = (Dali::Toolkit::RulerPtr *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::RulerPtr", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetRulerY(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SetScrollSensitive(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetScrollSensitive(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SetMaxOvershoot(void * jarg1, float jarg2, float jarg3) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      (arg1)->SetMaxOvershoot(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SetSnapOvershootAlphaFunction(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::AlphaFunction arg2 ;
+  Dali::AlphaFunction *argp2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  argp2 = (Dali::AlphaFunction *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::AlphaFunction", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetSnapOvershootAlphaFunction(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SetSnapOvershootDuration(void * jarg1, float jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetSnapOvershootDuration(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SetActorAutoSnap(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetActorAutoSnap(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SetWrapMode(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetWrapMode(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ScrollView_GetScrollUpdateDistance(void * jarg1) {
+  int jresult ;
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  int result;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  {
+    try {
+      result = (int)((Dali::Toolkit::ScrollView const *)arg1)->GetScrollUpdateDistance();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SetScrollUpdateDistance(void * jarg1, int jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  int arg2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = (int)jarg2; 
+  {
+    try {
+      (arg1)->SetScrollUpdateDistance(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ScrollView_GetAxisAutoLock(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Toolkit::ScrollView const *)arg1)->GetAxisAutoLock();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SetAxisAutoLock(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetAxisAutoLock(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ScrollView_GetAxisAutoLockGradient(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::ScrollView const *)arg1)->GetAxisAutoLockGradient();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SetAxisAutoLockGradient(void * jarg1, float jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetAxisAutoLockGradient(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ScrollView_GetFrictionCoefficient(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::ScrollView const *)arg1)->GetFrictionCoefficient();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SetFrictionCoefficient(void * jarg1, float jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetFrictionCoefficient(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ScrollView_GetFlickSpeedCoefficient(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::ScrollView const *)arg1)->GetFlickSpeedCoefficient();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SetFlickSpeedCoefficient(void * jarg1, float jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetFlickSpeedCoefficient(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ScrollView_GetMinimumDistanceForFlick(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::Vector2 result;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::ScrollView const *)arg1)->GetMinimumDistanceForFlick();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector2((const Dali::Vector2 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SetMinimumDistanceForFlick(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetMinimumDistanceForFlick((Dali::Vector2 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ScrollView_GetMinimumSpeedForFlick(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::ScrollView const *)arg1)->GetMinimumSpeedForFlick();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SetMinimumSpeedForFlick(void * jarg1, float jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetMinimumSpeedForFlick(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_ScrollView_GetMaxFlickSpeed(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::ScrollView const *)arg1)->GetMaxFlickSpeed();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SetMaxFlickSpeed(void * jarg1, float jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetMaxFlickSpeed(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ScrollView_GetWheelScrollDistanceStep(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::Vector2 result;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::ScrollView const *)arg1)->GetWheelScrollDistanceStep();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector2((const Dali::Vector2 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SetWheelScrollDistanceStep(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::Vector2 arg2 ;
+  Dali::Vector2 *argp2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  argp2 = (Dali::Vector2 *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Vector2", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetWheelScrollDistanceStep(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ScrollView_GetCurrentScrollPosition(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::Vector2 result;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::ScrollView const *)arg1)->GetCurrentScrollPosition();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector2((const Dali::Vector2 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ScrollView_GetCurrentPage(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::Toolkit::ScrollView const *)arg1)->GetCurrentPage();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_ScrollTo__SWIG_0(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->ScrollTo((Dali::Vector2 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_ScrollTo__SWIG_1(void * jarg1, void * jarg2, float jarg3) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  float arg3 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return ;
+  } 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      (arg1)->ScrollTo((Dali::Vector2 const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_ScrollTo__SWIG_2(void * jarg1, void * jarg2, float jarg3, void * jarg4) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  float arg3 ;
+  Dali::AlphaFunction arg4 ;
+  Dali::AlphaFunction *argp4 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return ;
+  } 
+  arg3 = (float)jarg3; 
+  argp4 = (Dali::AlphaFunction *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::AlphaFunction", 0);
+    return ;
+  }
+  arg4 = *argp4; 
+  {
+    try {
+      (arg1)->ScrollTo((Dali::Vector2 const &)*arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_ScrollTo__SWIG_3(void * jarg1, void * jarg2, float jarg3, int jarg4, int jarg5) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  float arg3 ;
+  Dali::Toolkit::DirectionBias arg4 ;
+  Dali::Toolkit::DirectionBias arg5 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return ;
+  } 
+  arg3 = (float)jarg3; 
+  arg4 = (Dali::Toolkit::DirectionBias)jarg4; 
+  arg5 = (Dali::Toolkit::DirectionBias)jarg5; 
+  {
+    try {
+      (arg1)->ScrollTo((Dali::Vector2 const &)*arg2,arg3,arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_ScrollTo__SWIG_4(void * jarg1, void * jarg2, float jarg3, void * jarg4, int jarg5, int jarg6) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  float arg3 ;
+  Dali::AlphaFunction arg4 ;
+  Dali::Toolkit::DirectionBias arg5 ;
+  Dali::Toolkit::DirectionBias arg6 ;
+  Dali::AlphaFunction *argp4 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return ;
+  } 
+  arg3 = (float)jarg3; 
+  argp4 = (Dali::AlphaFunction *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::AlphaFunction", 0);
+    return ;
+  }
+  arg4 = *argp4; 
+  arg5 = (Dali::Toolkit::DirectionBias)jarg5; 
+  arg6 = (Dali::Toolkit::DirectionBias)jarg6; 
+  {
+    try {
+      (arg1)->ScrollTo((Dali::Vector2 const &)*arg2,arg3,arg4,arg5,arg6);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_ScrollTo__SWIG_5(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      (arg1)->ScrollTo(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_ScrollTo__SWIG_6(void * jarg1, unsigned int jarg2, float jarg3) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  unsigned int arg2 ;
+  float arg3 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      (arg1)->ScrollTo(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_ScrollTo__SWIG_7(void * jarg1, unsigned int jarg2, float jarg3, int jarg4) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  unsigned int arg2 ;
+  float arg3 ;
+  Dali::Toolkit::DirectionBias arg4 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (Dali::Toolkit::DirectionBias)jarg4; 
+  {
+    try {
+      (arg1)->ScrollTo(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_ScrollTo__SWIG_8(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::Actor *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = (Dali::Actor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->ScrollTo(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_ScrollTo__SWIG_9(void * jarg1, void * jarg2, float jarg3) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::Actor *arg2 = 0 ;
+  float arg3 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  arg2 = (Dali::Actor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor & type is null", 0);
+    return ;
+  } 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      (arg1)->ScrollTo(*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ScrollView_ScrollToSnapPoint(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  {
+    try {
+      result = (bool)(arg1)->ScrollToSnapPoint();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_ApplyConstraintToChildren(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::Constraint arg2 ;
+  Dali::Constraint *argp2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  argp2 = (Dali::Constraint *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Constraint", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->ApplyConstraintToChildren(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_RemoveConstraintsFromChildren(void * jarg1) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  {
+    try {
+      (arg1)->RemoveConstraintsFromChildren();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_ApplyEffect(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::Toolkit::ScrollViewEffect arg2 ;
+  Dali::Toolkit::ScrollViewEffect *argp2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  argp2 = (Dali::Toolkit::ScrollViewEffect *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::ScrollViewEffect", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->ApplyEffect(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_RemoveEffect(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::Toolkit::ScrollViewEffect arg2 ;
+  Dali::Toolkit::ScrollViewEffect *argp2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  argp2 = (Dali::Toolkit::ScrollViewEffect *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::ScrollViewEffect", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->RemoveEffect(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_RemoveAllEffects(void * jarg1) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  {
+    try {
+      (arg1)->RemoveAllEffects();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_BindActor(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->BindActor(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_UnbindActor(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->UnbindActor(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SetScrollingDirection__SWIG_0(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::Radian arg2 ;
+  Dali::Radian arg3 ;
+  Dali::Radian *argp2 ;
+  Dali::Radian *argp3 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  argp2 = (Dali::Radian *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::Radian *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  {
+    try {
+      (arg1)->SetScrollingDirection(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_SetScrollingDirection__SWIG_1(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::Radian arg2 ;
+  Dali::Radian *argp2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  argp2 = (Dali::Radian *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetScrollingDirection(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollView_RemoveScrollingDirection(void * jarg1, void * jarg2) {
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::Radian arg2 ;
+  Dali::Radian *argp2 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  argp2 = (Dali::Radian *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Radian", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->RemoveScrollingDirection(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ScrollView_SnapStartedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ScrollView *arg1 = (Dali::Toolkit::ScrollView *) 0 ;
+  Dali::Toolkit::ScrollView::SnapStartedSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::ScrollView *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::ScrollView::SnapStartedSignalType *) &(arg1)->SnapStartedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TableView_Property_ROWS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TableView::Property::ROWS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TableView_Property_COLUMNS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TableView::Property::COLUMNS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TableView_Property_CELL_PADDING_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TableView::Property::CELL_PADDING;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TableView_Property_LAYOUT_ROWS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TableView::Property::LAYOUT_ROWS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TableView_Property_LAYOUT_COLUMNS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TableView::Property::LAYOUT_COLUMNS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TableView_Property() {
+  void * jresult ;
+  Dali::Toolkit::TableView::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::TableView::Property *)new Dali::Toolkit::TableView::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TableView_Property(void * jarg1) {
+  Dali::Toolkit::TableView::Property *arg1 = (Dali::Toolkit::TableView::Property *) 0 ;
+  
+  arg1 = (Dali::Toolkit::TableView::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TableView_ChildProperty_CELL_INDEX_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TableView::ChildProperty::CELL_INDEX;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TableView_ChildProperty_ROW_SPAN_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TableView::ChildProperty::ROW_SPAN;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TableView_ChildProperty_COLUMN_SPAN_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TableView::ChildProperty::COLUMN_SPAN;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TableView_ChildProperty_CELL_HORIZONTAL_ALIGNMENT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TableView::ChildProperty::CELL_HORIZONTAL_ALIGNMENT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TableView_ChildProperty_CELL_VERTICAL_ALIGNMENT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TableView::ChildProperty::CELL_VERTICAL_ALIGNMENT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TableView_ChildProperty() {
+  void * jresult ;
+  Dali::Toolkit::TableView::ChildProperty *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::TableView::ChildProperty *)new Dali::Toolkit::TableView::ChildProperty();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TableView_ChildProperty(void * jarg1) {
+  Dali::Toolkit::TableView::ChildProperty *arg1 = (Dali::Toolkit::TableView::ChildProperty *) 0 ;
+  
+  arg1 = (Dali::Toolkit::TableView::ChildProperty *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TableView_CellPosition__SWIG_0(unsigned int jarg1, unsigned int jarg2, unsigned int jarg3, unsigned int jarg4) {
+  void * jresult ;
+  unsigned int arg1 ;
+  unsigned int arg2 ;
+  unsigned int arg3 ;
+  unsigned int arg4 ;
+  Dali::Toolkit::TableView::CellPosition *result = 0 ;
+  
+  arg1 = (unsigned int)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (unsigned int)jarg3; 
+  arg4 = (unsigned int)jarg4; 
+  {
+    try {
+      result = (Dali::Toolkit::TableView::CellPosition *)new Dali::Toolkit::TableView::CellPosition(arg1,arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TableView_CellPosition__SWIG_1(unsigned int jarg1, unsigned int jarg2, unsigned int jarg3) {
+  void * jresult ;
+  unsigned int arg1 ;
+  unsigned int arg2 ;
+  unsigned int arg3 ;
+  Dali::Toolkit::TableView::CellPosition *result = 0 ;
+  
+  arg1 = (unsigned int)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (unsigned int)jarg3; 
+  {
+    try {
+      result = (Dali::Toolkit::TableView::CellPosition *)new Dali::Toolkit::TableView::CellPosition(arg1,arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TableView_CellPosition__SWIG_2(unsigned int jarg1, unsigned int jarg2) {
+  void * jresult ;
+  unsigned int arg1 ;
+  unsigned int arg2 ;
+  Dali::Toolkit::TableView::CellPosition *result = 0 ;
+  
+  arg1 = (unsigned int)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = (Dali::Toolkit::TableView::CellPosition *)new Dali::Toolkit::TableView::CellPosition(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TableView_CellPosition__SWIG_3(unsigned int jarg1) {
+  void * jresult ;
+  unsigned int arg1 ;
+  Dali::Toolkit::TableView::CellPosition *result = 0 ;
+  
+  arg1 = (unsigned int)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::TableView::CellPosition *)new Dali::Toolkit::TableView::CellPosition(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TableView_CellPosition__SWIG_4() {
+  void * jresult ;
+  Dali::Toolkit::TableView::CellPosition *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::TableView::CellPosition *)new Dali::Toolkit::TableView::CellPosition();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TableView_CellPosition_rowIndex_set(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::TableView::CellPosition *arg1 = (Dali::Toolkit::TableView::CellPosition *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::Toolkit::TableView::CellPosition *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->rowIndex = arg2;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TableView_CellPosition_rowIndex_get(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::TableView::CellPosition *arg1 = (Dali::Toolkit::TableView::CellPosition *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Toolkit::TableView::CellPosition *)jarg1; 
+  result = (unsigned int) ((arg1)->rowIndex);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TableView_CellPosition_columnIndex_set(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::TableView::CellPosition *arg1 = (Dali::Toolkit::TableView::CellPosition *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::Toolkit::TableView::CellPosition *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->columnIndex = arg2;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TableView_CellPosition_columnIndex_get(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::TableView::CellPosition *arg1 = (Dali::Toolkit::TableView::CellPosition *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Toolkit::TableView::CellPosition *)jarg1; 
+  result = (unsigned int) ((arg1)->columnIndex);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TableView_CellPosition_rowSpan_set(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::TableView::CellPosition *arg1 = (Dali::Toolkit::TableView::CellPosition *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::Toolkit::TableView::CellPosition *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->rowSpan = arg2;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TableView_CellPosition_rowSpan_get(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::TableView::CellPosition *arg1 = (Dali::Toolkit::TableView::CellPosition *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Toolkit::TableView::CellPosition *)jarg1; 
+  result = (unsigned int) ((arg1)->rowSpan);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TableView_CellPosition_columnSpan_set(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::TableView::CellPosition *arg1 = (Dali::Toolkit::TableView::CellPosition *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::Toolkit::TableView::CellPosition *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->columnSpan = arg2;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TableView_CellPosition_columnSpan_get(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::TableView::CellPosition *arg1 = (Dali::Toolkit::TableView::CellPosition *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Toolkit::TableView::CellPosition *)jarg1; 
+  result = (unsigned int) ((arg1)->columnSpan);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TableView_CellPosition(void * jarg1) {
+  Dali::Toolkit::TableView::CellPosition *arg1 = (Dali::Toolkit::TableView::CellPosition *) 0 ;
+  
+  arg1 = (Dali::Toolkit::TableView::CellPosition *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TableView__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::TableView *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::TableView *)new Dali::Toolkit::TableView();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TableView__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::TableView *arg1 = 0 ;
+  Dali::Toolkit::TableView *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::TableView const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::TableView *)new Dali::Toolkit::TableView((Dali::Toolkit::TableView const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TableView_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  Dali::Toolkit::TableView *arg2 = 0 ;
+  Dali::Toolkit::TableView *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  arg2 = (Dali::Toolkit::TableView *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::TableView const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::TableView *) &(arg1)->operator =((Dali::Toolkit::TableView const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TableView(void * jarg1) {
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TableView_New(unsigned int jarg1, unsigned int jarg2) {
+  void * jresult ;
+  unsigned int arg1 ;
+  unsigned int arg2 ;
+  Dali::Toolkit::TableView result;
+  
+  arg1 = (unsigned int)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = Dali::Toolkit::TableView::New(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::TableView((const Dali::Toolkit::TableView &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TableView_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::TableView result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::TableView::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::TableView((const Dali::Toolkit::TableView &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TableView_AddChild(void * jarg1, void * jarg2, void * jarg3) {
+  unsigned int jresult ;
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Toolkit::TableView::CellPosition arg3 ;
+  Dali::Actor *argp2 ;
+  Dali::Toolkit::TableView::CellPosition *argp3 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::Toolkit::TableView::CellPosition *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::TableView::CellPosition", 0);
+    return 0;
+  }
+  arg3 = *argp3; 
+  {
+    try {
+      result = (bool)(arg1)->AddChild(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TableView_GetChildAt(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  Dali::Toolkit::TableView::CellPosition arg2 ;
+  Dali::Toolkit::TableView::CellPosition *argp2 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  argp2 = (Dali::Toolkit::TableView::CellPosition *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::TableView::CellPosition", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (arg1)->GetChildAt(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TableView_RemoveChildAt(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  Dali::Toolkit::TableView::CellPosition arg2 ;
+  Dali::Toolkit::TableView::CellPosition *argp2 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  argp2 = (Dali::Toolkit::TableView::CellPosition *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::TableView::CellPosition", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (arg1)->RemoveChildAt(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TableView_FindChildPosition(void * jarg1, void * jarg2, void * jarg3) {
+  unsigned int jresult ;
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Toolkit::TableView::CellPosition *arg3 = 0 ;
+  Dali::Actor *argp2 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::Toolkit::TableView::CellPosition *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::TableView::CellPosition & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)(arg1)->FindChildPosition(arg2,*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TableView_InsertRow(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      (arg1)->InsertRow(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TableView_DeleteRow__SWIG_0(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      (arg1)->DeleteRow(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TableView_DeleteRow__SWIG_1(void * jarg1, unsigned int jarg2, void * jarg3) {
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  unsigned int arg2 ;
+  std::vector< Dali::Actor > *arg3 = 0 ;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (std::vector< Dali::Actor > *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::vector< Dali::Actor > & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->DeleteRow(arg2,*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TableView_InsertColumn(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      (arg1)->InsertColumn(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TableView_DeleteColumn__SWIG_0(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      (arg1)->DeleteColumn(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TableView_DeleteColumn__SWIG_1(void * jarg1, unsigned int jarg2, void * jarg3) {
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  unsigned int arg2 ;
+  std::vector< Dali::Actor > *arg3 = 0 ;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (std::vector< Dali::Actor > *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::vector< Dali::Actor > & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->DeleteColumn(arg2,*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TableView_Resize__SWIG_0(void * jarg1, unsigned int jarg2, unsigned int jarg3) {
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  unsigned int arg2 ;
+  unsigned int arg3 ;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (unsigned int)jarg3; 
+  {
+    try {
+      (arg1)->Resize(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TableView_Resize__SWIG_1(void * jarg1, unsigned int jarg2, unsigned int jarg3, void * jarg4) {
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  unsigned int arg2 ;
+  unsigned int arg3 ;
+  std::vector< Dali::Actor > *arg4 = 0 ;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (unsigned int)jarg3; 
+  arg4 = (std::vector< Dali::Actor > *)jarg4;
+  if (!arg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::vector< Dali::Actor > & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->Resize(arg2,arg3,*arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TableView_SetCellPadding(void * jarg1, void * jarg2) {
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  Dali::Size arg2 ;
+  Dali::Size *argp2 ;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  argp2 = (Dali::Size *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Size", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetCellPadding(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TableView_GetCellPadding(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  Dali::Size result;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  {
+    try {
+      result = (arg1)->GetCellPadding();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Size((const Dali::Size &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TableView_SetFitHeight(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      (arg1)->SetFitHeight(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TableView_IsFitHeight(void * jarg1, unsigned int jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  unsigned int arg2 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = (bool)((Dali::Toolkit::TableView const *)arg1)->IsFitHeight(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TableView_SetFitWidth(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      (arg1)->SetFitWidth(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TableView_IsFitWidth(void * jarg1, unsigned int jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  unsigned int arg2 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = (bool)((Dali::Toolkit::TableView const *)arg1)->IsFitWidth(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TableView_SetFixedHeight(void * jarg1, unsigned int jarg2, float jarg3) {
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  unsigned int arg2 ;
+  float arg3 ;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      (arg1)->SetFixedHeight(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_TableView_GetFixedHeight(void * jarg1, unsigned int jarg2) {
+  float jresult ;
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  unsigned int arg2 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::TableView const *)arg1)->GetFixedHeight(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TableView_SetRelativeHeight(void * jarg1, unsigned int jarg2, float jarg3) {
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  unsigned int arg2 ;
+  float arg3 ;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      (arg1)->SetRelativeHeight(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_TableView_GetRelativeHeight(void * jarg1, unsigned int jarg2) {
+  float jresult ;
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  unsigned int arg2 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::TableView const *)arg1)->GetRelativeHeight(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TableView_SetFixedWidth(void * jarg1, unsigned int jarg2, float jarg3) {
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  unsigned int arg2 ;
+  float arg3 ;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      (arg1)->SetFixedWidth(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_TableView_GetFixedWidth(void * jarg1, unsigned int jarg2) {
+  float jresult ;
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  unsigned int arg2 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::TableView const *)arg1)->GetFixedWidth(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TableView_SetRelativeWidth(void * jarg1, unsigned int jarg2, float jarg3) {
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  unsigned int arg2 ;
+  float arg3 ;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      (arg1)->SetRelativeWidth(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_TableView_GetRelativeWidth(void * jarg1, unsigned int jarg2) {
+  float jresult ;
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  unsigned int arg2 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::TableView const *)arg1)->GetRelativeWidth(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TableView_GetRows(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  {
+    try {
+      result = (unsigned int)(arg1)->GetRows();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TableView_GetColumns(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  {
+    try {
+      result = (unsigned int)(arg1)->GetColumns();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TableView_SetCellAlignment(void * jarg1, void * jarg2, int jarg3, int jarg4) {
+  Dali::Toolkit::TableView *arg1 = (Dali::Toolkit::TableView *) 0 ;
+  Dali::Toolkit::TableView::CellPosition arg2 ;
+  Dali::HorizontalAlignment::Type arg3 ;
+  Dali::VerticalAlignment::Type arg4 ;
+  Dali::Toolkit::TableView::CellPosition *argp2 ;
+  
+  arg1 = (Dali::Toolkit::TableView *)jarg1; 
+  argp2 = (Dali::Toolkit::TableView::CellPosition *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::TableView::CellPosition", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::HorizontalAlignment::Type)jarg3; 
+  arg4 = (Dali::VerticalAlignment::Type)jarg4; 
+  {
+    try {
+      (arg1)->SetCellAlignment(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_DEFAULT_RENDERING_BACKEND_get() {
+  unsigned int jresult ;
+  unsigned int result;
+  
+  result = (unsigned int)(unsigned int)Dali::Toolkit::Text::DEFAULT_RENDERING_BACKEND;
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_RENDERING_BACKEND_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::RENDERING_BACKEND;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_TEXT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::TEXT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_TEXT_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::TEXT_COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_FONT_FAMILY_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::FONT_FAMILY;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_FONT_STYLE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::FONT_STYLE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_POINT_SIZE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::POINT_SIZE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_HORIZONTAL_ALIGNMENT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::HORIZONTAL_ALIGNMENT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_SCROLL_THRESHOLD_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::SCROLL_THRESHOLD;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_SCROLL_SPEED_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::SCROLL_SPEED;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_PRIMARY_CURSOR_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::PRIMARY_CURSOR_COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_SECONDARY_CURSOR_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::SECONDARY_CURSOR_COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_ENABLE_CURSOR_BLINK_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::ENABLE_CURSOR_BLINK;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_CURSOR_BLINK_INTERVAL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::CURSOR_BLINK_INTERVAL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_CURSOR_BLINK_DURATION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::CURSOR_BLINK_DURATION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_CURSOR_WIDTH_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::CURSOR_WIDTH;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_GRAB_HANDLE_IMAGE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::GRAB_HANDLE_IMAGE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_GRAB_HANDLE_PRESSED_IMAGE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::GRAB_HANDLE_PRESSED_IMAGE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_SELECTION_HANDLE_IMAGE_LEFT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::SELECTION_HANDLE_IMAGE_LEFT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_SELECTION_HANDLE_IMAGE_RIGHT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::SELECTION_HANDLE_IMAGE_RIGHT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_SELECTION_HANDLE_PRESSED_IMAGE_LEFT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::SELECTION_HANDLE_PRESSED_IMAGE_LEFT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_SELECTION_HANDLE_PRESSED_IMAGE_RIGHT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::SELECTION_HANDLE_PRESSED_IMAGE_RIGHT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_SELECTION_HANDLE_MARKER_IMAGE_LEFT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::SELECTION_HANDLE_MARKER_IMAGE_LEFT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_SELECTION_HANDLE_MARKER_IMAGE_RIGHT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::SELECTION_HANDLE_MARKER_IMAGE_RIGHT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_SELECTION_HIGHLIGHT_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::SELECTION_HIGHLIGHT_COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_DECORATION_BOUNDING_BOX_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::DECORATION_BOUNDING_BOX;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_ENABLE_MARKUP_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::ENABLE_MARKUP;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_INPUT_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::INPUT_COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_INPUT_FONT_FAMILY_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::INPUT_FONT_FAMILY;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_INPUT_FONT_STYLE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::INPUT_FONT_STYLE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_INPUT_POINT_SIZE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::INPUT_POINT_SIZE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_LINE_SPACING_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::LINE_SPACING;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_INPUT_LINE_SPACING_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::INPUT_LINE_SPACING;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_UNDERLINE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::UNDERLINE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_INPUT_UNDERLINE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::INPUT_UNDERLINE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_SHADOW_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::SHADOW;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_INPUT_SHADOW_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::INPUT_SHADOW;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_EMBOSS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::EMBOSS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_INPUT_EMBOSS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::INPUT_EMBOSS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_OUTLINE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::OUTLINE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextEditor_Property_INPUT_OUTLINE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextEditor::Property::INPUT_OUTLINE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TextEditor_Property() {
+  void * jresult ;
+  Dali::Toolkit::TextEditor::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::TextEditor::Property *)new Dali::Toolkit::TextEditor::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TextEditor_Property(void * jarg1) {
+  Dali::Toolkit::TextEditor::Property *arg1 = (Dali::Toolkit::TextEditor::Property *) 0 ;
+  
+  arg1 = (Dali::Toolkit::TextEditor::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TextEditor_InputStyle() {
+  void * jresult ;
+  Dali::Toolkit::TextEditor::InputStyle *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::TextEditor::InputStyle *)new Dali::Toolkit::TextEditor::InputStyle();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TextEditor_InputStyle(void * jarg1) {
+  Dali::Toolkit::TextEditor::InputStyle *arg1 = (Dali::Toolkit::TextEditor::InputStyle *) 0 ;
+  
+  arg1 = (Dali::Toolkit::TextEditor::InputStyle *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TextEditor_New() {
+  void * jresult ;
+  Dali::Toolkit::TextEditor result;
+  
+  {
+    try {
+      result = Dali::Toolkit::TextEditor::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::TextEditor((const Dali::Toolkit::TextEditor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TextEditor__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::TextEditor *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::TextEditor *)new Dali::Toolkit::TextEditor();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TextEditor__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::TextEditor *arg1 = 0 ;
+  Dali::Toolkit::TextEditor *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::TextEditor *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::TextEditor const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::TextEditor *)new Dali::Toolkit::TextEditor((Dali::Toolkit::TextEditor const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TextEditor_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::TextEditor *arg1 = (Dali::Toolkit::TextEditor *) 0 ;
+  Dali::Toolkit::TextEditor *arg2 = 0 ;
+  Dali::Toolkit::TextEditor *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::TextEditor *)jarg1; 
+  arg2 = (Dali::Toolkit::TextEditor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::TextEditor const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::TextEditor *) &(arg1)->operator =((Dali::Toolkit::TextEditor const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TextEditor(void * jarg1) {
+  Dali::Toolkit::TextEditor *arg1 = (Dali::Toolkit::TextEditor *) 0 ;
+  
+  arg1 = (Dali::Toolkit::TextEditor *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TextEditor_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::TextEditor result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::TextEditor::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::TextEditor((const Dali::Toolkit::TextEditor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TextEditor_TextChangedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::TextEditor *arg1 = (Dali::Toolkit::TextEditor *) 0 ;
+  Dali::Toolkit::TextEditor::TextChangedSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::TextEditor *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::TextEditor::TextChangedSignalType *) &(arg1)->TextChangedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TextEditor_InputStyleChangedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::TextEditor *arg1 = (Dali::Toolkit::TextEditor *) 0 ;
+  Dali::Toolkit::TextEditor::InputStyleChangedSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::TextEditor *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::TextEditor::InputStyleChangedSignalType *) &(arg1)->InputStyleChangedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_RENDERING_BACKEND_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::RENDERING_BACKEND;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_TEXT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::TEXT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_PLACEHOLDER_TEXT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::PLACEHOLDER_TEXT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_PLACEHOLDER_TEXT_FOCUSED_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::PLACEHOLDER_TEXT_FOCUSED;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_FONT_FAMILY_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::FONT_FAMILY;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_FONT_STYLE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::FONT_STYLE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_POINT_SIZE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::POINT_SIZE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_MAX_LENGTH_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::MAX_LENGTH;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_EXCEED_POLICY_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::EXCEED_POLICY;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_HORIZONTAL_ALIGNMENT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::HORIZONTAL_ALIGNMENT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_VERTICAL_ALIGNMENT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::VERTICAL_ALIGNMENT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_TEXT_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::TEXT_COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_PLACEHOLDER_TEXT_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::PLACEHOLDER_TEXT_COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_SHADOW_OFFSET_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::SHADOW_OFFSET;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_SHADOW_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::SHADOW_COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_PRIMARY_CURSOR_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::PRIMARY_CURSOR_COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_SECONDARY_CURSOR_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::SECONDARY_CURSOR_COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_ENABLE_CURSOR_BLINK_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::ENABLE_CURSOR_BLINK;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_CURSOR_BLINK_INTERVAL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::CURSOR_BLINK_INTERVAL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_CURSOR_BLINK_DURATION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::CURSOR_BLINK_DURATION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_CURSOR_WIDTH_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::CURSOR_WIDTH;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_GRAB_HANDLE_IMAGE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::GRAB_HANDLE_IMAGE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_GRAB_HANDLE_PRESSED_IMAGE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::GRAB_HANDLE_PRESSED_IMAGE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_SCROLL_THRESHOLD_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::SCROLL_THRESHOLD;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_SCROLL_SPEED_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::SCROLL_SPEED;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_SELECTION_HANDLE_IMAGE_LEFT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::SELECTION_HANDLE_IMAGE_LEFT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_SELECTION_HANDLE_IMAGE_RIGHT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::SELECTION_HANDLE_IMAGE_RIGHT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_SELECTION_HANDLE_PRESSED_IMAGE_LEFT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::SELECTION_HANDLE_PRESSED_IMAGE_LEFT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_SELECTION_HANDLE_PRESSED_IMAGE_RIGHT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::SELECTION_HANDLE_PRESSED_IMAGE_RIGHT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_SELECTION_HANDLE_MARKER_IMAGE_LEFT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::SELECTION_HANDLE_MARKER_IMAGE_LEFT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_SELECTION_HANDLE_MARKER_IMAGE_RIGHT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::SELECTION_HANDLE_MARKER_IMAGE_RIGHT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_SELECTION_HIGHLIGHT_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::SELECTION_HIGHLIGHT_COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_DECORATION_BOUNDING_BOX_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::DECORATION_BOUNDING_BOX;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_INPUT_METHOD_SETTINGS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::INPUT_METHOD_SETTINGS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_INPUT_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::INPUT_COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_ENABLE_MARKUP_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::ENABLE_MARKUP;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_INPUT_FONT_FAMILY_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::INPUT_FONT_FAMILY;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_INPUT_FONT_STYLE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::INPUT_FONT_STYLE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_INPUT_POINT_SIZE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::INPUT_POINT_SIZE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_UNDERLINE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::UNDERLINE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_INPUT_UNDERLINE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::INPUT_UNDERLINE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_SHADOW_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::SHADOW;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_INPUT_SHADOW_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::INPUT_SHADOW;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_EMBOSS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::EMBOSS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_INPUT_EMBOSS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::INPUT_EMBOSS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_OUTLINE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::OUTLINE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextField_Property_INPUT_OUTLINE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextField::Property::INPUT_OUTLINE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TextField_Property() {
+  void * jresult ;
+  Dali::Toolkit::TextField::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::TextField::Property *)new Dali::Toolkit::TextField::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TextField_Property(void * jarg1) {
+  Dali::Toolkit::TextField::Property *arg1 = (Dali::Toolkit::TextField::Property *) 0 ;
+  
+  arg1 = (Dali::Toolkit::TextField::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TextField_InputStyle() {
+  void * jresult ;
+  Dali::Toolkit::TextField::InputStyle *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::TextField::InputStyle *)new Dali::Toolkit::TextField::InputStyle();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TextField_InputStyle(void * jarg1) {
+  Dali::Toolkit::TextField::InputStyle *arg1 = (Dali::Toolkit::TextField::InputStyle *) 0 ;
+  
+  arg1 = (Dali::Toolkit::TextField::InputStyle *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TextField_New() {
+  void * jresult ;
+  Dali::Toolkit::TextField result;
+  
+  {
+    try {
+      result = Dali::Toolkit::TextField::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::TextField((const Dali::Toolkit::TextField &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TextField__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::TextField *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::TextField *)new Dali::Toolkit::TextField();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TextField__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::TextField *arg1 = 0 ;
+  Dali::Toolkit::TextField *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::TextField *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::TextField const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::TextField *)new Dali::Toolkit::TextField((Dali::Toolkit::TextField const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TextField_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::TextField *arg1 = (Dali::Toolkit::TextField *) 0 ;
+  Dali::Toolkit::TextField *arg2 = 0 ;
+  Dali::Toolkit::TextField *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::TextField *)jarg1; 
+  arg2 = (Dali::Toolkit::TextField *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::TextField const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::TextField *) &(arg1)->operator =((Dali::Toolkit::TextField const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TextField(void * jarg1) {
+  Dali::Toolkit::TextField *arg1 = (Dali::Toolkit::TextField *) 0 ;
+  
+  arg1 = (Dali::Toolkit::TextField *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TextField_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::TextField result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::TextField::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::TextField((const Dali::Toolkit::TextField &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TextField_TextChangedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::TextField *arg1 = (Dali::Toolkit::TextField *) 0 ;
+  Dali::Toolkit::TextField::TextChangedSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::TextField *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::TextField::TextChangedSignalType *) &(arg1)->TextChangedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TextField_MaxLengthReachedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::TextField *arg1 = (Dali::Toolkit::TextField *) 0 ;
+  Dali::Toolkit::TextField::MaxLengthReachedSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::TextField *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::TextField::MaxLengthReachedSignalType *) &(arg1)->MaxLengthReachedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TextField_InputStyleChangedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::TextField *arg1 = (Dali::Toolkit::TextField *) 0 ;
+  Dali::Toolkit::TextField::InputStyleChangedSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::TextField *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::TextField::InputStyleChangedSignalType *) &(arg1)->InputStyleChangedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_RENDERING_BACKEND_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextLabel::Property::RENDERING_BACKEND;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_TEXT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextLabel::Property::TEXT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_FONT_FAMILY_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextLabel::Property::FONT_FAMILY;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_FONT_STYLE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextLabel::Property::FONT_STYLE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_POINT_SIZE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextLabel::Property::POINT_SIZE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_MULTI_LINE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextLabel::Property::MULTI_LINE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_HORIZONTAL_ALIGNMENT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextLabel::Property::HORIZONTAL_ALIGNMENT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_VERTICAL_ALIGNMENT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextLabel::Property::VERTICAL_ALIGNMENT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_TEXT_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextLabel::Property::TEXT_COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_SHADOW_OFFSET_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextLabel::Property::SHADOW_OFFSET;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_SHADOW_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextLabel::Property::SHADOW_COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_UNDERLINE_ENABLED_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextLabel::Property::UNDERLINE_ENABLED;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_UNDERLINE_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextLabel::Property::UNDERLINE_COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_UNDERLINE_HEIGHT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextLabel::Property::UNDERLINE_HEIGHT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_ENABLE_MARKUP_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextLabel::Property::ENABLE_MARKUP;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_ENABLE_AUTO_SCROLL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextLabel::Property::ENABLE_AUTO_SCROLL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_AUTO_SCROLL_SPEED_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextLabel::Property::AUTO_SCROLL_SPEED;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_AUTO_SCROLL_LOOP_COUNT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextLabel::Property::AUTO_SCROLL_LOOP_COUNT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_AUTO_SCROLL_GAP_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextLabel::Property::AUTO_SCROLL_GAP;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_LINE_SPACING_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextLabel::Property::LINE_SPACING;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_UNDERLINE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextLabel::Property::UNDERLINE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_SHADOW_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextLabel::Property::SHADOW;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_EMBOSS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextLabel::Property::EMBOSS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_TextLabel_Property_OUTLINE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::TextLabel::Property::OUTLINE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TextLabel_Property() {
+  void * jresult ;
+  Dali::Toolkit::TextLabel::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::TextLabel::Property *)new Dali::Toolkit::TextLabel::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TextLabel_Property(void * jarg1) {
+  Dali::Toolkit::TextLabel::Property *arg1 = (Dali::Toolkit::TextLabel::Property *) 0 ;
+  
+  arg1 = (Dali::Toolkit::TextLabel::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TextLabel_New__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::TextLabel result;
+  
+  {
+    try {
+      result = Dali::Toolkit::TextLabel::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::TextLabel((const Dali::Toolkit::TextLabel &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TextLabel_New__SWIG_1(char * jarg1) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::Toolkit::TextLabel result;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  {
+    try {
+      result = Dali::Toolkit::TextLabel::New((std::string const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::TextLabel((const Dali::Toolkit::TextLabel &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TextLabel__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::TextLabel *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::TextLabel *)new Dali::Toolkit::TextLabel();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TextLabel__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::TextLabel *arg1 = 0 ;
+  Dali::Toolkit::TextLabel *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::TextLabel *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::TextLabel const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::TextLabel *)new Dali::Toolkit::TextLabel((Dali::Toolkit::TextLabel const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TextLabel_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::TextLabel *arg1 = (Dali::Toolkit::TextLabel *) 0 ;
+  Dali::Toolkit::TextLabel *arg2 = 0 ;
+  Dali::Toolkit::TextLabel *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::TextLabel *)jarg1; 
+  arg2 = (Dali::Toolkit::TextLabel *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::TextLabel const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::TextLabel *) &(arg1)->operator =((Dali::Toolkit::TextLabel const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TextLabel(void * jarg1) {
+  Dali::Toolkit::TextLabel *arg1 = (Dali::Toolkit::TextLabel *) 0 ;
+  
+  arg1 = (Dali::Toolkit::TextLabel *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_TextLabel_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::TextLabel result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::TextLabel::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::TextLabel((const Dali::Toolkit::TextLabel &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AccessibilityManager() {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager *)new Dali::Toolkit::AccessibilityManager();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_AccessibilityManager(void * jarg1) {
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_Get() {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager result;
+  
+  {
+    try {
+      result = Dali::Toolkit::AccessibilityManager::Get();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::AccessibilityManager((const Dali::Toolkit::AccessibilityManager &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AccessibilityManager_SetAccessibilityAttribute(void * jarg1, void * jarg2, int jarg3, char * jarg4) {
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityAttribute arg3 ;
+  std::string *arg4 = 0 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::Toolkit::AccessibilityManager::AccessibilityAttribute)jarg3; 
+  if (!jarg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg4_str(jarg4);
+  arg4 = &arg4_str; 
+  {
+    try {
+      (arg1)->SetAccessibilityAttribute(arg2,arg3,(std::string const &)*arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+  
+  //argout typemap for const std::string&
+  
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_AccessibilityManager_GetAccessibilityAttribute(void * jarg1, void * jarg2, int jarg3) {
+  char * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityAttribute arg3 ;
+  Dali::Actor *argp2 ;
+  std::string result;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::Toolkit::AccessibilityManager::AccessibilityAttribute)jarg3; 
+  {
+    try {
+      result = ((Dali::Toolkit::AccessibilityManager const *)arg1)->GetAccessibilityAttribute(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = SWIG_csharp_string_callback((&result)->c_str()); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AccessibilityManager_SetFocusOrder(void * jarg1, void * jarg2, unsigned int jarg3) {
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Actor arg2 ;
+  unsigned int arg3 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (unsigned int)jarg3; 
+  {
+    try {
+      (arg1)->SetFocusOrder(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_AccessibilityManager_GetFocusOrder(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (unsigned int)((Dali::Toolkit::AccessibilityManager const *)arg1)->GetFocusOrder(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_AccessibilityManager_GenerateNewFocusOrder(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (unsigned int)((Dali::Toolkit::AccessibilityManager const *)arg1)->GenerateNewFocusOrder();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_GetActorByFocusOrder(void * jarg1, unsigned int jarg2) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  unsigned int arg2 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = (arg1)->GetActorByFocusOrder(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_AccessibilityManager_SetCurrentFocusActor(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (bool)(arg1)->SetCurrentFocusActor(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_GetCurrentFocusActor(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (arg1)->GetCurrentFocusActor();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_GetCurrentFocusGroup(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (arg1)->GetCurrentFocusGroup();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_AccessibilityManager_GetCurrentFocusOrder(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (unsigned int)(arg1)->GetCurrentFocusOrder();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_AccessibilityManager_MoveFocusForward(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (bool)(arg1)->MoveFocusForward();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_AccessibilityManager_MoveFocusBackward(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (bool)(arg1)->MoveFocusBackward();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AccessibilityManager_ClearFocus(void * jarg1) {
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      (arg1)->ClearFocus();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AccessibilityManager_Reset(void * jarg1) {
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      (arg1)->Reset();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AccessibilityManager_SetFocusGroup(void * jarg1, void * jarg2, unsigned int jarg3) {
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Actor arg2 ;
+  bool arg3 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = jarg3 ? true : false; 
+  {
+    try {
+      (arg1)->SetFocusGroup(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_AccessibilityManager_IsFocusGroup(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (bool)((Dali::Toolkit::AccessibilityManager const *)arg1)->IsFocusGroup(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AccessibilityManager_SetGroupMode(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetGroupMode(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_AccessibilityManager_GetGroupMode(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Toolkit::AccessibilityManager const *)arg1)->GetGroupMode();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AccessibilityManager_SetWrapMode(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  bool arg2 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  {
+    try {
+      (arg1)->SetWrapMode(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_AccessibilityManager_GetWrapMode(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (bool)((Dali::Toolkit::AccessibilityManager const *)arg1)->GetWrapMode();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AccessibilityManager_SetFocusIndicatorActor(void * jarg1, void * jarg2) {
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetFocusIndicatorActor(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_GetFocusIndicatorActor(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (arg1)->GetFocusIndicatorActor();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_GetFocusGroup(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (arg1)->GetFocusGroup(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_GetReadPosition(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Vector2 result;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::AccessibilityManager const *)arg1)->GetReadPosition();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector2((const Dali::Vector2 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_FocusChangedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::FocusChangedSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::FocusChangedSignalType *) &(arg1)->FocusChangedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_FocusOvershotSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::FocusOvershotSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::FocusOvershotSignalType *) &(arg1)->FocusOvershotSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_FocusedActorActivatedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::FocusedActorActivatedSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::FocusedActorActivatedSignalType *) &(arg1)->FocusedActorActivatedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_StatusChangedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->StatusChangedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionNextSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionNextSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionPreviousSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionPreviousSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionActivateSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionActivateSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionReadSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionReadSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionOverSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionOverSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionReadNextSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionReadNextSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionReadPreviousSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionReadPreviousSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionUpSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionUpSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionDownSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionDownSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionClearFocusSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionClearFocusSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionBackSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionBackSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionScrollUpSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionScrollUpSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionScrollDownSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionScrollDownSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionPageLeftSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionPageLeftSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionPageRightSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionPageRightSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionPageUpSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionPageUpSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionPageDownSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionPageDownSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionMoveToFirstSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionMoveToFirstSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionMoveToLastSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionMoveToLastSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionReadFromTopSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionReadFromTopSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionReadFromNextSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionReadFromNextSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionZoomSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionZoomSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionReadIndicatorInformationSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionReadIndicatorInformationSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionReadPauseResumeSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionReadPauseResumeSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionStartStopSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionSignalType *) &(arg1)->ActionStartStopSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AccessibilityManager_ActionScrollSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AccessibilityManager *arg1 = (Dali::Toolkit::AccessibilityManager *) 0 ;
+  Dali::Toolkit::AccessibilityManager::AccessibilityActionScrollSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AccessibilityManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AccessibilityManager::AccessibilityActionScrollSignalType *) &(arg1)->ActionScrollSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_StyleManager() {
+  void * jresult ;
+  Dali::Toolkit::StyleManager *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::StyleManager *)new Dali::Toolkit::StyleManager();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_StyleManager(void * jarg1) {
+  Dali::Toolkit::StyleManager *arg1 = (Dali::Toolkit::StyleManager *) 0 ;
+  
+  arg1 = (Dali::Toolkit::StyleManager *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_StyleManager_Get() {
+  void * jresult ;
+  Dali::Toolkit::StyleManager result;
+  
+  {
+    try {
+      result = Dali::Toolkit::StyleManager::Get();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::StyleManager((const Dali::Toolkit::StyleManager &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_StyleManager_ApplyTheme(void * jarg1, char * jarg2) {
+  Dali::Toolkit::StyleManager *arg1 = (Dali::Toolkit::StyleManager *) 0 ;
+  std::string *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::StyleManager *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      (arg1)->ApplyTheme((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+  
+  //argout typemap for const std::string&
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_StyleManager_ApplyDefaultTheme(void * jarg1) {
+  Dali::Toolkit::StyleManager *arg1 = (Dali::Toolkit::StyleManager *) 0 ;
+  
+  arg1 = (Dali::Toolkit::StyleManager *)jarg1; 
+  {
+    try {
+      (arg1)->ApplyDefaultTheme();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_StyleManager_SetStyleConstant(void * jarg1, char * jarg2, void * jarg3) {
+  Dali::Toolkit::StyleManager *arg1 = (Dali::Toolkit::StyleManager *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property::Value *arg3 = 0 ;
+  
+  arg1 = (Dali::Toolkit::StyleManager *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::Property::Value *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Value const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetStyleConstant((std::string const &)*arg2,(Dali::Property::Value const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+  
+  //argout typemap for const std::string&
+  
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_StyleManager_GetStyleConstant(void * jarg1, char * jarg2, void * jarg3) {
+  unsigned int jresult ;
+  Dali::Toolkit::StyleManager *arg1 = (Dali::Toolkit::StyleManager *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::Property::Value *arg3 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::StyleManager *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  arg3 = (Dali::Property::Value *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Value & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)(arg1)->GetStyleConstant((std::string const &)*arg2,*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_StyleManager_ApplyStyle(void * jarg1, void * jarg2, char * jarg3, char * jarg4) {
+  Dali::Toolkit::StyleManager *arg1 = (Dali::Toolkit::StyleManager *) 0 ;
+  Dali::Toolkit::Control arg2 ;
+  std::string *arg3 = 0 ;
+  std::string *arg4 = 0 ;
+  Dali::Toolkit::Control *argp2 ;
+  
+  arg1 = (Dali::Toolkit::StyleManager *)jarg1; 
+  argp2 = (Dali::Toolkit::Control *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::Control", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (!jarg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg3_str(jarg3);
+  arg3 = &arg3_str; 
+  if (!jarg4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg4_str(jarg4);
+  arg4 = &arg4_str; 
+  {
+    try {
+      (arg1)->ApplyStyle(arg2,(std::string const &)*arg3,(std::string const &)*arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+  
+  //argout typemap for const std::string&
+  
+  
+  //argout typemap for const std::string&
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_StyleManager_StyleChangedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::StyleManager *arg1 = (Dali::Toolkit::StyleManager *) 0 ;
+  Dali::Toolkit::StyleManager::StyleChangedSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::StyleManager *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::StyleManager::StyleChangedSignalType *) &(arg1)->StyleChangedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Slider_Property_LOWER_BOUND_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Slider::Property::LOWER_BOUND;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Slider_Property_UPPER_BOUND_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Slider::Property::UPPER_BOUND;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Slider_Property_VALUE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Slider::Property::VALUE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Slider_Property_TRACK_VISUAL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Slider::Property::TRACK_VISUAL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Slider_Property_HANDLE_VISUAL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Slider::Property::HANDLE_VISUAL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Slider_Property_PROGRESS_VISUAL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Slider::Property::PROGRESS_VISUAL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Slider_Property_POPUP_VISUAL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Slider::Property::POPUP_VISUAL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Slider_Property_POPUP_ARROW_VISUAL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Slider::Property::POPUP_ARROW_VISUAL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Slider_Property_DISABLED_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Slider::Property::DISABLED_COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Slider_Property_VALUE_PRECISION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Slider::Property::VALUE_PRECISION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Slider_Property_SHOW_POPUP_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Slider::Property::SHOW_POPUP;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Slider_Property_SHOW_VALUE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Slider::Property::SHOW_VALUE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Slider_Property_MARKS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Slider::Property::MARKS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Slider_Property_SNAP_TO_MARKS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Slider::Property::SNAP_TO_MARKS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Slider_Property_MARK_TOLERANCE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Slider::Property::MARK_TOLERANCE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Slider_Property() {
+  void * jresult ;
+  Dali::Toolkit::Slider::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::Slider::Property *)new Dali::Toolkit::Slider::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Slider_Property(void * jarg1) {
+  Dali::Toolkit::Slider::Property *arg1 = (Dali::Toolkit::Slider::Property *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Slider::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Slider_New() {
+  void * jresult ;
+  Dali::Toolkit::Slider result;
+  
+  {
+    try {
+      result = Dali::Toolkit::Slider::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::Slider((const Dali::Toolkit::Slider &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Slider__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::Slider *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::Slider *)new Dali::Toolkit::Slider();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Slider__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Slider *arg1 = 0 ;
+  Dali::Toolkit::Slider *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Slider *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Slider const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::Slider *)new Dali::Toolkit::Slider((Dali::Toolkit::Slider const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Slider_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::Slider *arg1 = (Dali::Toolkit::Slider *) 0 ;
+  Dali::Toolkit::Slider *arg2 = 0 ;
+  Dali::Toolkit::Slider *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Slider *)jarg1; 
+  arg2 = (Dali::Toolkit::Slider *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Slider const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::Slider *) &(arg1)->operator =((Dali::Toolkit::Slider const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Slider(void * jarg1) {
+  Dali::Toolkit::Slider *arg1 = (Dali::Toolkit::Slider *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Slider *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Slider_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::Slider result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::Slider::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::Slider((const Dali::Toolkit::Slider &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Slider_ValueChangedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Slider *arg1 = (Dali::Toolkit::Slider *) 0 ;
+  Dali::Toolkit::Slider::ValueChangedSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Slider *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Slider::ValueChangedSignalType *) &(arg1)->ValueChangedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Slider_SlidingFinishedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Slider *arg1 = (Dali::Toolkit::Slider *) 0 ;
+  Dali::Toolkit::Slider::ValueChangedSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Slider *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Slider::ValueChangedSignalType *) &(arg1)->SlidingFinishedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Slider_MarkReachedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Slider *arg1 = (Dali::Toolkit::Slider *) 0 ;
+  Dali::Toolkit::Slider::MarkReachedSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Slider *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Slider::MarkReachedSignalType *) &(arg1)->MarkReachedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VideoView_Property_VIDEO_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::VideoView::Property::VIDEO;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VideoView_Property_LOOPING_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::VideoView::Property::LOOPING;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VideoView_Property_MUTED_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::VideoView::Property::MUTED;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_VideoView_Property_VOLUME_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::VideoView::Property::VOLUME;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VideoView_Property() {
+  void * jresult ;
+  Dali::Toolkit::VideoView::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::VideoView::Property *)new Dali::Toolkit::VideoView::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VideoView_Property(void * jarg1) {
+  Dali::Toolkit::VideoView::Property *arg1 = (Dali::Toolkit::VideoView::Property *) 0 ;
+  
+  arg1 = (Dali::Toolkit::VideoView::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VideoView_New__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::VideoView result;
+  
+  {
+    try {
+      result = Dali::Toolkit::VideoView::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::VideoView((const Dali::Toolkit::VideoView &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VideoView_New__SWIG_1(char * jarg1) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::Toolkit::VideoView result;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  {
+    try {
+      result = Dali::Toolkit::VideoView::New((std::string const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::VideoView((const Dali::Toolkit::VideoView &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VideoView__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::VideoView *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::VideoView *)new Dali::Toolkit::VideoView();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VideoView(void * jarg1) {
+  Dali::Toolkit::VideoView *arg1 = (Dali::Toolkit::VideoView *) 0 ;
+  
+  arg1 = (Dali::Toolkit::VideoView *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VideoView__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::VideoView *arg1 = 0 ;
+  Dali::Toolkit::VideoView *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::VideoView *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::VideoView const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::VideoView *)new Dali::Toolkit::VideoView((Dali::Toolkit::VideoView const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VideoView_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::VideoView *arg1 = (Dali::Toolkit::VideoView *) 0 ;
+  Dali::Toolkit::VideoView *arg2 = 0 ;
+  Dali::Toolkit::VideoView *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::VideoView *)jarg1; 
+  arg2 = (Dali::Toolkit::VideoView *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::VideoView const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::VideoView *) &(arg1)->operator =((Dali::Toolkit::VideoView const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VideoView_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::VideoView result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::VideoView::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::VideoView((const Dali::Toolkit::VideoView &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VideoView_Play(void * jarg1) {
+  Dali::Toolkit::VideoView *arg1 = (Dali::Toolkit::VideoView *) 0 ;
+  
+  arg1 = (Dali::Toolkit::VideoView *)jarg1; 
+  {
+    try {
+      (arg1)->Play();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VideoView_Pause(void * jarg1) {
+  Dali::Toolkit::VideoView *arg1 = (Dali::Toolkit::VideoView *) 0 ;
+  
+  arg1 = (Dali::Toolkit::VideoView *)jarg1; 
+  {
+    try {
+      (arg1)->Pause();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VideoView_Stop(void * jarg1) {
+  Dali::Toolkit::VideoView *arg1 = (Dali::Toolkit::VideoView *) 0 ;
+  
+  arg1 = (Dali::Toolkit::VideoView *)jarg1; 
+  {
+    try {
+      (arg1)->Stop();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VideoView_Forward(void * jarg1, int jarg2) {
+  Dali::Toolkit::VideoView *arg1 = (Dali::Toolkit::VideoView *) 0 ;
+  int arg2 ;
+  
+  arg1 = (Dali::Toolkit::VideoView *)jarg1; 
+  arg2 = (int)jarg2; 
+  {
+    try {
+      (arg1)->Forward(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VideoView_Backward(void * jarg1, int jarg2) {
+  Dali::Toolkit::VideoView *arg1 = (Dali::Toolkit::VideoView *) 0 ;
+  int arg2 ;
+  
+  arg1 = (Dali::Toolkit::VideoView *)jarg1; 
+  arg2 = (int)jarg2; 
+  {
+    try {
+      (arg1)->Backward(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VideoView_FinishedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::VideoView *arg1 = (Dali::Toolkit::VideoView *) 0 ;
+  Dali::Toolkit::VideoView::VideoViewSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::VideoView *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::VideoView::VideoViewSignalType *) &(arg1)->FinishedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Popup_Property_TITLE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Popup::Property::TITLE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Popup_Property_CONTENT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Popup::Property::CONTENT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Popup_Property_FOOTER_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Popup::Property::FOOTER;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Popup_Property_DISPLAY_STATE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Popup::Property::DISPLAY_STATE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Popup_Property_TOUCH_TRANSPARENT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Popup::Property::TOUCH_TRANSPARENT;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Popup_Property_TAIL_VISIBILITY_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Popup::Property::TAIL_VISIBILITY;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Popup_Property_TAIL_POSITION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Popup::Property::TAIL_POSITION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Popup_Property_CONTEXTUAL_MODE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Popup::Property::CONTEXTUAL_MODE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Popup_Property_ANIMATION_DURATION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Popup::Property::ANIMATION_DURATION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Popup_Property_ANIMATION_MODE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Popup::Property::ANIMATION_MODE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Popup_Property_ENTRY_ANIMATION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Popup::Property::ENTRY_ANIMATION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Popup_Property_EXIT_ANIMATION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Popup::Property::EXIT_ANIMATION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Popup_Property_AUTO_HIDE_DELAY_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Popup::Property::AUTO_HIDE_DELAY;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Popup_Property_BACKING_ENABLED_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Popup::Property::BACKING_ENABLED;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Popup_Property_BACKING_COLOR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Popup::Property::BACKING_COLOR;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Popup_Property_POPUP_BACKGROUND_IMAGE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Popup::Property::POPUP_BACKGROUND_IMAGE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Popup_Property_POPUP_BACKGROUND_BORDER_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Popup::Property::POPUP_BACKGROUND_BORDER;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Popup_Property_TAIL_UP_IMAGE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Popup::Property::TAIL_UP_IMAGE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Popup_Property_TAIL_DOWN_IMAGE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Popup::Property::TAIL_DOWN_IMAGE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Popup_Property_TAIL_LEFT_IMAGE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Popup::Property::TAIL_LEFT_IMAGE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Popup_Property_TAIL_RIGHT_IMAGE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::Popup::Property::TAIL_RIGHT_IMAGE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Popup_Property() {
+  void * jresult ;
+  Dali::Toolkit::Popup::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::Popup::Property *)new Dali::Toolkit::Popup::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Popup_Property(void * jarg1) {
+  Dali::Toolkit::Popup::Property *arg1 = (Dali::Toolkit::Popup::Property *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Popup::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Popup__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::Popup *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::Popup *)new Dali::Toolkit::Popup();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Popup_New() {
+  void * jresult ;
+  Dali::Toolkit::Popup result;
+  
+  {
+    try {
+      result = Dali::Toolkit::Popup::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::Popup((const Dali::Toolkit::Popup &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Popup(void * jarg1) {
+  Dali::Toolkit::Popup *arg1 = (Dali::Toolkit::Popup *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Popup *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Popup__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Popup *arg1 = 0 ;
+  Dali::Toolkit::Popup *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Popup *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Popup const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::Popup *)new Dali::Toolkit::Popup((Dali::Toolkit::Popup const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Popup_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::Popup *arg1 = (Dali::Toolkit::Popup *) 0 ;
+  Dali::Toolkit::Popup *arg2 = 0 ;
+  Dali::Toolkit::Popup *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Popup *)jarg1; 
+  arg2 = (Dali::Toolkit::Popup *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Popup const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::Popup *) &(arg1)->operator =((Dali::Toolkit::Popup const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Popup_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::Popup result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::Popup::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::Popup((const Dali::Toolkit::Popup &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Popup_SetTitle(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Popup *arg1 = (Dali::Toolkit::Popup *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Toolkit::Popup *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetTitle(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Popup_GetTitle(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Popup *arg1 = (Dali::Toolkit::Popup *) 0 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::Toolkit::Popup *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::Popup const *)arg1)->GetTitle();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Popup_SetContent(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Popup *arg1 = (Dali::Toolkit::Popup *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Toolkit::Popup *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetContent(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Popup_GetContent(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Popup *arg1 = (Dali::Toolkit::Popup *) 0 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::Toolkit::Popup *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::Popup const *)arg1)->GetContent();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Popup_SetFooter(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Popup *arg1 = (Dali::Toolkit::Popup *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Toolkit::Popup *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->SetFooter(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Popup_GetFooter(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Popup *arg1 = (Dali::Toolkit::Popup *) 0 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::Toolkit::Popup *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::Popup const *)arg1)->GetFooter();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Popup_SetDisplayState(void * jarg1, int jarg2) {
+  Dali::Toolkit::Popup *arg1 = (Dali::Toolkit::Popup *) 0 ;
+  Dali::Toolkit::Popup::DisplayState arg2 ;
+  
+  arg1 = (Dali::Toolkit::Popup *)jarg1; 
+  arg2 = (Dali::Toolkit::Popup::DisplayState)jarg2; 
+  {
+    try {
+      (arg1)->SetDisplayState(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_Popup_GetDisplayState(void * jarg1) {
+  int jresult ;
+  Dali::Toolkit::Popup *arg1 = (Dali::Toolkit::Popup *) 0 ;
+  Dali::Toolkit::Popup::DisplayState result;
+  
+  arg1 = (Dali::Toolkit::Popup *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Popup::DisplayState)((Dali::Toolkit::Popup const *)arg1)->GetDisplayState();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Popup_OutsideTouchedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Popup *arg1 = (Dali::Toolkit::Popup *) 0 ;
+  Dali::Toolkit::Popup::TouchedOutsideSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Popup *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Popup::TouchedOutsideSignalType *) &(arg1)->OutsideTouchedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Popup_ShowingSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Popup *arg1 = (Dali::Toolkit::Popup *) 0 ;
+  Dali::Toolkit::Popup::DisplayStateChangeSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Popup *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Popup::DisplayStateChangeSignalType *) &(arg1)->ShowingSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Popup_ShownSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Popup *arg1 = (Dali::Toolkit::Popup *) 0 ;
+  Dali::Toolkit::Popup::DisplayStateChangeSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Popup *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Popup::DisplayStateChangeSignalType *) &(arg1)->ShownSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Popup_HidingSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Popup *arg1 = (Dali::Toolkit::Popup *) 0 ;
+  Dali::Toolkit::Popup::DisplayStateChangeSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Popup *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Popup::DisplayStateChangeSignalType *) &(arg1)->HidingSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Popup_HiddenSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Popup *arg1 = (Dali::Toolkit::Popup *) 0 ;
+  Dali::Toolkit::Popup::DisplayStateChangeSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Popup *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Popup::DisplayStateChangeSignalType *) &(arg1)->HiddenSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ProgressBar_Property_PROGRESS_VALUE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ProgressBar::Property::PROGRESS_VALUE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ProgressBar_Property_SECONDARY_PROGRESS_VALUE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ProgressBar::Property::SECONDARY_PROGRESS_VALUE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ProgressBar_Property_INDETERMINATE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ProgressBar::Property::INDETERMINATE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ProgressBar_Property_TRACK_VISUAL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ProgressBar::Property::TRACK_VISUAL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ProgressBar_Property_PROGRESS_VISUAL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ProgressBar::Property::PROGRESS_VISUAL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ProgressBar_Property_SECONDARY_PROGRESS_VISUAL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ProgressBar::Property::SECONDARY_PROGRESS_VISUAL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ProgressBar_Property_INDETERMINATE_VISUAL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ProgressBar::Property::INDETERMINATE_VISUAL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ProgressBar_Property_INDETERMINATE_VISUAL_ANIMATION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ProgressBar::Property::INDETERMINATE_VISUAL_ANIMATION;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ProgressBar_Property_LABEL_VISUAL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ProgressBar::Property::LABEL_VISUAL;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ProgressBar_Property() {
+  void * jresult ;
+  Dali::Toolkit::ProgressBar::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::ProgressBar::Property *)new Dali::Toolkit::ProgressBar::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ProgressBar_Property(void * jarg1) {
+  Dali::Toolkit::ProgressBar::Property *arg1 = (Dali::Toolkit::ProgressBar::Property *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ProgressBar::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ProgressBar_New() {
+  void * jresult ;
+  Dali::Toolkit::ProgressBar result;
+  
+  {
+    try {
+      result = Dali::Toolkit::ProgressBar::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ProgressBar((const Dali::Toolkit::ProgressBar &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ProgressBar__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::ProgressBar *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::ProgressBar *)new Dali::Toolkit::ProgressBar();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ProgressBar__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ProgressBar *arg1 = 0 ;
+  Dali::Toolkit::ProgressBar *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::ProgressBar *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ProgressBar const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::ProgressBar *)new Dali::Toolkit::ProgressBar((Dali::Toolkit::ProgressBar const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ProgressBar_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::ProgressBar *arg1 = (Dali::Toolkit::ProgressBar *) 0 ;
+  Dali::Toolkit::ProgressBar *arg2 = 0 ;
+  Dali::Toolkit::ProgressBar *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::ProgressBar *)jarg1; 
+  arg2 = (Dali::Toolkit::ProgressBar *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ProgressBar const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::ProgressBar *) &(arg1)->operator =((Dali::Toolkit::ProgressBar const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ProgressBar(void * jarg1) {
+  Dali::Toolkit::ProgressBar *arg1 = (Dali::Toolkit::ProgressBar *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ProgressBar *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ProgressBar_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::ProgressBar result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::ProgressBar::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ProgressBar((const Dali::Toolkit::ProgressBar &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ProgressBar_ValueChangedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ProgressBar *arg1 = (Dali::Toolkit::ProgressBar *) 0 ;
+  Dali::Toolkit::ProgressBar::ValueChangedSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::ProgressBar *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::ProgressBar::ValueChangedSignalType *) &(arg1)->ValueChangedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_GaussianBlurView__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::GaussianBlurView *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::GaussianBlurView *)new Dali::Toolkit::GaussianBlurView();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_GaussianBlurView__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::GaussianBlurView *arg1 = 0 ;
+  Dali::Toolkit::GaussianBlurView *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::GaussianBlurView *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::GaussianBlurView const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::GaussianBlurView *)new Dali::Toolkit::GaussianBlurView((Dali::Toolkit::GaussianBlurView const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_GaussianBlurView_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::GaussianBlurView *arg1 = (Dali::Toolkit::GaussianBlurView *) 0 ;
+  Dali::Toolkit::GaussianBlurView *arg2 = 0 ;
+  Dali::Toolkit::GaussianBlurView *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::GaussianBlurView *)jarg1; 
+  arg2 = (Dali::Toolkit::GaussianBlurView *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::GaussianBlurView const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::GaussianBlurView *) &(arg1)->operator =((Dali::Toolkit::GaussianBlurView const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_GaussianBlurView(void * jarg1) {
+  Dali::Toolkit::GaussianBlurView *arg1 = (Dali::Toolkit::GaussianBlurView *) 0 ;
+  
+  arg1 = (Dali::Toolkit::GaussianBlurView *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_GaussianBlurView_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::GaussianBlurView result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::GaussianBlurView::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::GaussianBlurView((const Dali::Toolkit::GaussianBlurView &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_GaussianBlurView_New__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::GaussianBlurView result;
+  
+  {
+    try {
+      result = Dali::Toolkit::GaussianBlurView::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::GaussianBlurView((const Dali::Toolkit::GaussianBlurView &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_GaussianBlurView_New__SWIG_1(unsigned int jarg1, float jarg2, int jarg3, float jarg4, float jarg5, unsigned int jarg6) {
+  void * jresult ;
+  unsigned int arg1 ;
+  float arg2 ;
+  Dali::Pixel::Format arg3 ;
+  float arg4 ;
+  float arg5 ;
+  bool arg6 ;
+  Dali::Toolkit::GaussianBlurView result;
+  
+  arg1 = (unsigned int)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (Dali::Pixel::Format)jarg3; 
+  arg4 = (float)jarg4; 
+  arg5 = (float)jarg5; 
+  arg6 = jarg6 ? true : false; 
+  {
+    try {
+      result = Dali::Toolkit::GaussianBlurView::New(arg1,arg2,arg3,arg4,arg5,arg6);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::GaussianBlurView((const Dali::Toolkit::GaussianBlurView &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_GaussianBlurView_New__SWIG_2(unsigned int jarg1, float jarg2, int jarg3, float jarg4, float jarg5) {
+  void * jresult ;
+  unsigned int arg1 ;
+  float arg2 ;
+  Dali::Pixel::Format arg3 ;
+  float arg4 ;
+  float arg5 ;
+  Dali::Toolkit::GaussianBlurView result;
+  
+  arg1 = (unsigned int)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (Dali::Pixel::Format)jarg3; 
+  arg4 = (float)jarg4; 
+  arg5 = (float)jarg5; 
+  {
+    try {
+      result = Dali::Toolkit::GaussianBlurView::New(arg1,arg2,arg3,arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::GaussianBlurView((const Dali::Toolkit::GaussianBlurView &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_GaussianBlurView_Add(void * jarg1, void * jarg2) {
+  Dali::Toolkit::GaussianBlurView *arg1 = (Dali::Toolkit::GaussianBlurView *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Toolkit::GaussianBlurView *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->Add(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_GaussianBlurView_Remove(void * jarg1, void * jarg2) {
+  Dali::Toolkit::GaussianBlurView *arg1 = (Dali::Toolkit::GaussianBlurView *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Toolkit::GaussianBlurView *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (arg1)->Remove(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_GaussianBlurView_Activate(void * jarg1) {
+  Dali::Toolkit::GaussianBlurView *arg1 = (Dali::Toolkit::GaussianBlurView *) 0 ;
+  
+  arg1 = (Dali::Toolkit::GaussianBlurView *)jarg1; 
+  {
+    try {
+      (arg1)->Activate();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_GaussianBlurView_ActivateOnce(void * jarg1) {
+  Dali::Toolkit::GaussianBlurView *arg1 = (Dali::Toolkit::GaussianBlurView *) 0 ;
+  
+  arg1 = (Dali::Toolkit::GaussianBlurView *)jarg1; 
+  {
+    try {
+      (arg1)->ActivateOnce();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_GaussianBlurView_Deactivate(void * jarg1) {
+  Dali::Toolkit::GaussianBlurView *arg1 = (Dali::Toolkit::GaussianBlurView *) 0 ;
+  
+  arg1 = (Dali::Toolkit::GaussianBlurView *)jarg1; 
+  {
+    try {
+      (arg1)->Deactivate();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_GaussianBlurView_SetUserImageAndOutputRenderTarget(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Toolkit::GaussianBlurView *arg1 = (Dali::Toolkit::GaussianBlurView *) 0 ;
+  Dali::Image arg2 ;
+  Dali::FrameBufferImage arg3 ;
+  Dali::Image *argp2 ;
+  Dali::FrameBufferImage *argp3 ;
+  
+  arg1 = (Dali::Toolkit::GaussianBlurView *)jarg1; 
+  argp2 = (Dali::Image *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Image", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::FrameBufferImage *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::FrameBufferImage", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  {
+    try {
+      (arg1)->SetUserImageAndOutputRenderTarget(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_GaussianBlurView_GetBlurStrengthPropertyIndex(void * jarg1) {
+  int jresult ;
+  Dali::Toolkit::GaussianBlurView *arg1 = (Dali::Toolkit::GaussianBlurView *) 0 ;
+  Dali::Property::Index result;
+  
+  arg1 = (Dali::Toolkit::GaussianBlurView *)jarg1; 
+  {
+    try {
+      result = (Dali::Property::Index)((Dali::Toolkit::GaussianBlurView const *)arg1)->GetBlurStrengthPropertyIndex();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_GaussianBlurView_GetBlurredRenderTarget(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::GaussianBlurView *arg1 = (Dali::Toolkit::GaussianBlurView *) 0 ;
+  Dali::FrameBufferImage result;
+  
+  arg1 = (Dali::Toolkit::GaussianBlurView *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::GaussianBlurView const *)arg1)->GetBlurredRenderTarget();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::FrameBufferImage((const Dali::FrameBufferImage &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_GaussianBlurView_SetBackgroundColor(void * jarg1, void * jarg2) {
+  Dali::Toolkit::GaussianBlurView *arg1 = (Dali::Toolkit::GaussianBlurView *) 0 ;
+  Dali::Vector4 *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::GaussianBlurView *)jarg1; 
+  arg2 = (Dali::Vector4 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector4 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->SetBackgroundColor((Dali::Vector4 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_GaussianBlurView_GetBackgroundColor(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::GaussianBlurView *arg1 = (Dali::Toolkit::GaussianBlurView *) 0 ;
+  Dali::Vector4 result;
+  
+  arg1 = (Dali::Toolkit::GaussianBlurView *)jarg1; 
+  {
+    try {
+      result = ((Dali::Toolkit::GaussianBlurView const *)arg1)->GetBackgroundColor();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Vector4((const Dali::Vector4 &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_GaussianBlurView_FinishedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::GaussianBlurView *arg1 = (Dali::Toolkit::GaussianBlurView *) 0 ;
+  Dali::Toolkit::GaussianBlurView::GaussianBlurViewSignal *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::GaussianBlurView *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::GaussianBlurView::GaussianBlurViewSignal *) &(arg1)->FinishedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PageFactory(void * jarg1) {
+  Dali::Toolkit::PageFactory *arg1 = (Dali::Toolkit::PageFactory *) 0 ;
+  
+  arg1 = (Dali::Toolkit::PageFactory *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_PageFactory_GetNumberOfPages(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::PageFactory *arg1 = (Dali::Toolkit::PageFactory *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::Toolkit::PageFactory *)jarg1; 
+  {
+    try {
+      result = (unsigned int)(arg1)->GetNumberOfPages();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PageFactory_NewPage(void * jarg1, unsigned int jarg2) {
+  void * jresult ;
+  Dali::Toolkit::PageFactory *arg1 = (Dali::Toolkit::PageFactory *) 0 ;
+  unsigned int arg2 ;
+  Dali::Texture result;
+  
+  arg1 = (Dali::Toolkit::PageFactory *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  {
+    try {
+      result = (arg1)->NewPage(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Texture((const Dali::Texture &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PageTurnView_Property_PAGE_SIZE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::PageTurnView::Property::PAGE_SIZE;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PageTurnView_Property_CURRENT_PAGE_ID_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::PageTurnView::Property::CURRENT_PAGE_ID;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_PageTurnView_Property_SPINE_SHADOW_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::PageTurnView::Property::SPINE_SHADOW;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PageTurnView_Property() {
+  void * jresult ;
+  Dali::Toolkit::PageTurnView::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::PageTurnView::Property *)new Dali::Toolkit::PageTurnView::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PageTurnView_Property(void * jarg1) {
+  Dali::Toolkit::PageTurnView::Property *arg1 = (Dali::Toolkit::PageTurnView::Property *) 0 ;
+  
+  arg1 = (Dali::Toolkit::PageTurnView::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PageTurnView__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::PageTurnView *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::PageTurnView *)new Dali::Toolkit::PageTurnView();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PageTurnView__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::PageTurnView *arg1 = 0 ;
+  Dali::Toolkit::PageTurnView *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::PageTurnView *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::PageTurnView const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::PageTurnView *)new Dali::Toolkit::PageTurnView((Dali::Toolkit::PageTurnView const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PageTurnView_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::PageTurnView *arg1 = (Dali::Toolkit::PageTurnView *) 0 ;
+  Dali::Toolkit::PageTurnView *arg2 = 0 ;
+  Dali::Toolkit::PageTurnView *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::PageTurnView *)jarg1; 
+  arg2 = (Dali::Toolkit::PageTurnView *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::PageTurnView const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::PageTurnView *) &(arg1)->operator =((Dali::Toolkit::PageTurnView const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PageTurnView(void * jarg1) {
+  Dali::Toolkit::PageTurnView *arg1 = (Dali::Toolkit::PageTurnView *) 0 ;
+  
+  arg1 = (Dali::Toolkit::PageTurnView *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PageTurnView_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::PageTurnView result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::PageTurnView::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::PageTurnView((const Dali::Toolkit::PageTurnView &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PageTurnView_PageTurnStartedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::PageTurnView *arg1 = (Dali::Toolkit::PageTurnView *) 0 ;
+  Dali::Toolkit::PageTurnView::PageTurnSignal *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::PageTurnView *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::PageTurnView::PageTurnSignal *) &(arg1)->PageTurnStartedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PageTurnView_PageTurnFinishedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::PageTurnView *arg1 = (Dali::Toolkit::PageTurnView *) 0 ;
+  Dali::Toolkit::PageTurnView::PageTurnSignal *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::PageTurnView *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::PageTurnView::PageTurnSignal *) &(arg1)->PageTurnFinishedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PageTurnView_PagePanStartedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::PageTurnView *arg1 = (Dali::Toolkit::PageTurnView *) 0 ;
+  Dali::Toolkit::PageTurnView::PagePanSignal *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::PageTurnView *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::PageTurnView::PagePanSignal *) &(arg1)->PagePanStartedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PageTurnView_PagePanFinishedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::PageTurnView *arg1 = (Dali::Toolkit::PageTurnView *) 0 ;
+  Dali::Toolkit::PageTurnView::PagePanSignal *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::PageTurnView *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::PageTurnView::PagePanSignal *) &(arg1)->PagePanFinishedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PageTurnLandscapeView__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::PageTurnLandscapeView *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::PageTurnLandscapeView *)new Dali::Toolkit::PageTurnLandscapeView();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PageTurnLandscapeView__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::PageTurnLandscapeView *arg1 = 0 ;
+  Dali::Toolkit::PageTurnLandscapeView *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::PageTurnLandscapeView *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::PageTurnLandscapeView const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::PageTurnLandscapeView *)new Dali::Toolkit::PageTurnLandscapeView((Dali::Toolkit::PageTurnLandscapeView const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PageTurnLandscapeView_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::PageTurnLandscapeView *arg1 = (Dali::Toolkit::PageTurnLandscapeView *) 0 ;
+  Dali::Toolkit::PageTurnLandscapeView *arg2 = 0 ;
+  Dali::Toolkit::PageTurnLandscapeView *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::PageTurnLandscapeView *)jarg1; 
+  arg2 = (Dali::Toolkit::PageTurnLandscapeView *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::PageTurnLandscapeView const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::PageTurnLandscapeView *) &(arg1)->operator =((Dali::Toolkit::PageTurnLandscapeView const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PageTurnLandscapeView(void * jarg1) {
+  Dali::Toolkit::PageTurnLandscapeView *arg1 = (Dali::Toolkit::PageTurnLandscapeView *) 0 ;
+  
+  arg1 = (Dali::Toolkit::PageTurnLandscapeView *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PageTurnLandscapeView_New(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::PageFactory *arg1 = 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  Dali::Toolkit::PageTurnLandscapeView result;
+  
+  arg1 = (Dali::Toolkit::PageFactory *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::PageFactory & type is null", 0);
+    return 0;
+  } 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = Dali::Toolkit::PageTurnLandscapeView::New(*arg1,(Dali::Vector2 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::PageTurnLandscapeView((const Dali::Toolkit::PageTurnLandscapeView &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PageTurnLandscapeView_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::PageTurnLandscapeView result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::PageTurnLandscapeView::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::PageTurnLandscapeView((const Dali::Toolkit::PageTurnLandscapeView &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PageTurnPortraitView__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::PageTurnPortraitView *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::PageTurnPortraitView *)new Dali::Toolkit::PageTurnPortraitView();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PageTurnPortraitView__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::PageTurnPortraitView *arg1 = 0 ;
+  Dali::Toolkit::PageTurnPortraitView *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::PageTurnPortraitView *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::PageTurnPortraitView const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::PageTurnPortraitView *)new Dali::Toolkit::PageTurnPortraitView((Dali::Toolkit::PageTurnPortraitView const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PageTurnPortraitView_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::PageTurnPortraitView *arg1 = (Dali::Toolkit::PageTurnPortraitView *) 0 ;
+  Dali::Toolkit::PageTurnPortraitView *arg2 = 0 ;
+  Dali::Toolkit::PageTurnPortraitView *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::PageTurnPortraitView *)jarg1; 
+  arg2 = (Dali::Toolkit::PageTurnPortraitView *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::PageTurnPortraitView const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::PageTurnPortraitView *) &(arg1)->operator =((Dali::Toolkit::PageTurnPortraitView const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PageTurnPortraitView(void * jarg1) {
+  Dali::Toolkit::PageTurnPortraitView *arg1 = (Dali::Toolkit::PageTurnPortraitView *) 0 ;
+  
+  arg1 = (Dali::Toolkit::PageTurnPortraitView *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PageTurnPortraitView_New(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::PageFactory *arg1 = 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  Dali::Toolkit::PageTurnPortraitView result;
+  
+  arg1 = (Dali::Toolkit::PageFactory *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::PageFactory & type is null", 0);
+    return 0;
+  } 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = Dali::Toolkit::PageTurnPortraitView::New(*arg1,(Dali::Vector2 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::PageTurnPortraitView((const Dali::Toolkit::PageTurnPortraitView &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_PageTurnPortraitView_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::PageTurnPortraitView result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::PageTurnPortraitView::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::PageTurnPortraitView((const Dali::Toolkit::PageTurnPortraitView &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ToggleButton_Property_STATE_VISUALS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ToggleButton::Property::STATE_VISUALS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ToggleButton_Property_TOOLTIPS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ToggleButton::Property::TOOLTIPS;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ToggleButton_Property_CURRENT_STATE_INDEX_get() {
+  int jresult ;
+  int result;
+  
+  result = (int)Dali::Toolkit::ToggleButton::Property::CURRENT_STATE_INDEX;
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ToggleButton_Property() {
+  void * jresult ;
+  Dali::Toolkit::ToggleButton::Property *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::ToggleButton::Property *)new Dali::Toolkit::ToggleButton::Property();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ToggleButton_Property(void * jarg1) {
+  Dali::Toolkit::ToggleButton::Property *arg1 = (Dali::Toolkit::ToggleButton::Property *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ToggleButton::Property *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ToggleButton__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::ToggleButton *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::ToggleButton *)new Dali::Toolkit::ToggleButton();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ToggleButton__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ToggleButton *arg1 = 0 ;
+  Dali::Toolkit::ToggleButton *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::ToggleButton *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ToggleButton const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::ToggleButton *)new Dali::Toolkit::ToggleButton((Dali::Toolkit::ToggleButton const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ToggleButton_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::ToggleButton *arg1 = (Dali::Toolkit::ToggleButton *) 0 ;
+  Dali::Toolkit::ToggleButton *arg2 = 0 ;
+  Dali::Toolkit::ToggleButton *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::ToggleButton *)jarg1; 
+  arg2 = (Dali::Toolkit::ToggleButton *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ToggleButton const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::ToggleButton *) &(arg1)->operator =((Dali::Toolkit::ToggleButton const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ToggleButton(void * jarg1) {
+  Dali::Toolkit::ToggleButton *arg1 = (Dali::Toolkit::ToggleButton *) 0 ;
+  
+  arg1 = (Dali::Toolkit::ToggleButton *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ToggleButton_New() {
+  void * jresult ;
+  Dali::Toolkit::ToggleButton result;
+  
+  {
+    try {
+      result = Dali::Toolkit::ToggleButton::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ToggleButton((const Dali::Toolkit::ToggleButton &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ToggleButton_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::ToggleButton result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::ToggleButton::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ToggleButton((const Dali::Toolkit::ToggleButton &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VisualBase__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::Visual::Base *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::Visual::Base *)new Dali::Toolkit::Visual::Base();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VisualBase(void * jarg1) {
+  Dali::Toolkit::Visual::Base *arg1 = (Dali::Toolkit::Visual::Base *) 0 ;
+  
+  arg1 = (Dali::Toolkit::Visual::Base *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VisualBase__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Visual::Base *arg1 = 0 ;
+  Dali::Toolkit::Visual::Base *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Visual::Base *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Visual::Base const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::Visual::Base *)new Dali::Toolkit::Visual::Base((Dali::Toolkit::Visual::Base const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VisualBase_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::Visual::Base *arg1 = (Dali::Toolkit::Visual::Base *) 0 ;
+  Dali::Toolkit::Visual::Base *arg2 = 0 ;
+  Dali::Toolkit::Visual::Base *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Visual::Base *)jarg1; 
+  arg2 = (Dali::Toolkit::Visual::Base *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Visual::Base const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::Visual::Base *) &(arg1)->operator =((Dali::Toolkit::Visual::Base const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VisualBase_SetName(void * jarg1, char * jarg2) {
+  Dali::Toolkit::Visual::Base *arg1 = (Dali::Toolkit::Visual::Base *) 0 ;
+  std::string *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Visual::Base *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return ;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      (arg1)->SetName((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+  
+  //argout typemap for const std::string&
+  
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_VisualBase_GetName(void * jarg1) {
+  char * jresult ;
+  Dali::Toolkit::Visual::Base *arg1 = (Dali::Toolkit::Visual::Base *) 0 ;
+  std::string *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Visual::Base *)jarg1; 
+  {
+    try {
+      result = (std::string *) &(arg1)->GetName();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = SWIG_csharp_string_callback(result->c_str()); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VisualBase_SetTransformAndSize(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Toolkit::Visual::Base *arg1 = (Dali::Toolkit::Visual::Base *) 0 ;
+  Dali::Property::Map *arg2 = 0 ;
+  Dali::Size arg3 ;
+  Dali::Size *argp3 ;
+  
+  arg1 = (Dali::Toolkit::Visual::Base *)jarg1; 
+  arg2 = (Dali::Property::Map *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Map const & type is null", 0);
+    return ;
+  } 
+  argp3 = (Dali::Size *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Size", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  {
+    try {
+      (arg1)->SetTransformAndSize((Dali::Property::Map const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_VisualBase_GetHeightForWidth(void * jarg1, float jarg2) {
+  float jresult ;
+  Dali::Toolkit::Visual::Base *arg1 = (Dali::Toolkit::Visual::Base *) 0 ;
+  float arg2 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Visual::Base *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (float)(arg1)->GetHeightForWidth(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_VisualBase_GetWidthForHeight(void * jarg1, float jarg2) {
+  float jresult ;
+  Dali::Toolkit::Visual::Base *arg1 = (Dali::Toolkit::Visual::Base *) 0 ;
+  float arg2 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Visual::Base *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (float)(arg1)->GetWidthForHeight(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VisualBase_GetNaturalSize(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Visual::Base *arg1 = (Dali::Toolkit::Visual::Base *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Visual::Base *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->GetNaturalSize(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VisualBase_SetDepthIndex(void * jarg1, float jarg2) {
+  Dali::Toolkit::Visual::Base *arg1 = (Dali::Toolkit::Visual::Base *) 0 ;
+  float arg2 ;
+  
+  arg1 = (Dali::Toolkit::Visual::Base *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      (arg1)->SetDepthIndex(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_VisualBase_GetDepthIndex(void * jarg1) {
+  float jresult ;
+  Dali::Toolkit::Visual::Base *arg1 = (Dali::Toolkit::Visual::Base *) 0 ;
+  float result;
+  
+  arg1 = (Dali::Toolkit::Visual::Base *)jarg1; 
+  {
+    try {
+      result = (float)((Dali::Toolkit::Visual::Base const *)arg1)->GetDepthIndex();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VisualBase_CreatePropertyMap(void * jarg1, void * jarg2) {
+  Dali::Toolkit::Visual::Base *arg1 = (Dali::Toolkit::Visual::Base *) 0 ;
+  Dali::Property::Map *arg2 = 0 ;
+  
+  arg1 = (Dali::Toolkit::Visual::Base *)jarg1; 
+  arg2 = (Dali::Property::Map *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Map & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      ((Dali::Toolkit::Visual::Base const *)arg1)->CreatePropertyMap(*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VisualBase__SWIG_2(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Internal::Visual::Base *arg1 = (Dali::Toolkit::Internal::Visual::Base *) 0 ;
+  Dali::Toolkit::Visual::Base *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::Visual::Base *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Visual::Base *)new Dali::Toolkit::Visual::Base(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VisualFactory_Get() {
+  void * jresult ;
+  Dali::Toolkit::VisualFactory result;
+  
+  {
+    try {
+      result = Dali::Toolkit::VisualFactory::Get();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::VisualFactory((const Dali::Toolkit::VisualFactory &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VisualFactory__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::VisualFactory *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::VisualFactory *)new Dali::Toolkit::VisualFactory();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VisualFactory(void * jarg1) {
+  Dali::Toolkit::VisualFactory *arg1 = (Dali::Toolkit::VisualFactory *) 0 ;
+  
+  arg1 = (Dali::Toolkit::VisualFactory *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VisualFactory__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::VisualFactory *arg1 = 0 ;
+  Dali::Toolkit::VisualFactory *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::VisualFactory *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::VisualFactory const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::VisualFactory *)new Dali::Toolkit::VisualFactory((Dali::Toolkit::VisualFactory const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VisualFactory_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::VisualFactory *arg1 = (Dali::Toolkit::VisualFactory *) 0 ;
+  Dali::Toolkit::VisualFactory *arg2 = 0 ;
+  Dali::Toolkit::VisualFactory *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::VisualFactory *)jarg1; 
+  arg2 = (Dali::Toolkit::VisualFactory *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::VisualFactory const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::VisualFactory *) &(arg1)->operator =((Dali::Toolkit::VisualFactory const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VisualFactory_CreateVisual__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::VisualFactory *arg1 = (Dali::Toolkit::VisualFactory *) 0 ;
+  Dali::Property::Map *arg2 = 0 ;
+  Dali::Toolkit::Visual::Base result;
+  
+  arg1 = (Dali::Toolkit::VisualFactory *)jarg1; 
+  arg2 = (Dali::Property::Map *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Property::Map const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (arg1)->CreateVisual((Dali::Property::Map const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::Visual::Base((const Dali::Toolkit::Visual::Base &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VisualFactory_CreateVisual__SWIG_1(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::VisualFactory *arg1 = (Dali::Toolkit::VisualFactory *) 0 ;
+  Dali::Image *arg2 = 0 ;
+  Dali::Toolkit::Visual::Base result;
+  
+  arg1 = (Dali::Toolkit::VisualFactory *)jarg1; 
+  arg2 = (Dali::Image *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Image const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (arg1)->CreateVisual((Dali::Image const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::Visual::Base((const Dali::Toolkit::Visual::Base &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_VisualFactory_CreateVisual__SWIG_2(void * jarg1, char * jarg2, void * jarg3) {
+  void * jresult ;
+  Dali::Toolkit::VisualFactory *arg1 = (Dali::Toolkit::VisualFactory *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::ImageDimensions arg3 ;
+  Dali::ImageDimensions *argp3 ;
+  Dali::Toolkit::Visual::Base result;
+  
+  arg1 = (Dali::Toolkit::VisualFactory *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  argp3 = (Dali::ImageDimensions *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg3 = *argp3; 
+  {
+    try {
+      result = (arg1)->CreateVisual((std::string const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::Visual::Base((const Dali::Toolkit::Visual::Base &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AsyncImageLoader__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::AsyncImageLoader *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::AsyncImageLoader *)new Dali::Toolkit::AsyncImageLoader();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_AsyncImageLoader(void * jarg1) {
+  Dali::Toolkit::AsyncImageLoader *arg1 = (Dali::Toolkit::AsyncImageLoader *) 0 ;
+  
+  arg1 = (Dali::Toolkit::AsyncImageLoader *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AsyncImageLoader__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AsyncImageLoader *arg1 = 0 ;
+  Dali::Toolkit::AsyncImageLoader *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AsyncImageLoader *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::AsyncImageLoader const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::AsyncImageLoader *)new Dali::Toolkit::AsyncImageLoader((Dali::Toolkit::AsyncImageLoader const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AsyncImageLoader_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::AsyncImageLoader *arg1 = (Dali::Toolkit::AsyncImageLoader *) 0 ;
+  Dali::Toolkit::AsyncImageLoader *arg2 = 0 ;
+  Dali::Toolkit::AsyncImageLoader *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AsyncImageLoader *)jarg1; 
+  arg2 = (Dali::Toolkit::AsyncImageLoader *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::AsyncImageLoader const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::Toolkit::AsyncImageLoader *) &(arg1)->operator =((Dali::Toolkit::AsyncImageLoader const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AsyncImageLoader_New() {
+  void * jresult ;
+  Dali::Toolkit::AsyncImageLoader result;
+  
+  {
+    try {
+      result = Dali::Toolkit::AsyncImageLoader::New();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::AsyncImageLoader((const Dali::Toolkit::AsyncImageLoader &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AsyncImageLoader_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::AsyncImageLoader result;
+  
+  argp1 = (Dali::BaseHandle *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  {
+    try {
+      result = Dali::Toolkit::AsyncImageLoader::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::AsyncImageLoader((const Dali::Toolkit::AsyncImageLoader &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_AsyncImageLoader_Load__SWIG_0(void * jarg1, char * jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::AsyncImageLoader *arg1 = (Dali::Toolkit::AsyncImageLoader *) 0 ;
+  std::string *arg2 = 0 ;
+  uint32_t result;
+  
+  arg1 = (Dali::Toolkit::AsyncImageLoader *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  {
+    try {
+      result = (arg1)->Load((std::string const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_AsyncImageLoader_Load__SWIG_1(void * jarg1, char * jarg2, void * jarg3) {
+  unsigned int jresult ;
+  Dali::Toolkit::AsyncImageLoader *arg1 = (Dali::Toolkit::AsyncImageLoader *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::ImageDimensions arg3 ;
+  Dali::ImageDimensions *argp3 ;
+  uint32_t result;
+  
+  arg1 = (Dali::Toolkit::AsyncImageLoader *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  argp3 = (Dali::ImageDimensions *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg3 = *argp3; 
+  {
+    try {
+      result = (arg1)->Load((std::string const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_AsyncImageLoader_Load__SWIG_2(void * jarg1, char * jarg2, void * jarg3, int jarg4, int jarg5, unsigned int jarg6) {
+  unsigned int jresult ;
+  Dali::Toolkit::AsyncImageLoader *arg1 = (Dali::Toolkit::AsyncImageLoader *) 0 ;
+  std::string *arg2 = 0 ;
+  Dali::ImageDimensions arg3 ;
+  Dali::FittingMode::Type arg4 ;
+  Dali::SamplingMode::Type arg5 ;
+  bool arg6 ;
+  Dali::ImageDimensions *argp3 ;
+  uint32_t result;
+  
+  arg1 = (Dali::Toolkit::AsyncImageLoader *)jarg1; 
+  if (!jarg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg2_str(jarg2);
+  arg2 = &arg2_str; 
+  argp3 = (Dali::ImageDimensions *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg3 = *argp3; 
+  arg4 = (Dali::FittingMode::Type)jarg4; 
+  arg5 = (Dali::SamplingMode::Type)jarg5; 
+  arg6 = jarg6 ? true : false; 
+  {
+    try {
+      result = (arg1)->Load((std::string const &)*arg2,arg3,arg4,arg5,arg6);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_AsyncImageLoader_Cancel(void * jarg1, unsigned int jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::AsyncImageLoader *arg1 = (Dali::Toolkit::AsyncImageLoader *) 0 ;
+  uint32_t arg2 ;
+  bool result;
+  
+  arg1 = (Dali::Toolkit::AsyncImageLoader *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  {
+    try {
+      result = (bool)(arg1)->Cancel(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AsyncImageLoader_CancelAll(void * jarg1) {
+  Dali::Toolkit::AsyncImageLoader *arg1 = (Dali::Toolkit::AsyncImageLoader *) 0 ;
+  
+  arg1 = (Dali::Toolkit::AsyncImageLoader *)jarg1; 
+  {
+    try {
+      (arg1)->CancelAll();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_AsyncImageLoader_ImageLoadedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::AsyncImageLoader *arg1 = (Dali::Toolkit::AsyncImageLoader *) 0 ;
+  Dali::Toolkit::AsyncImageLoader::ImageLoadedSignalType *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::AsyncImageLoader *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AsyncImageLoader::ImageLoadedSignalType *) &(arg1)->ImageLoadedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AsyncImageLoader__SWIG_2(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Internal::AsyncImageLoader *arg1 = (Dali::Toolkit::Internal::AsyncImageLoader *) 0 ;
+  Dali::Toolkit::AsyncImageLoader *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Internal::AsyncImageLoader *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::AsyncImageLoader *)new Dali::Toolkit::AsyncImageLoader(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_LoadImageSynchronously__SWIG_0(char * jarg1) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::PixelData result;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  {
+    try {
+      result = Dali::Toolkit::SyncImageLoader::Load((std::string const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PixelData((const Dali::PixelData &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_LoadImageSynchronously__SWIG_1(char * jarg1, void * jarg2) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::ImageDimensions arg2 ;
+  Dali::ImageDimensions *argp2 ;
+  Dali::PixelData result;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  argp2 = (Dali::ImageDimensions *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = Dali::Toolkit::SyncImageLoader::Load((std::string const &)*arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PixelData((const Dali::PixelData &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_LoadImageSynchronously__SWIG_2(char * jarg1, void * jarg2, int jarg3, int jarg4, unsigned int jarg5) {
+  void * jresult ;
+  std::string *arg1 = 0 ;
+  Dali::ImageDimensions arg2 ;
+  Dali::FittingMode::Type arg3 ;
+  Dali::SamplingMode::Type arg4 ;
+  bool arg5 ;
+  Dali::ImageDimensions *argp2 ;
+  Dali::PixelData result;
+  
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  std::string arg1_str(jarg1);
+  arg1 = &arg1_str; 
+  argp2 = (Dali::ImageDimensions *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::ImageDimensions", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::FittingMode::Type)jarg3; 
+  arg4 = (Dali::SamplingMode::Type)jarg4; 
+  arg5 = jarg5 ? true : false; 
+  {
+    try {
+      result = Dali::Toolkit::SyncImageLoader::Load((std::string const &)*arg1,arg2,arg3,arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::PixelData((const Dali::PixelData &)result); 
+  
+  //argout typemap for const std::string&
+  
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_CustomAlgorithmInterface(void * jarg1) {
+  Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *arg1 = (Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *) 0 ;
+  
+  arg1 = (Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_CustomAlgorithmInterface_GetNextFocusableActor(void * jarg1, void * jarg2, void * jarg3, int jarg4) {
+  void * jresult ;
+  Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *arg1 = (Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor arg3 ;
+  Dali::Toolkit::Control::KeyboardFocus::Direction arg4 ;
+  Dali::Actor *argp2 ;
+  Dali::Actor *argp3 ;
+  Dali::Actor result;
+  
+  arg1 = (Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::Actor *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg3 = *argp3; 
+  arg4 = (Dali::Toolkit::Control::KeyboardFocus::Direction)jarg4; 
+  {
+    try {
+      result = (arg1)->GetNextFocusableActor(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_CustomAlgorithmInterface() {
+  void * jresult ;
+  Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *)new SwigDirector_CustomAlgorithmInterface();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_CustomAlgorithmInterface_director_connect(void *objarg, SwigDirector_CustomAlgorithmInterface::SWIG_Callback0_t callback0) {
+  Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *obj = (Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *)objarg;
+  SwigDirector_CustomAlgorithmInterface *director = dynamic_cast<SwigDirector_CustomAlgorithmInterface *>(obj);
+  if (director) {
+    director->swig_connect_director(callback0);
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_SetCustomAlgorithm(void * jarg1, void * jarg2) {
+  KeyboardFocusManager arg1 ;
+  Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *arg2 = 0 ;
+  KeyboardFocusManager *argp1 ;
+  
+  argp1 = (KeyboardFocusManager *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null KeyboardFocusManager", 0);
+    return ;
+  }
+  arg1 = *argp1; 
+  arg2 = (Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      Dali::Toolkit::DevelKeyboardFocusManager::SetCustomAlgorithm(arg1,*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemIdContainer_Clear(void * jarg1) {
+  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ;
+  
+  arg1 = (std::vector< unsigned int > *)jarg1; 
+  {
+    try {
+      (arg1)->clear();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemIdContainer_Add(void * jarg1, unsigned int jarg2) {
+  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ;
+  unsigned int *arg2 = 0 ;
+  unsigned int temp2 ;
+  
+  arg1 = (std::vector< unsigned int > *)jarg1; 
+  temp2 = (unsigned int)jarg2; 
+  arg2 = &temp2; 
+  {
+    try {
+      (arg1)->push_back((unsigned int const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ItemIdContainer_size(void * jarg1) {
+  unsigned long jresult ;
+  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ;
+  std::vector< unsigned int >::size_type result;
+  
+  arg1 = (std::vector< unsigned int > *)jarg1; 
+  {
+    try {
+      result = ((std::vector< unsigned int > const *)arg1)->size();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ItemIdContainer_capacity(void * jarg1) {
+  unsigned long jresult ;
+  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ;
+  std::vector< unsigned int >::size_type result;
+  
+  arg1 = (std::vector< unsigned int > *)jarg1; 
+  {
+    try {
+      result = ((std::vector< unsigned int > const *)arg1)->capacity();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemIdContainer_reserve(void * jarg1, unsigned long jarg2) {
+  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ;
+  std::vector< unsigned int >::size_type arg2 ;
+  
+  arg1 = (std::vector< unsigned int > *)jarg1; 
+  arg2 = (std::vector< unsigned int >::size_type)jarg2; 
+  {
+    try {
+      (arg1)->reserve(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ItemIdContainer__SWIG_0() {
+  void * jresult ;
+  std::vector< unsigned int > *result = 0 ;
+  
+  {
+    try {
+      result = (std::vector< unsigned int > *)new std::vector< unsigned int >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ItemIdContainer__SWIG_1(void * jarg1) {
+  void * jresult ;
+  std::vector< unsigned int > *arg1 = 0 ;
+  std::vector< unsigned int > *result = 0 ;
+  
+  arg1 = (std::vector< unsigned int > *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::vector< unsigned int > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (std::vector< unsigned int > *)new std::vector< unsigned int >((std::vector< unsigned int > const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ItemIdContainer__SWIG_2(int jarg1) {
+  void * jresult ;
+  int arg1 ;
+  std::vector< unsigned int > *result = 0 ;
+  
+  arg1 = (int)jarg1; 
+  {
+    try {
+      try {
+        result = (std::vector< unsigned int > *)new_std_vector_Sl_unsigned_SS_int_Sg___SWIG_2(arg1);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return 0;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ItemIdContainer_getitemcopy(void * jarg1, int jarg2) {
+  unsigned int jresult ;
+  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ;
+  int arg2 ;
+  unsigned int result;
+  
+  arg1 = (std::vector< unsigned int > *)jarg1; 
+  arg2 = (int)jarg2; 
+  {
+    try {
+      try {
+        result = (unsigned int)std_vector_Sl_unsigned_SS_int_Sg__getitemcopy(arg1,arg2);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return 0;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ItemIdContainer_getitem(void * jarg1, int jarg2) {
+  unsigned int jresult ;
+  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ;
+  int arg2 ;
+  unsigned int *result = 0 ;
+  
+  arg1 = (std::vector< unsigned int > *)jarg1; 
+  arg2 = (int)jarg2; 
+  {
+    try {
+      try {
+        result = (unsigned int *) &std_vector_Sl_unsigned_SS_int_Sg__getitem(arg1,arg2);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return 0;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = *result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemIdContainer_setitem(void * jarg1, int jarg2, unsigned int jarg3) {
+  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ;
+  int arg2 ;
+  unsigned int *arg3 = 0 ;
+  unsigned int temp3 ;
+  
+  arg1 = (std::vector< unsigned int > *)jarg1; 
+  arg2 = (int)jarg2; 
+  temp3 = (unsigned int)jarg3; 
+  arg3 = &temp3; 
+  {
+    try {
+      try {
+        std_vector_Sl_unsigned_SS_int_Sg__setitem(arg1,arg2,(unsigned int const &)*arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemIdContainer_AddRange(void * jarg1, void * jarg2) {
+  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ;
+  std::vector< unsigned int > *arg2 = 0 ;
+  
+  arg1 = (std::vector< unsigned int > *)jarg1; 
+  arg2 = (std::vector< unsigned int > *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::vector< unsigned int > const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      std_vector_Sl_unsigned_SS_int_Sg__AddRange(arg1,(std::vector< unsigned int > const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ItemIdContainer_GetRange(void * jarg1, int jarg2, int jarg3) {
+  void * jresult ;
+  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ;
+  int arg2 ;
+  int arg3 ;
+  std::vector< unsigned int > *result = 0 ;
+  
+  arg1 = (std::vector< unsigned int > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (int)jarg3; 
+  {
+    try {
+      try {
+        result = (std::vector< unsigned int > *)std_vector_Sl_unsigned_SS_int_Sg__GetRange(arg1,arg2,arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return 0;
+      }
+      catch(std::invalid_argument &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentException, (&_e)->what(), "");
+        return 0;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemIdContainer_Insert(void * jarg1, int jarg2, unsigned int jarg3) {
+  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ;
+  int arg2 ;
+  unsigned int *arg3 = 0 ;
+  unsigned int temp3 ;
+  
+  arg1 = (std::vector< unsigned int > *)jarg1; 
+  arg2 = (int)jarg2; 
+  temp3 = (unsigned int)jarg3; 
+  arg3 = &temp3; 
+  {
+    try {
+      try {
+        std_vector_Sl_unsigned_SS_int_Sg__Insert(arg1,arg2,(unsigned int const &)*arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemIdContainer_InsertRange(void * jarg1, int jarg2, void * jarg3) {
+  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ;
+  int arg2 ;
+  std::vector< unsigned int > *arg3 = 0 ;
+  
+  arg1 = (std::vector< unsigned int > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (std::vector< unsigned int > *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::vector< unsigned int > const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      try {
+        std_vector_Sl_unsigned_SS_int_Sg__InsertRange(arg1,arg2,(std::vector< unsigned int > const &)*arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemIdContainer_RemoveAt(void * jarg1, int jarg2) {
+  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ;
+  int arg2 ;
+  
+  arg1 = (std::vector< unsigned int > *)jarg1; 
+  arg2 = (int)jarg2; 
+  {
+    try {
+      try {
+        std_vector_Sl_unsigned_SS_int_Sg__RemoveAt(arg1,arg2);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemIdContainer_RemoveRange(void * jarg1, int jarg2, int jarg3) {
+  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ;
+  int arg2 ;
+  int arg3 ;
+  
+  arg1 = (std::vector< unsigned int > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (int)jarg3; 
+  {
+    try {
+      try {
+        std_vector_Sl_unsigned_SS_int_Sg__RemoveRange(arg1,arg2,arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      catch(std::invalid_argument &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentException, (&_e)->what(), "");
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ItemIdContainer_Repeat(unsigned int jarg1, int jarg2) {
+  void * jresult ;
+  unsigned int *arg1 = 0 ;
+  int arg2 ;
+  unsigned int temp1 ;
+  std::vector< unsigned int > *result = 0 ;
+  
+  temp1 = (unsigned int)jarg1; 
+  arg1 = &temp1; 
+  arg2 = (int)jarg2; 
+  {
+    try {
+      try {
+        result = (std::vector< unsigned int > *)std_vector_Sl_unsigned_SS_int_Sg__Repeat((unsigned int const &)*arg1,arg2);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return 0;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemIdContainer_Reverse__SWIG_0(void * jarg1) {
+  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ;
+  
+  arg1 = (std::vector< unsigned int > *)jarg1; 
+  {
+    try {
+      std_vector_Sl_unsigned_SS_int_Sg__Reverse__SWIG_0(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemIdContainer_Reverse__SWIG_1(void * jarg1, int jarg2, int jarg3) {
+  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ;
+  int arg2 ;
+  int arg3 ;
+  
+  arg1 = (std::vector< unsigned int > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (int)jarg3; 
+  {
+    try {
+      try {
+        std_vector_Sl_unsigned_SS_int_Sg__Reverse__SWIG_1(arg1,arg2,arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      catch(std::invalid_argument &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentException, (&_e)->what(), "");
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemIdContainer_SetRange(void * jarg1, int jarg2, void * jarg3) {
+  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ;
+  int arg2 ;
+  std::vector< unsigned int > *arg3 = 0 ;
+  
+  arg1 = (std::vector< unsigned int > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (std::vector< unsigned int > *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::vector< unsigned int > const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      try {
+        std_vector_Sl_unsigned_SS_int_Sg__SetRange(arg1,arg2,(std::vector< unsigned int > const &)*arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ItemIdContainer_Contains(void * jarg1, unsigned int jarg2) {
+  unsigned int jresult ;
+  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ;
+  unsigned int *arg2 = 0 ;
+  unsigned int temp2 ;
+  bool result;
+  
+  arg1 = (std::vector< unsigned int > *)jarg1; 
+  temp2 = (unsigned int)jarg2; 
+  arg2 = &temp2; 
+  {
+    try {
+      result = (bool)std_vector_Sl_unsigned_SS_int_Sg__Contains(arg1,(unsigned int const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ItemIdContainer_IndexOf(void * jarg1, unsigned int jarg2) {
+  int jresult ;
+  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ;
+  unsigned int *arg2 = 0 ;
+  unsigned int temp2 ;
+  int result;
+  
+  arg1 = (std::vector< unsigned int > *)jarg1; 
+  temp2 = (unsigned int)jarg2; 
+  arg2 = &temp2; 
+  {
+    try {
+      result = (int)std_vector_Sl_unsigned_SS_int_Sg__IndexOf(arg1,(unsigned int const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ItemIdContainer_LastIndexOf(void * jarg1, unsigned int jarg2) {
+  int jresult ;
+  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ;
+  unsigned int *arg2 = 0 ;
+  unsigned int temp2 ;
+  int result;
+  
+  arg1 = (std::vector< unsigned int > *)jarg1; 
+  temp2 = (unsigned int)jarg2; 
+  arg2 = &temp2; 
+  {
+    try {
+      result = (int)std_vector_Sl_unsigned_SS_int_Sg__LastIndexOf(arg1,(unsigned int const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ItemIdContainer_Remove(void * jarg1, unsigned int jarg2) {
+  unsigned int jresult ;
+  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ;
+  unsigned int *arg2 = 0 ;
+  unsigned int temp2 ;
+  bool result;
+  
+  arg1 = (std::vector< unsigned int > *)jarg1; 
+  temp2 = (unsigned int)jarg2; 
+  arg2 = &temp2; 
+  {
+    try {
+      result = (bool)std_vector_Sl_unsigned_SS_int_Sg__Remove(arg1,(unsigned int const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ItemIdContainer(void * jarg1) {
+  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ;
+  
+  arg1 = (std::vector< unsigned int > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Item__SWIG_0() {
+  void * jresult ;
+  std::pair< unsigned int,Dali::Actor > *result = 0 ;
+  
+  {
+    try {
+      result = (std::pair< unsigned int,Dali::Actor > *)new std::pair< unsigned int,Dali::Actor >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Item__SWIG_1(unsigned int jarg1, void * jarg2) {
+  void * jresult ;
+  unsigned int arg1 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  std::pair< unsigned int,Dali::Actor > *result = 0 ;
+  
+  arg1 = (unsigned int)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (std::pair< unsigned int,Dali::Actor > *)new std::pair< unsigned int,Dali::Actor >(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_Item__SWIG_2(void * jarg1) {
+  void * jresult ;
+  std::pair< unsigned int,Dali::Actor > *arg1 = 0 ;
+  std::pair< unsigned int,Dali::Actor > *result = 0 ;
+  
+  arg1 = (std::pair< unsigned int,Dali::Actor > *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::pair< unsigned int,Dali::Actor > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (std::pair< unsigned int,Dali::Actor > *)new std::pair< unsigned int,Dali::Actor >((std::pair< unsigned int,Dali::Actor > const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Item_first_set(void * jarg1, unsigned int jarg2) {
+  std::pair< unsigned int,Dali::Actor > *arg1 = (std::pair< unsigned int,Dali::Actor > *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (std::pair< unsigned int,Dali::Actor > *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->first = arg2;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Item_first_get(void * jarg1) {
+  unsigned int jresult ;
+  std::pair< unsigned int,Dali::Actor > *arg1 = (std::pair< unsigned int,Dali::Actor > *) 0 ;
+  unsigned int result;
+  
+  arg1 = (std::pair< unsigned int,Dali::Actor > *)jarg1; 
+  result = (unsigned int) ((arg1)->first);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Item_second_set(void * jarg1, void * jarg2) {
+  std::pair< unsigned int,Dali::Actor > *arg1 = (std::pair< unsigned int,Dali::Actor > *) 0 ;
+  Dali::Actor *arg2 = (Dali::Actor *) 0 ;
+  
+  arg1 = (std::pair< unsigned int,Dali::Actor > *)jarg1; 
+  arg2 = (Dali::Actor *)jarg2; 
+  if (arg1) (arg1)->second = *arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Item_second_get(void * jarg1) {
+  void * jresult ;
+  std::pair< unsigned int,Dali::Actor > *arg1 = (std::pair< unsigned int,Dali::Actor > *) 0 ;
+  Dali::Actor *result = 0 ;
+  
+  arg1 = (std::pair< unsigned int,Dali::Actor > *)jarg1; 
+  result = (Dali::Actor *)& ((arg1)->second);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_Item(void * jarg1) {
+  std::pair< unsigned int,Dali::Actor > *arg1 = (std::pair< unsigned int,Dali::Actor > *) 0 ;
+  
+  arg1 = (std::pair< unsigned int,Dali::Actor > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemContainer_Clear(void * jarg1) {
+  std::vector< std::pair< unsigned int,Dali::Actor > > *arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *) 0 ;
+  
+  arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *)jarg1; 
+  {
+    try {
+      (arg1)->clear();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemContainer_Add(void * jarg1, void * jarg2) {
+  std::vector< std::pair< unsigned int,Dali::Actor > > *arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *) 0 ;
+  std::pair< unsigned int,Dali::Actor > *arg2 = 0 ;
+  
+  arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *)jarg1; 
+  arg2 = (std::pair< unsigned int,Dali::Actor > *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::pair< unsigned int,Dali::Actor > const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->push_back((std::pair< unsigned int,Dali::Actor > const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ItemContainer_size(void * jarg1) {
+  unsigned long jresult ;
+  std::vector< std::pair< unsigned int,Dali::Actor > > *arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *) 0 ;
+  std::vector< std::pair< unsigned int,Dali::Actor > >::size_type result;
+  
+  arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *)jarg1; 
+  {
+    try {
+      result = ((std::vector< std::pair< unsigned int,Dali::Actor > > const *)arg1)->size();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ItemContainer_capacity(void * jarg1) {
+  unsigned long jresult ;
+  std::vector< std::pair< unsigned int,Dali::Actor > > *arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *) 0 ;
+  std::vector< std::pair< unsigned int,Dali::Actor > >::size_type result;
+  
+  arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *)jarg1; 
+  {
+    try {
+      result = ((std::vector< std::pair< unsigned int,Dali::Actor > > const *)arg1)->capacity();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemContainer_reserve(void * jarg1, unsigned long jarg2) {
+  std::vector< std::pair< unsigned int,Dali::Actor > > *arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *) 0 ;
+  std::vector< std::pair< unsigned int,Dali::Actor > >::size_type arg2 ;
+  
+  arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *)jarg1; 
+  arg2 = (std::vector< std::pair< unsigned int,Dali::Actor > >::size_type)jarg2; 
+  {
+    try {
+      (arg1)->reserve(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ItemContainer__SWIG_0() {
+  void * jresult ;
+  std::vector< std::pair< unsigned int,Dali::Actor > > *result = 0 ;
+  
+  {
+    try {
+      result = (std::vector< std::pair< unsigned int,Dali::Actor > > *)new std::vector< std::pair< unsigned int,Dali::Actor > >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ItemContainer__SWIG_1(void * jarg1) {
+  void * jresult ;
+  std::vector< std::pair< unsigned int,Dali::Actor > > *arg1 = 0 ;
+  std::vector< std::pair< unsigned int,Dali::Actor > > *result = 0 ;
+  
+  arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::vector< std::pair< unsigned int,Dali::Actor > > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (std::vector< std::pair< unsigned int,Dali::Actor > > *)new std::vector< std::pair< unsigned int,Dali::Actor > >((std::vector< std::pair< unsigned int,Dali::Actor > > const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ItemContainer__SWIG_2(int jarg1) {
+  void * jresult ;
+  int arg1 ;
+  std::vector< std::pair< unsigned int,Dali::Actor > > *result = 0 ;
+  
+  arg1 = (int)jarg1; 
+  {
+    try {
+      try {
+        result = (std::vector< std::pair< unsigned int,Dali::Actor > > *)new_std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg___SWIG_2(arg1);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return 0;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ItemContainer_getitemcopy(void * jarg1, int jarg2) {
+  void * jresult ;
+  std::vector< std::pair< unsigned int,Dali::Actor > > *arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *) 0 ;
+  int arg2 ;
+  std::pair< unsigned int,Dali::Actor > result;
+  
+  arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *)jarg1; 
+  arg2 = (int)jarg2; 
+  {
+    try {
+      try {
+        result = std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__getitemcopy(arg1,arg2);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return 0;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new std::pair< unsigned int,Dali::Actor >((const std::pair< unsigned int,Dali::Actor > &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ItemContainer_getitem(void * jarg1, int jarg2) {
+  void * jresult ;
+  std::vector< std::pair< unsigned int,Dali::Actor > > *arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *) 0 ;
+  int arg2 ;
+  std::pair< unsigned int,Dali::Actor > *result = 0 ;
+  
+  arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *)jarg1; 
+  arg2 = (int)jarg2; 
+  {
+    try {
+      try {
+        result = (std::pair< unsigned int,Dali::Actor > *) &std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__getitem(arg1,arg2);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return 0;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemContainer_setitem(void * jarg1, int jarg2, void * jarg3) {
+  std::vector< std::pair< unsigned int,Dali::Actor > > *arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *) 0 ;
+  int arg2 ;
+  std::pair< unsigned int,Dali::Actor > *arg3 = 0 ;
+  
+  arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (std::pair< unsigned int,Dali::Actor > *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::pair< unsigned int,Dali::Actor > const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      try {
+        std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__setitem(arg1,arg2,(std::pair< unsigned int,Dali::Actor > const &)*arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemContainer_AddRange(void * jarg1, void * jarg2) {
+  std::vector< std::pair< unsigned int,Dali::Actor > > *arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *) 0 ;
+  std::vector< std::pair< unsigned int,Dali::Actor > > *arg2 = 0 ;
+  
+  arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *)jarg1; 
+  arg2 = (std::vector< std::pair< unsigned int,Dali::Actor > > *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::vector< std::pair< unsigned int,Dali::Actor > > const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__AddRange(arg1,(std::vector< std::pair< unsigned int,Dali::Actor > > const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ItemContainer_GetRange(void * jarg1, int jarg2, int jarg3) {
+  void * jresult ;
+  std::vector< std::pair< unsigned int,Dali::Actor > > *arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *) 0 ;
+  int arg2 ;
+  int arg3 ;
+  std::vector< std::pair< unsigned int,Dali::Actor > > *result = 0 ;
+  
+  arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (int)jarg3; 
+  {
+    try {
+      try {
+        result = (std::vector< std::pair< unsigned int,Dali::Actor > > *)std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__GetRange(arg1,arg2,arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return 0;
+      }
+      catch(std::invalid_argument &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentException, (&_e)->what(), "");
+        return 0;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemContainer_Insert(void * jarg1, int jarg2, void * jarg3) {
+  std::vector< std::pair< unsigned int,Dali::Actor > > *arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *) 0 ;
+  int arg2 ;
+  std::pair< unsigned int,Dali::Actor > *arg3 = 0 ;
+  
+  arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (std::pair< unsigned int,Dali::Actor > *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::pair< unsigned int,Dali::Actor > const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      try {
+        std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__Insert(arg1,arg2,(std::pair< unsigned int,Dali::Actor > const &)*arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemContainer_InsertRange(void * jarg1, int jarg2, void * jarg3) {
+  std::vector< std::pair< unsigned int,Dali::Actor > > *arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *) 0 ;
+  int arg2 ;
+  std::vector< std::pair< unsigned int,Dali::Actor > > *arg3 = 0 ;
+  
+  arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (std::vector< std::pair< unsigned int,Dali::Actor > > *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::vector< std::pair< unsigned int,Dali::Actor > > const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      try {
+        std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__InsertRange(arg1,arg2,(std::vector< std::pair< unsigned int,Dali::Actor > > const &)*arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemContainer_RemoveAt(void * jarg1, int jarg2) {
+  std::vector< std::pair< unsigned int,Dali::Actor > > *arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *) 0 ;
+  int arg2 ;
+  
+  arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *)jarg1; 
+  arg2 = (int)jarg2; 
+  {
+    try {
+      try {
+        std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__RemoveAt(arg1,arg2);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemContainer_RemoveRange(void * jarg1, int jarg2, int jarg3) {
+  std::vector< std::pair< unsigned int,Dali::Actor > > *arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *) 0 ;
+  int arg2 ;
+  int arg3 ;
+  
+  arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (int)jarg3; 
+  {
+    try {
+      try {
+        std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__RemoveRange(arg1,arg2,arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      catch(std::invalid_argument &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentException, (&_e)->what(), "");
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ItemContainer_Repeat(void * jarg1, int jarg2) {
+  void * jresult ;
+  std::pair< unsigned int,Dali::Actor > *arg1 = 0 ;
+  int arg2 ;
+  std::vector< std::pair< unsigned int,Dali::Actor > > *result = 0 ;
+  
+  arg1 = (std::pair< unsigned int,Dali::Actor > *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::pair< unsigned int,Dali::Actor > const & type is null", 0);
+    return 0;
+  } 
+  arg2 = (int)jarg2; 
+  {
+    try {
+      try {
+        result = (std::vector< std::pair< unsigned int,Dali::Actor > > *)std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__Repeat((std::pair< unsigned int,Dali::Actor > const &)*arg1,arg2);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return 0;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemContainer_Reverse__SWIG_0(void * jarg1) {
+  std::vector< std::pair< unsigned int,Dali::Actor > > *arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *) 0 ;
+  
+  arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *)jarg1; 
+  {
+    try {
+      std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__Reverse__SWIG_0(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemContainer_Reverse__SWIG_1(void * jarg1, int jarg2, int jarg3) {
+  std::vector< std::pair< unsigned int,Dali::Actor > > *arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *) 0 ;
+  int arg2 ;
+  int arg3 ;
+  
+  arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (int)jarg3; 
+  {
+    try {
+      try {
+        std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__Reverse__SWIG_1(arg1,arg2,arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      catch(std::invalid_argument &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentException, (&_e)->what(), "");
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ItemContainer_SetRange(void * jarg1, int jarg2, void * jarg3) {
+  std::vector< std::pair< unsigned int,Dali::Actor > > *arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *) 0 ;
+  int arg2 ;
+  std::vector< std::pair< unsigned int,Dali::Actor > > *arg3 = 0 ;
+  
+  arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (std::vector< std::pair< unsigned int,Dali::Actor > > *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::vector< std::pair< unsigned int,Dali::Actor > > const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      try {
+        std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_Dali_Actor_Sg__Sg__SetRange(arg1,arg2,(std::vector< std::pair< unsigned int,Dali::Actor > > const &)*arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ItemContainer(void * jarg1) {
+  std::vector< std::pair< unsigned int,Dali::Actor > > *arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *) 0 ;
+  
+  arg1 = (std::vector< std::pair< unsigned int,Dali::Actor > > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorContainer_Clear(void * jarg1) {
+  std::vector< Dali::Actor > *arg1 = (std::vector< Dali::Actor > *) 0 ;
+  
+  arg1 = (std::vector< Dali::Actor > *)jarg1; 
+  {
+    try {
+      (arg1)->clear();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorContainer_Add(void * jarg1, void * jarg2) {
+  std::vector< Dali::Actor > *arg1 = (std::vector< Dali::Actor > *) 0 ;
+  Dali::Actor *arg2 = 0 ;
+  
+  arg1 = (std::vector< Dali::Actor > *)jarg1; 
+  arg2 = (Dali::Actor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      (arg1)->push_back((Dali::Actor const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ActorContainer_size(void * jarg1) {
+  unsigned long jresult ;
+  std::vector< Dali::Actor > *arg1 = (std::vector< Dali::Actor > *) 0 ;
+  std::vector< Dali::Actor >::size_type result;
+  
+  arg1 = (std::vector< Dali::Actor > *)jarg1; 
+  {
+    try {
+      result = ((std::vector< Dali::Actor > const *)arg1)->size();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ActorContainer_capacity(void * jarg1) {
+  unsigned long jresult ;
+  std::vector< Dali::Actor > *arg1 = (std::vector< Dali::Actor > *) 0 ;
+  std::vector< Dali::Actor >::size_type result;
+  
+  arg1 = (std::vector< Dali::Actor > *)jarg1; 
+  {
+    try {
+      result = ((std::vector< Dali::Actor > const *)arg1)->capacity();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorContainer_reserve(void * jarg1, unsigned long jarg2) {
+  std::vector< Dali::Actor > *arg1 = (std::vector< Dali::Actor > *) 0 ;
+  std::vector< Dali::Actor >::size_type arg2 ;
+  
+  arg1 = (std::vector< Dali::Actor > *)jarg1; 
+  arg2 = (std::vector< Dali::Actor >::size_type)jarg2; 
+  {
+    try {
+      (arg1)->reserve(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ActorContainer__SWIG_0() {
+  void * jresult ;
+  std::vector< Dali::Actor > *result = 0 ;
+  
+  {
+    try {
+      result = (std::vector< Dali::Actor > *)new std::vector< Dali::Actor >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ActorContainer__SWIG_1(void * jarg1) {
+  void * jresult ;
+  std::vector< Dali::Actor > *arg1 = 0 ;
+  std::vector< Dali::Actor > *result = 0 ;
+  
+  arg1 = (std::vector< Dali::Actor > *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::vector< Dali::Actor > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (std::vector< Dali::Actor > *)new std::vector< Dali::Actor >((std::vector< Dali::Actor > const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ActorContainer__SWIG_2(int jarg1) {
+  void * jresult ;
+  int arg1 ;
+  std::vector< Dali::Actor > *result = 0 ;
+  
+  arg1 = (int)jarg1; 
+  {
+    try {
+      try {
+        result = (std::vector< Dali::Actor > *)new_std_vector_Sl_Dali_Actor_Sg___SWIG_2(arg1);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return 0;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ActorContainer_getitemcopy(void * jarg1, int jarg2) {
+  void * jresult ;
+  std::vector< Dali::Actor > *arg1 = (std::vector< Dali::Actor > *) 0 ;
+  int arg2 ;
+  Dali::Actor result;
+  
+  arg1 = (std::vector< Dali::Actor > *)jarg1; 
+  arg2 = (int)jarg2; 
+  {
+    try {
+      try {
+        result = std_vector_Sl_Dali_Actor_Sg__getitemcopy(arg1,arg2);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return 0;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ActorContainer_getitem(void * jarg1, int jarg2) {
+  void * jresult ;
+  std::vector< Dali::Actor > *arg1 = (std::vector< Dali::Actor > *) 0 ;
+  int arg2 ;
+  Dali::Actor *result = 0 ;
+  
+  arg1 = (std::vector< Dali::Actor > *)jarg1; 
+  arg2 = (int)jarg2; 
+  {
+    try {
+      try {
+        result = (Dali::Actor *) &std_vector_Sl_Dali_Actor_Sg__getitem(arg1,arg2);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return 0;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorContainer_setitem(void * jarg1, int jarg2, void * jarg3) {
+  std::vector< Dali::Actor > *arg1 = (std::vector< Dali::Actor > *) 0 ;
+  int arg2 ;
+  Dali::Actor *arg3 = 0 ;
+  
+  arg1 = (std::vector< Dali::Actor > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (Dali::Actor *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      try {
+        std_vector_Sl_Dali_Actor_Sg__setitem(arg1,arg2,(Dali::Actor const &)*arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorContainer_AddRange(void * jarg1, void * jarg2) {
+  std::vector< Dali::Actor > *arg1 = (std::vector< Dali::Actor > *) 0 ;
+  std::vector< Dali::Actor > *arg2 = 0 ;
+  
+  arg1 = (std::vector< Dali::Actor > *)jarg1; 
+  arg2 = (std::vector< Dali::Actor > *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::vector< Dali::Actor > const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      std_vector_Sl_Dali_Actor_Sg__AddRange(arg1,(std::vector< Dali::Actor > const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ActorContainer_GetRange(void * jarg1, int jarg2, int jarg3) {
+  void * jresult ;
+  std::vector< Dali::Actor > *arg1 = (std::vector< Dali::Actor > *) 0 ;
+  int arg2 ;
+  int arg3 ;
+  std::vector< Dali::Actor > *result = 0 ;
+  
+  arg1 = (std::vector< Dali::Actor > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (int)jarg3; 
+  {
+    try {
+      try {
+        result = (std::vector< Dali::Actor > *)std_vector_Sl_Dali_Actor_Sg__GetRange(arg1,arg2,arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return 0;
+      }
+      catch(std::invalid_argument &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentException, (&_e)->what(), "");
+        return 0;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorContainer_Insert(void * jarg1, int jarg2, void * jarg3) {
+  std::vector< Dali::Actor > *arg1 = (std::vector< Dali::Actor > *) 0 ;
+  int arg2 ;
+  Dali::Actor *arg3 = 0 ;
+  
+  arg1 = (std::vector< Dali::Actor > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (Dali::Actor *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      try {
+        std_vector_Sl_Dali_Actor_Sg__Insert(arg1,arg2,(Dali::Actor const &)*arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorContainer_InsertRange(void * jarg1, int jarg2, void * jarg3) {
+  std::vector< Dali::Actor > *arg1 = (std::vector< Dali::Actor > *) 0 ;
+  int arg2 ;
+  std::vector< Dali::Actor > *arg3 = 0 ;
+  
+  arg1 = (std::vector< Dali::Actor > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (std::vector< Dali::Actor > *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::vector< Dali::Actor > const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      try {
+        std_vector_Sl_Dali_Actor_Sg__InsertRange(arg1,arg2,(std::vector< Dali::Actor > const &)*arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorContainer_RemoveAt(void * jarg1, int jarg2) {
+  std::vector< Dali::Actor > *arg1 = (std::vector< Dali::Actor > *) 0 ;
+  int arg2 ;
+  
+  arg1 = (std::vector< Dali::Actor > *)jarg1; 
+  arg2 = (int)jarg2; 
+  {
+    try {
+      try {
+        std_vector_Sl_Dali_Actor_Sg__RemoveAt(arg1,arg2);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorContainer_RemoveRange(void * jarg1, int jarg2, int jarg3) {
+  std::vector< Dali::Actor > *arg1 = (std::vector< Dali::Actor > *) 0 ;
+  int arg2 ;
+  int arg3 ;
+  
+  arg1 = (std::vector< Dali::Actor > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (int)jarg3; 
+  {
+    try {
+      try {
+        std_vector_Sl_Dali_Actor_Sg__RemoveRange(arg1,arg2,arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      catch(std::invalid_argument &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentException, (&_e)->what(), "");
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ActorContainer_Repeat(void * jarg1, int jarg2) {
+  void * jresult ;
+  Dali::Actor *arg1 = 0 ;
+  int arg2 ;
+  std::vector< Dali::Actor > *result = 0 ;
+  
+  arg1 = (Dali::Actor *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor const & type is null", 0);
+    return 0;
+  } 
+  arg2 = (int)jarg2; 
+  {
+    try {
+      try {
+        result = (std::vector< Dali::Actor > *)std_vector_Sl_Dali_Actor_Sg__Repeat((Dali::Actor const &)*arg1,arg2);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return 0;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorContainer_Reverse__SWIG_0(void * jarg1) {
+  std::vector< Dali::Actor > *arg1 = (std::vector< Dali::Actor > *) 0 ;
+  
+  arg1 = (std::vector< Dali::Actor > *)jarg1; 
+  {
+    try {
+      std_vector_Sl_Dali_Actor_Sg__Reverse__SWIG_0(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorContainer_Reverse__SWIG_1(void * jarg1, int jarg2, int jarg3) {
+  std::vector< Dali::Actor > *arg1 = (std::vector< Dali::Actor > *) 0 ;
+  int arg2 ;
+  int arg3 ;
+  
+  arg1 = (std::vector< Dali::Actor > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (int)jarg3; 
+  {
+    try {
+      try {
+        std_vector_Sl_Dali_Actor_Sg__Reverse__SWIG_1(arg1,arg2,arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      catch(std::invalid_argument &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentException, (&_e)->what(), "");
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ActorContainer_SetRange(void * jarg1, int jarg2, void * jarg3) {
+  std::vector< Dali::Actor > *arg1 = (std::vector< Dali::Actor > *) 0 ;
+  int arg2 ;
+  std::vector< Dali::Actor > *arg3 = 0 ;
+  
+  arg1 = (std::vector< Dali::Actor > *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (std::vector< Dali::Actor > *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "std::vector< Dali::Actor > const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      try {
+        std_vector_Sl_Dali_Actor_Sg__SetRange(arg1,arg2,(std::vector< Dali::Actor > const &)*arg3);
+      }
+      catch(std::out_of_range &_e) {
+        SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, 0, (&_e)->what());
+        return ;
+      }
+      
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ActorContainer(void * jarg1) {
+  std::vector< Dali::Actor > *arg1 = (std::vector< Dali::Actor > *) 0 ;
+  
+  arg1 = (std::vector< Dali::Actor > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_AccessibilityActionSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__SP__Sg__Empty((Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_AccessibilityActionSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__SP__Sg__GetConnectionCount((Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AccessibilityActionSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > *) 0 ;
+  bool (*arg2)(Dali::Toolkit::AccessibilityManager &) = (bool (*)(Dali::Toolkit::AccessibilityManager &)) 0 ;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > *)jarg1; 
+  arg2 = (bool (*)(Dali::Toolkit::AccessibilityManager &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AccessibilityActionSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > *) 0 ;
+  bool (*arg2)(Dali::Toolkit::AccessibilityManager &) = (bool (*)(Dali::Toolkit::AccessibilityManager &)) 0 ;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > *)jarg1; 
+  arg2 = (bool (*)(Dali::Toolkit::AccessibilityManager &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_AccessibilityActionSignal_Emit(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > *) 0 ;
+  Dali::Toolkit::AccessibilityManager *arg2 = 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > *)jarg1; 
+  arg2 = (Dali::Toolkit::AccessibilityManager *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::AccessibilityManager & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__SP__Sg__Emit(arg1,*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AccessibilityActionSignal() {
+  void * jresult ;
+  Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > *)new Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_AccessibilityActionSignal(void * jarg1) {
+  Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > *) 0 ;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_AccessibilityFocusOvershotSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_Toolkit_AccessibilityManager_FocusOvershotDirection_SP__Sg__Empty((Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_AccessibilityFocusOvershotSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_Toolkit_AccessibilityManager_FocusOvershotDirection_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AccessibilityFocusOvershotSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *) 0 ;
+  void (*arg2)(Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) = (void (*)(Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_Toolkit_AccessibilityManager_FocusOvershotDirection_SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AccessibilityFocusOvershotSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *) 0 ;
+  void (*arg2)(Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) = (void (*)(Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_Toolkit_AccessibilityManager_FocusOvershotDirection_SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_AccessibilityFocusOvershotSignal_Emit(void * jarg1, void * jarg2, int jarg3) {
+  Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Toolkit::AccessibilityManager::FocusOvershotDirection arg3 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::Toolkit::AccessibilityManager::FocusOvershotDirection)jarg3; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_Toolkit_AccessibilityManager_FocusOvershotDirection_SP__Sg__Emit(arg1,arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_AccessibilityFocusOvershotSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *)new Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_AccessibilityFocusOvershotSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::Toolkit::AccessibilityManager::FocusOvershotDirection) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_FocusChangedSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Actor,Dali::Actor) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::Actor) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::Actor) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_Actor_SP__Sg__Empty((Dali::Signal< void (Dali::Actor,Dali::Actor) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_FocusChangedSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Actor,Dali::Actor) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::Actor) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::Actor) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_Actor_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Actor,Dali::Actor) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_FocusChangedSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor,Dali::Actor) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::Actor) > *) 0 ;
+  void (*arg2)(Dali::Actor,Dali::Actor) = (void (*)(Dali::Actor,Dali::Actor)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::Actor) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor,Dali::Actor))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_Actor_SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_FocusChangedSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor,Dali::Actor) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::Actor) > *) 0 ;
+  void (*arg2)(Dali::Actor,Dali::Actor) = (void (*)(Dali::Actor,Dali::Actor)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::Actor) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor,Dali::Actor))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_Actor_SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_FocusChangedSignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
+  Dali::Signal< void (Dali::Actor,Dali::Actor) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::Actor) > *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor arg3 ;
+  Dali::Actor *argp2 ;
+  Dali::Actor *argp3 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::Actor) > *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  argp3 = (Dali::Actor *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg3 = *argp3; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_Dali_Actor_SP__Sg__Emit(arg1,arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_FocusChangedSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Actor,Dali::Actor) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Actor,Dali::Actor) > *)new Dali::Signal< void (Dali::Actor,Dali::Actor) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_FocusChangedSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Actor,Dali::Actor) > *arg1 = (Dali::Signal< void (Dali::Actor,Dali::Actor) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,Dali::Actor) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_FocusGroupChangedSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Actor,bool) > *arg1 = (Dali::Signal< void (Dali::Actor,bool) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,bool) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_bool_SP__Sg__Empty((Dali::Signal< void (Dali::Actor,bool) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_FocusGroupChangedSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Actor,bool) > *arg1 = (Dali::Signal< void (Dali::Actor,bool) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,bool) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_bool_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Actor,bool) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_FocusGroupChangedSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor,bool) > *arg1 = (Dali::Signal< void (Dali::Actor,bool) > *) 0 ;
+  void (*arg2)(Dali::Actor,bool) = (void (*)(Dali::Actor,bool)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,bool) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor,bool))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_bool_SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_FocusGroupChangedSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Actor,bool) > *arg1 = (Dali::Signal< void (Dali::Actor,bool) > *) 0 ;
+  void (*arg2)(Dali::Actor,bool) = (void (*)(Dali::Actor,bool)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,bool) > *)jarg1; 
+  arg2 = (void (*)(Dali::Actor,bool))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_bool_SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_FocusGroupChangedSignal_Emit(void * jarg1, void * jarg2, unsigned int jarg3) {
+  Dali::Signal< void (Dali::Actor,bool) > *arg1 = (Dali::Signal< void (Dali::Actor,bool) > *) 0 ;
+  Dali::Actor arg2 ;
+  bool arg3 ;
+  Dali::Actor *argp2 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,bool) > *)jarg1; 
+  argp2 = (Dali::Actor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = jarg3 ? true : false; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Actor_Sc_bool_SP__Sg__Emit(arg1,arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_FocusGroupChangedSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Actor,bool) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Actor,bool) > *)new Dali::Signal< void (Dali::Actor,bool) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_FocusGroupChangedSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Actor,bool) > *arg1 = (Dali::Signal< void (Dali::Actor,bool) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Actor,bool) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_StyleChangedSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > *arg1 = (Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Toolkit_StyleManager_Sc_Dali_StyleChange_Type_SP__Sg__Empty((Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_StyleChangedSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > *arg1 = (Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Toolkit_StyleManager_Sc_Dali_StyleChange_Type_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_StyleChangedSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > *arg1 = (Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > *) 0 ;
+  void (*arg2)(Dali::Toolkit::StyleManager,Dali::StyleChange::Type) = (void (*)(Dali::Toolkit::StyleManager,Dali::StyleChange::Type)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > *)jarg1; 
+  arg2 = (void (*)(Dali::Toolkit::StyleManager,Dali::StyleChange::Type))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_StyleManager_Sc_Dali_StyleChange_Type_SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_StyleChangedSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > *arg1 = (Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > *) 0 ;
+  void (*arg2)(Dali::Toolkit::StyleManager,Dali::StyleChange::Type) = (void (*)(Dali::Toolkit::StyleManager,Dali::StyleChange::Type)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > *)jarg1; 
+  arg2 = (void (*)(Dali::Toolkit::StyleManager,Dali::StyleChange::Type))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_StyleManager_Sc_Dali_StyleChange_Type_SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_StyleChangedSignal_Emit(void * jarg1, void * jarg2, int jarg3) {
+  Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > *arg1 = (Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > *) 0 ;
+  Dali::Toolkit::StyleManager arg2 ;
+  Dali::StyleChange::Type arg3 ;
+  Dali::Toolkit::StyleManager *argp2 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > *)jarg1; 
+  argp2 = (Dali::Toolkit::StyleManager *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::StyleManager", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::StyleChange::Type)jarg3; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_StyleManager_Sc_Dali_StyleChange_Type_SP__Sg__Emit(arg1,arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_StyleChangedSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > *)new Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_StyleChangedSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > *arg1 = (Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::StyleManager,Dali::StyleChange::Type) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ButtonSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< bool (Dali::Toolkit::Button) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Button) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::Button) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Button_SP__Sg__Empty((Dali::Signal< bool (Dali::Toolkit::Button) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ButtonSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< bool (Dali::Toolkit::Button) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Button) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::Button) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Button_SP__Sg__GetConnectionCount((Dali::Signal< bool (Dali::Toolkit::Button) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ButtonSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool (Dali::Toolkit::Button) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Button) > *) 0 ;
+  bool (*arg2)(Dali::Toolkit::Button) = (bool (*)(Dali::Toolkit::Button)) 0 ;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::Button) > *)jarg1; 
+  arg2 = (bool (*)(Dali::Toolkit::Button))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Button_SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ButtonSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool (Dali::Toolkit::Button) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Button) > *) 0 ;
+  bool (*arg2)(Dali::Toolkit::Button) = (bool (*)(Dali::Toolkit::Button)) 0 ;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::Button) > *)jarg1; 
+  arg2 = (bool (*)(Dali::Toolkit::Button))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Button_SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ButtonSignal_Emit(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Signal< bool (Dali::Toolkit::Button) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Button) > *) 0 ;
+  Dali::Toolkit::Button arg2 ;
+  Dali::Toolkit::Button *argp2 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::Button) > *)jarg1; 
+  argp2 = (Dali::Toolkit::Button *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::Button", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Button_SP__Sg__Emit(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ButtonSignal() {
+  void * jresult ;
+  Dali::Signal< bool (Dali::Toolkit::Button) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< bool (Dali::Toolkit::Button) > *)new Dali::Signal< bool (Dali::Toolkit::Button) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ButtonSignal(void * jarg1) {
+  Dali::Signal< bool (Dali::Toolkit::Button) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Button) > *) 0 ;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::Button) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_GaussianBlurViewSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > *arg1 = (Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Toolkit_GaussianBlurView_SP__Sg__Empty((Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_GaussianBlurViewSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > *arg1 = (Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Toolkit_GaussianBlurView_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_GaussianBlurViewSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > *arg1 = (Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > *) 0 ;
+  void (*arg2)(Dali::Toolkit::GaussianBlurView) = (void (*)(Dali::Toolkit::GaussianBlurView)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > *)jarg1; 
+  arg2 = (void (*)(Dali::Toolkit::GaussianBlurView))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_GaussianBlurView_SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_GaussianBlurViewSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > *arg1 = (Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > *) 0 ;
+  void (*arg2)(Dali::Toolkit::GaussianBlurView) = (void (*)(Dali::Toolkit::GaussianBlurView)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > *)jarg1; 
+  arg2 = (void (*)(Dali::Toolkit::GaussianBlurView))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_GaussianBlurView_SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_GaussianBlurViewSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > *arg1 = (Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > *) 0 ;
+  Dali::Toolkit::GaussianBlurView arg2 ;
+  Dali::Toolkit::GaussianBlurView *argp2 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > *)jarg1; 
+  argp2 = (Dali::Toolkit::GaussianBlurView *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::GaussianBlurView", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_GaussianBlurView_SP__Sg__Emit(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_GaussianBlurViewSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > *)new Dali::Signal< void (Dali::Toolkit::GaussianBlurView) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_GaussianBlurViewSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > *arg1 = (Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::GaussianBlurView) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_PageTurnSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > *arg1 = (Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Toolkit_PageTurnView_Sc_unsigned_SS_int_Sc_bool_SP__Sg__Empty((Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_PageTurnSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > *arg1 = (Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Toolkit_PageTurnView_Sc_unsigned_SS_int_Sc_bool_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PageTurnSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > *arg1 = (Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > *) 0 ;
+  void (*arg2)(Dali::Toolkit::PageTurnView,unsigned int,bool) = (void (*)(Dali::Toolkit::PageTurnView,unsigned int,bool)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > *)jarg1; 
+  arg2 = (void (*)(Dali::Toolkit::PageTurnView,unsigned int,bool))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_PageTurnView_Sc_unsigned_SS_int_Sc_bool_SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PageTurnSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > *arg1 = (Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > *) 0 ;
+  void (*arg2)(Dali::Toolkit::PageTurnView,unsigned int,bool) = (void (*)(Dali::Toolkit::PageTurnView,unsigned int,bool)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > *)jarg1; 
+  arg2 = (void (*)(Dali::Toolkit::PageTurnView,unsigned int,bool))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_PageTurnView_Sc_unsigned_SS_int_Sc_bool_SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PageTurnSignal_Emit(void * jarg1, void * jarg2, unsigned int jarg3, unsigned int jarg4) {
+  Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > *arg1 = (Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > *) 0 ;
+  Dali::Toolkit::PageTurnView arg2 ;
+  unsigned int arg3 ;
+  bool arg4 ;
+  Dali::Toolkit::PageTurnView *argp2 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > *)jarg1; 
+  argp2 = (Dali::Toolkit::PageTurnView *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::PageTurnView", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (unsigned int)jarg3; 
+  arg4 = jarg4 ? true : false; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_PageTurnView_Sc_unsigned_SS_int_Sc_bool_SP__Sg__Emit(arg1,arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PageTurnSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > *)new Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PageTurnSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > *arg1 = (Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::PageTurnView,unsigned int,bool) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_PagePanSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Toolkit::PageTurnView) > *arg1 = (Dali::Signal< void (Dali::Toolkit::PageTurnView) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::PageTurnView) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Toolkit_PageTurnView_SP__Sg__Empty((Dali::Signal< void (Dali::Toolkit::PageTurnView) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_PagePanSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Toolkit::PageTurnView) > *arg1 = (Dali::Signal< void (Dali::Toolkit::PageTurnView) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::PageTurnView) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Toolkit_PageTurnView_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Toolkit::PageTurnView) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PagePanSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::PageTurnView) > *arg1 = (Dali::Signal< void (Dali::Toolkit::PageTurnView) > *) 0 ;
+  void (*arg2)(Dali::Toolkit::PageTurnView) = (void (*)(Dali::Toolkit::PageTurnView)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::PageTurnView) > *)jarg1; 
+  arg2 = (void (*)(Dali::Toolkit::PageTurnView))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_PageTurnView_SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PagePanSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::PageTurnView) > *arg1 = (Dali::Signal< void (Dali::Toolkit::PageTurnView) > *) 0 ;
+  void (*arg2)(Dali::Toolkit::PageTurnView) = (void (*)(Dali::Toolkit::PageTurnView)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::PageTurnView) > *)jarg1; 
+  arg2 = (void (*)(Dali::Toolkit::PageTurnView))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_PageTurnView_SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_PagePanSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::PageTurnView) > *arg1 = (Dali::Signal< void (Dali::Toolkit::PageTurnView) > *) 0 ;
+  Dali::Toolkit::PageTurnView arg2 ;
+  Dali::Toolkit::PageTurnView *argp2 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::PageTurnView) > *)jarg1; 
+  argp2 = (Dali::Toolkit::PageTurnView *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::PageTurnView", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_PageTurnView_SP__Sg__Emit(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_PagePanSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Toolkit::PageTurnView) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Toolkit::PageTurnView) > *)new Dali::Signal< void (Dali::Toolkit::PageTurnView) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_PagePanSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Toolkit::PageTurnView) > *arg1 = (Dali::Signal< void (Dali::Toolkit::PageTurnView) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::PageTurnView) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ProgressBarValueChangedSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *arg1 = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Toolkit_ProgressBar_Sc_float_Sc_float_SP__Sg__Empty((Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ProgressBarValueChangedSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *arg1 = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Toolkit_ProgressBar_Sc_float_Sc_float_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ProgressBarValueChangedSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *arg1 = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *) 0 ;
+  void (*arg2)(Dali::Toolkit::ProgressBar,float,float) = (void (*)(Dali::Toolkit::ProgressBar,float,float)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *)jarg1; 
+  arg2 = (void (*)(Dali::Toolkit::ProgressBar,float,float))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_ProgressBar_Sc_float_Sc_float_SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ProgressBarValueChangedSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *arg1 = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *) 0 ;
+  void (*arg2)(Dali::Toolkit::ProgressBar,float,float) = (void (*)(Dali::Toolkit::ProgressBar,float,float)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *)jarg1; 
+  arg2 = (void (*)(Dali::Toolkit::ProgressBar,float,float))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_ProgressBar_Sc_float_Sc_float_SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ProgressBarValueChangedSignal_Emit(void * jarg1, void * jarg2, float jarg3, float jarg4) {
+  Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *arg1 = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *) 0 ;
+  Dali::Toolkit::ProgressBar arg2 ;
+  float arg3 ;
+  float arg4 ;
+  Dali::Toolkit::ProgressBar *argp2 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *)jarg1; 
+  argp2 = (Dali::Toolkit::ProgressBar *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::ProgressBar", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_ProgressBar_Sc_float_Sc_float_SP__Sg__Emit(arg1,arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ProgressBarValueChangedSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *)new Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ProgressBarValueChangedSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *arg1 = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::ProgressBar,float,float) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ScrollViewSnapStartedSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *arg1 = (Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Toolkit_ScrollView_SnapEvent_SS_const_SA__SP__Sg__Empty((Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ScrollViewSnapStartedSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *arg1 = (Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Toolkit_ScrollView_SnapEvent_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollViewSnapStartedSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *arg1 = (Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *) 0 ;
+  void (*arg2)(Dali::Toolkit::ScrollView::SnapEvent const &) = (void (*)(Dali::Toolkit::ScrollView::SnapEvent const &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Toolkit::ScrollView::SnapEvent const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_ScrollView_SnapEvent_SS_const_SA__SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollViewSnapStartedSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *arg1 = (Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *) 0 ;
+  void (*arg2)(Dali::Toolkit::ScrollView::SnapEvent const &) = (void (*)(Dali::Toolkit::ScrollView::SnapEvent const &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Toolkit::ScrollView::SnapEvent const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_ScrollView_SnapEvent_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollViewSnapStartedSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *arg1 = (Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *) 0 ;
+  Dali::Toolkit::ScrollView::SnapEvent *arg2 = 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *)jarg1; 
+  arg2 = (Dali::Toolkit::ScrollView::SnapEvent *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ScrollView::SnapEvent const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_ScrollView_SnapEvent_SS_const_SA__SP__Sg__Emit(arg1,(Dali::Toolkit::ScrollView::SnapEvent const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ScrollViewSnapStartedSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *)new Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ScrollViewSnapStartedSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *arg1 = (Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::ScrollView::SnapEvent const &) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ScrollableSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Vector2 const &) > *arg1 = (Dali::Signal< void (Dali::Vector2 const &) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Vector2 const &) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Vector2_SS_const_SA__SP__Sg__Empty((Dali::Signal< void (Dali::Vector2 const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ScrollableSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Vector2 const &) > *arg1 = (Dali::Signal< void (Dali::Vector2 const &) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Vector2 const &) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Vector2_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Vector2 const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollableSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Vector2 const &) > *arg1 = (Dali::Signal< void (Dali::Vector2 const &) > *) 0 ;
+  void (*arg2)(Dali::Vector2 const &) = (void (*)(Dali::Vector2 const &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Vector2 const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Vector2 const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Vector2_SS_const_SA__SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollableSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Vector2 const &) > *arg1 = (Dali::Signal< void (Dali::Vector2 const &) > *) 0 ;
+  void (*arg2)(Dali::Vector2 const &) = (void (*)(Dali::Vector2 const &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Vector2 const &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Vector2 const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Vector2_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ScrollableSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Vector2 const &) > *arg1 = (Dali::Signal< void (Dali::Vector2 const &) > *) 0 ;
+  Dali::Vector2 *arg2 = 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Vector2 const &) > *)jarg1; 
+  arg2 = (Dali::Vector2 *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Vector2 const & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Vector2_SS_const_SA__SP__Sg__Emit(arg1,(Dali::Vector2 const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ScrollableSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Vector2 const &) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Vector2 const &) > *)new Dali::Signal< void (Dali::Vector2 const &) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ScrollableSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Vector2 const &) > *arg1 = (Dali::Signal< void (Dali::Vector2 const &) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Vector2 const &) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TextEditorSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Toolkit::TextEditor) > *arg1 = (Dali::Signal< void (Dali::Toolkit::TextEditor) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::TextEditor) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Toolkit_TextEditor_SP__Sg__Empty((Dali::Signal< void (Dali::Toolkit::TextEditor) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TextEditorSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Toolkit::TextEditor) > *arg1 = (Dali::Signal< void (Dali::Toolkit::TextEditor) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::TextEditor) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Toolkit_TextEditor_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Toolkit::TextEditor) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TextEditorSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::TextEditor) > *arg1 = (Dali::Signal< void (Dali::Toolkit::TextEditor) > *) 0 ;
+  void (*arg2)(Dali::Toolkit::TextEditor) = (void (*)(Dali::Toolkit::TextEditor)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::TextEditor) > *)jarg1; 
+  arg2 = (void (*)(Dali::Toolkit::TextEditor))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_TextEditor_SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TextEditorSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::TextEditor) > *arg1 = (Dali::Signal< void (Dali::Toolkit::TextEditor) > *) 0 ;
+  void (*arg2)(Dali::Toolkit::TextEditor) = (void (*)(Dali::Toolkit::TextEditor)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::TextEditor) > *)jarg1; 
+  arg2 = (void (*)(Dali::Toolkit::TextEditor))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_TextEditor_SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TextEditorSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::TextEditor) > *arg1 = (Dali::Signal< void (Dali::Toolkit::TextEditor) > *) 0 ;
+  Dali::Toolkit::TextEditor arg2 ;
+  Dali::Toolkit::TextEditor *argp2 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::TextEditor) > *)jarg1; 
+  argp2 = (Dali::Toolkit::TextEditor *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::TextEditor", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_TextEditor_SP__Sg__Emit(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TextEditorSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Toolkit::TextEditor) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Toolkit::TextEditor) > *)new Dali::Signal< void (Dali::Toolkit::TextEditor) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TextEditorSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Toolkit::TextEditor) > *arg1 = (Dali::Signal< void (Dali::Toolkit::TextEditor) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::TextEditor) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_TextFieldSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Toolkit::TextField) > *arg1 = (Dali::Signal< void (Dali::Toolkit::TextField) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::TextField) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Toolkit_TextField_SP__Sg__Empty((Dali::Signal< void (Dali::Toolkit::TextField) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_TextFieldSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Toolkit::TextField) > *arg1 = (Dali::Signal< void (Dali::Toolkit::TextField) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::TextField) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Toolkit_TextField_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Toolkit::TextField) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TextFieldSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::TextField) > *arg1 = (Dali::Signal< void (Dali::Toolkit::TextField) > *) 0 ;
+  void (*arg2)(Dali::Toolkit::TextField) = (void (*)(Dali::Toolkit::TextField)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::TextField) > *)jarg1; 
+  arg2 = (void (*)(Dali::Toolkit::TextField))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_TextField_SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TextFieldSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::TextField) > *arg1 = (Dali::Signal< void (Dali::Toolkit::TextField) > *) 0 ;
+  void (*arg2)(Dali::Toolkit::TextField) = (void (*)(Dali::Toolkit::TextField)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::TextField) > *)jarg1; 
+  arg2 = (void (*)(Dali::Toolkit::TextField))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_TextField_SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_TextFieldSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::TextField) > *arg1 = (Dali::Signal< void (Dali::Toolkit::TextField) > *) 0 ;
+  Dali::Toolkit::TextField arg2 ;
+  Dali::Toolkit::TextField *argp2 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::TextField) > *)jarg1; 
+  argp2 = (Dali::Toolkit::TextField *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::TextField", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_TextField_SP__Sg__Emit(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_TextFieldSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Toolkit::TextField) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Toolkit::TextField) > *)new Dali::Signal< void (Dali::Toolkit::TextField) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TextFieldSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Toolkit::TextField) > *arg1 = (Dali::Signal< void (Dali::Toolkit::TextField) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::TextField) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ControlKeySignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Control_Sc_Dali_KeyEvent_SS_const_SA__SP__Sg__Empty((Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ControlKeySignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Control_Sc_Dali_KeyEvent_SS_const_SA__SP__Sg__GetConnectionCount((Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ControlKeySignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *) 0 ;
+  bool (*arg2)(Dali::Toolkit::Control,Dali::KeyEvent const &) = (bool (*)(Dali::Toolkit::Control,Dali::KeyEvent const &)) 0 ;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *)jarg1; 
+  arg2 = (bool (*)(Dali::Toolkit::Control,Dali::KeyEvent const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Control_Sc_Dali_KeyEvent_SS_const_SA__SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ControlKeySignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *) 0 ;
+  bool (*arg2)(Dali::Toolkit::Control,Dali::KeyEvent const &) = (bool (*)(Dali::Toolkit::Control,Dali::KeyEvent const &)) 0 ;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *)jarg1; 
+  arg2 = (bool (*)(Dali::Toolkit::Control,Dali::KeyEvent const &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Control_Sc_Dali_KeyEvent_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_ControlKeySignal_Emit(void * jarg1, void * jarg2, void * jarg3) {
+  unsigned int jresult ;
+  Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *) 0 ;
+  Dali::Toolkit::Control arg2 ;
+  Dali::KeyEvent *arg3 = 0 ;
+  Dali::Toolkit::Control *argp2 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *)jarg1; 
+  argp2 = (Dali::Toolkit::Control *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::Control", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  arg3 = (Dali::KeyEvent *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::KeyEvent const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Control_Sc_Dali_KeyEvent_SS_const_SA__SP__Sg__Emit(arg1,arg2,(Dali::KeyEvent const &)*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ControlKeySignal() {
+  void * jresult ;
+  Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *)new Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ControlKeySignal(void * jarg1) {
+  Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *) 0 ;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::Control,Dali::KeyEvent const &) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_KeyInputFocusSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Toolkit::Control) > *arg1 = (Dali::Signal< void (Dali::Toolkit::Control) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::Control) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Toolkit_Control_SP__Sg__Empty((Dali::Signal< void (Dali::Toolkit::Control) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_KeyInputFocusSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Toolkit::Control) > *arg1 = (Dali::Signal< void (Dali::Toolkit::Control) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::Control) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Toolkit_Control_SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Toolkit::Control) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyInputFocusSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::Control) > *arg1 = (Dali::Signal< void (Dali::Toolkit::Control) > *) 0 ;
+  void (*arg2)(Dali::Toolkit::Control) = (void (*)(Dali::Toolkit::Control)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::Control) > *)jarg1; 
+  arg2 = (void (*)(Dali::Toolkit::Control))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_Control_SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyInputFocusSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::Control) > *arg1 = (Dali::Signal< void (Dali::Toolkit::Control) > *) 0 ;
+  void (*arg2)(Dali::Toolkit::Control) = (void (*)(Dali::Toolkit::Control)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::Control) > *)jarg1; 
+  arg2 = (void (*)(Dali::Toolkit::Control))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_Control_SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_KeyInputFocusSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::Control) > *arg1 = (Dali::Signal< void (Dali::Toolkit::Control) > *) 0 ;
+  Dali::Toolkit::Control arg2 ;
+  Dali::Toolkit::Control *argp2 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::Control) > *)jarg1; 
+  argp2 = (Dali::Toolkit::Control *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::Control", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_Control_SP__Sg__Emit(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_KeyInputFocusSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Toolkit::Control) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Toolkit::Control) > *)new Dali::Signal< void (Dali::Toolkit::Control) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_KeyInputFocusSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Toolkit::Control) > *arg1 = (Dali::Signal< void (Dali::Toolkit::Control) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::Control) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_VideoViewSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< void (Dali::Toolkit::VideoView &) > *arg1 = (Dali::Signal< void (Dali::Toolkit::VideoView &) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::VideoView &) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_void_Sp_Dali_Toolkit_VideoView_SA__SP__Sg__Empty((Dali::Signal< void (Dali::Toolkit::VideoView &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_VideoViewSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< void (Dali::Toolkit::VideoView &) > *arg1 = (Dali::Signal< void (Dali::Toolkit::VideoView &) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::VideoView &) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_void_Sp_Dali_Toolkit_VideoView_SA__SP__Sg__GetConnectionCount((Dali::Signal< void (Dali::Toolkit::VideoView &) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VideoViewSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::VideoView &) > *arg1 = (Dali::Signal< void (Dali::Toolkit::VideoView &) > *) 0 ;
+  void (*arg2)(Dali::Toolkit::VideoView &) = (void (*)(Dali::Toolkit::VideoView &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::VideoView &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Toolkit::VideoView &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_VideoView_SA__SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VideoViewSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::VideoView &) > *arg1 = (Dali::Signal< void (Dali::Toolkit::VideoView &) > *) 0 ;
+  void (*arg2)(Dali::Toolkit::VideoView &) = (void (*)(Dali::Toolkit::VideoView &)) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::VideoView &) > *)jarg1; 
+  arg2 = (void (*)(Dali::Toolkit::VideoView &))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_VideoView_SA__SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_VideoViewSignal_Emit(void * jarg1, void * jarg2) {
+  Dali::Signal< void (Dali::Toolkit::VideoView &) > *arg1 = (Dali::Signal< void (Dali::Toolkit::VideoView &) > *) 0 ;
+  Dali::Toolkit::VideoView *arg2 = 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::VideoView &) > *)jarg1; 
+  arg2 = (Dali::Toolkit::VideoView *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::VideoView & type is null", 0);
+    return ;
+  } 
+  {
+    try {
+      Dali_Signal_Sl_void_Sp_Dali_Toolkit_VideoView_SA__SP__Sg__Emit(arg1,*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_VideoViewSignal() {
+  void * jresult ;
+  Dali::Signal< void (Dali::Toolkit::VideoView &) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< void (Dali::Toolkit::VideoView &) > *)new Dali::Signal< void (Dali::Toolkit::VideoView &) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_VideoViewSignal(void * jarg1) {
+  Dali::Signal< void (Dali::Toolkit::VideoView &) > *arg1 = (Dali::Signal< void (Dali::Toolkit::VideoView &) > *) 0 ;
+  
+  arg1 = (Dali::Signal< void (Dali::Toolkit::VideoView &) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_SliderValueChangedSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< bool (Dali::Toolkit::Slider,float) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Slider,float) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::Slider,float) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Slider_Sc_float_SP__Sg__Empty((Dali::Signal< bool (Dali::Toolkit::Slider,float) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_SliderValueChangedSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< bool (Dali::Toolkit::Slider,float) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Slider,float) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::Slider,float) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Slider_Sc_float_SP__Sg__GetConnectionCount((Dali::Signal< bool (Dali::Toolkit::Slider,float) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_SliderValueChangedSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool (Dali::Toolkit::Slider,float) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Slider,float) > *) 0 ;
+  bool (*arg2)(Dali::Toolkit::Slider,float) = (bool (*)(Dali::Toolkit::Slider,float)) 0 ;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::Slider,float) > *)jarg1; 
+  arg2 = (bool (*)(Dali::Toolkit::Slider,float))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Slider_Sc_float_SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_SliderValueChangedSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool (Dali::Toolkit::Slider,float) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Slider,float) > *) 0 ;
+  bool (*arg2)(Dali::Toolkit::Slider,float) = (bool (*)(Dali::Toolkit::Slider,float)) 0 ;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::Slider,float) > *)jarg1; 
+  arg2 = (bool (*)(Dali::Toolkit::Slider,float))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Slider_Sc_float_SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_SliderValueChangedSignal_Emit(void * jarg1, void * jarg2, float jarg3) {
+  unsigned int jresult ;
+  Dali::Signal< bool (Dali::Toolkit::Slider,float) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Slider,float) > *) 0 ;
+  Dali::Toolkit::Slider arg2 ;
+  float arg3 ;
+  Dali::Toolkit::Slider *argp2 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::Slider,float) > *)jarg1; 
+  argp2 = (Dali::Toolkit::Slider *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::Slider", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Slider_Sc_float_SP__Sg__Emit(arg1,arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_SliderValueChangedSignal() {
+  void * jresult ;
+  Dali::Signal< bool (Dali::Toolkit::Slider,float) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< bool (Dali::Toolkit::Slider,float) > *)new Dali::Signal< bool (Dali::Toolkit::Slider,float) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_SliderValueChangedSignal(void * jarg1) {
+  Dali::Signal< bool (Dali::Toolkit::Slider,float) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Slider,float) > *) 0 ;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::Slider,float) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_SliderMarkReachedSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< bool (Dali::Toolkit::Slider,int) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Slider,int) > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::Slider,int) > *)jarg1; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Slider_Sc_int_SP__Sg__Empty((Dali::Signal< bool (Dali::Toolkit::Slider,int) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_SliderMarkReachedSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< bool (Dali::Toolkit::Slider,int) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Slider,int) > *) 0 ;
+  std::size_t result;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::Slider,int) > *)jarg1; 
+  {
+    try {
+      result = Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Slider_Sc_int_SP__Sg__GetConnectionCount((Dali::Signal< bool (Dali::Toolkit::Slider,int) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_SliderMarkReachedSignal_Connect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool (Dali::Toolkit::Slider,int) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Slider,int) > *) 0 ;
+  bool (*arg2)(Dali::Toolkit::Slider,int) = (bool (*)(Dali::Toolkit::Slider,int)) 0 ;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::Slider,int) > *)jarg1; 
+  arg2 = (bool (*)(Dali::Toolkit::Slider,int))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Slider_Sc_int_SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_SliderMarkReachedSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< bool (Dali::Toolkit::Slider,int) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Slider,int) > *) 0 ;
+  bool (*arg2)(Dali::Toolkit::Slider,int) = (bool (*)(Dali::Toolkit::Slider,int)) 0 ;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::Slider,int) > *)jarg1; 
+  arg2 = (bool (*)(Dali::Toolkit::Slider,int))jarg2; 
+  {
+    try {
+      Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Slider_Sc_int_SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_SliderMarkReachedSignal_Emit(void * jarg1, void * jarg2, int jarg3) {
+  unsigned int jresult ;
+  Dali::Signal< bool (Dali::Toolkit::Slider,int) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Slider,int) > *) 0 ;
+  Dali::Toolkit::Slider arg2 ;
+  int arg3 ;
+  Dali::Toolkit::Slider *argp2 ;
+  bool result;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::Slider,int) > *)jarg1; 
+  argp2 = (Dali::Toolkit::Slider *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::Slider", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  arg3 = (int)jarg3; 
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_bool_Sp_Dali_Toolkit_Slider_Sc_int_SP__Sg__Emit(arg1,arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_SliderMarkReachedSignal() {
+  void * jresult ;
+  Dali::Signal< bool (Dali::Toolkit::Slider,int) > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::Signal< bool (Dali::Toolkit::Slider,int) > *)new Dali::Signal< bool (Dali::Toolkit::Slider,int) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_SliderMarkReachedSignal(void * jarg1) {
+  Dali::Signal< bool (Dali::Toolkit::Slider,int) > *arg1 = (Dali::Signal< bool (Dali::Toolkit::Slider,int) > *) 0 ;
+  
+  arg1 = (Dali::Signal< bool (Dali::Toolkit::Slider,int) > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RulerPtr__SWIG_0() {
+  void * jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *result = 0 ;
+  
+  {
+    try {
+      result = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)new Dali::IntrusivePtr< Dali::Toolkit::Ruler >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RulerPtr__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Ruler *arg1 = (Dali::Toolkit::Ruler *) 0 ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *result = 0 ;
+  
+  arg1 = (Dali::Toolkit::Ruler *)jarg1; 
+  {
+    try {
+      result = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)new Dali::IntrusivePtr< Dali::Toolkit::Ruler >(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_RulerPtr__SWIG_2(void * jarg1) {
+  void * jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = 0 ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *result = 0 ;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::IntrusivePtr< Dali::Toolkit::Ruler > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)new Dali::IntrusivePtr< Dali::Toolkit::Ruler >((Dali::IntrusivePtr< Dali::Toolkit::Ruler > const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_RulerPtr(void * jarg1) {
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RulerPtr_Get(void * jarg1) {
+  void * jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  Dali::Toolkit::Ruler *result = 0 ;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Ruler *)((Dali::IntrusivePtr< Dali::Toolkit::Ruler > const *)arg1)->Get();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RulerPtr___deref__(void * jarg1) {
+  void * jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  Dali::Toolkit::Ruler *result = 0 ;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Ruler *)((Dali::IntrusivePtr< Dali::Toolkit::Ruler > const *)arg1)->operator ->();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RulerPtr___ref__(void * jarg1) {
+  void * jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  Dali::Toolkit::Ruler *result = 0 ;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Ruler *) &((Dali::IntrusivePtr< Dali::Toolkit::Ruler > const *)arg1)->operator *();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RulerPtr_Assign__SWIG_0(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg2 = 0 ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *result = 0 ;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  arg2 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::IntrusivePtr< Dali::Toolkit::Ruler > const & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) &(arg1)->operator =((Dali::IntrusivePtr< Dali::Toolkit::Ruler > const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RulerPtr_Assign__SWIG_1(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  Dali::Toolkit::Ruler *arg2 = (Dali::Toolkit::Ruler *) 0 ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *result = 0 ;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  arg2 = (Dali::Toolkit::Ruler *)jarg2; 
+  {
+    try {
+      result = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) &(arg1)->operator =(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RulerPtr_Reset__SWIG_0(void * jarg1) {
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  {
+    try {
+      (arg1)->Reset();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RulerPtr_Reset__SWIG_1(void * jarg1, void * jarg2) {
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  Dali::Toolkit::Ruler *arg2 = (Dali::Toolkit::Ruler *) 0 ;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  arg2 = (Dali::Toolkit::Ruler *)jarg2; 
+  {
+    try {
+      (arg1)->Reset(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RulerPtr_Detach(void * jarg1) {
+  void * jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  Dali::Toolkit::Ruler *result = 0 ;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Ruler *)(arg1)->Detach();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RulerPtr_Snap__SWIG_0(void * jarg1, float jarg2, float jarg3) {
+  float jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float result;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      result = (float)(*arg1)->Snap(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RulerPtr_Snap__SWIG_1(void * jarg1, float jarg2) {
+  float jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  float arg2 ;
+  float result;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (float)(*arg1)->Snap(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RulerPtr_GetPositionFromPage(void * jarg1, unsigned int jarg2, unsigned int * jarg3, unsigned int jarg4) {
+  float jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  unsigned int arg2 ;
+  unsigned int *arg3 = 0 ;
+  bool arg4 ;
+  float result;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  arg3 = (unsigned int *)jarg3; 
+  arg4 = jarg4 ? true : false; 
+  {
+    try {
+      result = (float)(*arg1)->GetPositionFromPage(arg2,*arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RulerPtr_GetPageFromPosition(void * jarg1, float jarg2, unsigned int jarg3) {
+  unsigned int jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  float arg2 ;
+  bool arg3 ;
+  unsigned int result;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = jarg3 ? true : false; 
+  {
+    try {
+      result = (unsigned int)(*arg1)->GetPageFromPosition(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RulerPtr_GetTotalPages(void * jarg1) {
+  unsigned int jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  unsigned int result;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  {
+    try {
+      result = (unsigned int)(*arg1)->GetTotalPages();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RulerPtr_GetType(void * jarg1) {
+  int jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  Dali::Toolkit::Ruler::RulerType result;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::Ruler::RulerType)(*arg1)->GetType();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (int)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_RulerPtr_IsEnabled(void * jarg1) {
+  unsigned int jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  bool result;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  {
+    try {
+      result = (bool)(*arg1)->IsEnabled();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RulerPtr_Enable(void * jarg1) {
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  {
+    try {
+      (*arg1)->Enable();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RulerPtr_Disable(void * jarg1) {
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  {
+    try {
+      (*arg1)->Disable();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RulerPtr_SetDomain(void * jarg1, void * jarg2) {
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  SwigValueWrapper< Dali::Toolkit::RulerDomain > arg2 ;
+  Dali::Toolkit::RulerDomain *argp2 ;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  argp2 = (Dali::Toolkit::RulerDomain *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Toolkit::RulerDomain", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  {
+    try {
+      (*arg1)->SetDomain(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_RulerPtr_GetDomain(void * jarg1) {
+  void * jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  Dali::Toolkit::RulerDomain *result = 0 ;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  {
+    try {
+      result = (Dali::Toolkit::RulerDomain *) &(*arg1)->GetDomain();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RulerPtr_DisableDomain(void * jarg1) {
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  {
+    try {
+      (*arg1)->DisableDomain();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RulerPtr_Clamp__SWIG_0(void * jarg1, float jarg2, float jarg3, float jarg4) {
+  float jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  float result;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  {
+    try {
+      result = (float)(*arg1)->Clamp(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RulerPtr_Clamp__SWIG_1(void * jarg1, float jarg2, float jarg3) {
+  float jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float result;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      result = (float)(*arg1)->Clamp(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RulerPtr_Clamp__SWIG_2(void * jarg1, float jarg2) {
+  float jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  float arg2 ;
+  float result;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (float)(*arg1)->Clamp(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RulerPtr_Clamp__SWIG_3(void * jarg1, float jarg2, float jarg3, float jarg4, void * jarg5) {
+  float jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  Dali::Toolkit::ClampState *arg5 = 0 ;
+  float result;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  arg5 = (Dali::Toolkit::ClampState *)jarg5;
+  if (!arg5) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ClampState & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (float)(*arg1)->Clamp(arg2,arg3,arg4,*arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RulerPtr_SnapAndClamp__SWIG_0(void * jarg1, float jarg2, float jarg3, float jarg4, float jarg5) {
+  float jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  float arg5 ;
+  float result;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  arg5 = (float)jarg5; 
+  {
+    try {
+      result = (float)(*arg1)->SnapAndClamp(arg2,arg3,arg4,arg5);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RulerPtr_SnapAndClamp__SWIG_1(void * jarg1, float jarg2, float jarg3, float jarg4) {
+  float jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  float result;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  {
+    try {
+      result = (float)(*arg1)->SnapAndClamp(arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RulerPtr_SnapAndClamp__SWIG_2(void * jarg1, float jarg2, float jarg3) {
+  float jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float result;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  {
+    try {
+      result = (float)(*arg1)->SnapAndClamp(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RulerPtr_SnapAndClamp__SWIG_3(void * jarg1, float jarg2) {
+  float jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  float arg2 ;
+  float result;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  arg2 = (float)jarg2; 
+  {
+    try {
+      result = (float)(*arg1)->SnapAndClamp(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_Dali_RulerPtr_SnapAndClamp__SWIG_4(void * jarg1, float jarg2, float jarg3, float jarg4, float jarg5, void * jarg6) {
+  float jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  float arg2 ;
+  float arg3 ;
+  float arg4 ;
+  float arg5 ;
+  Dali::Toolkit::ClampState *arg6 = 0 ;
+  float result;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  arg2 = (float)jarg2; 
+  arg3 = (float)jarg3; 
+  arg4 = (float)jarg4; 
+  arg5 = (float)jarg5; 
+  arg6 = (Dali::Toolkit::ClampState *)jarg6;
+  if (!arg6) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ClampState & type is null", 0);
+    return 0;
+  } 
+  {
+    try {
+      result = (float)(*arg1)->SnapAndClamp(arg2,arg3,arg4,arg5,*arg6);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RulerPtr_Reference(void * jarg1) {
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  {
+    try {
+      (*arg1)->Reference();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_RulerPtr_Unreference(void * jarg1) {
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  {
+    try {
+      (*arg1)->Unreference();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ; 
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_RulerPtr_ReferenceCount(void * jarg1) {
+  int jresult ;
+  Dali::IntrusivePtr< Dali::Toolkit::Ruler > *arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *) 0 ;
+  int result;
+  
+  arg1 = (Dali::IntrusivePtr< Dali::Toolkit::Ruler > *)jarg1; 
+  {
+    try {
+      result = (int)(*arg1)->ReferenceCount();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0; 
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0; 
+      };
+    }
+  }
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT Dali::RefObject * SWIGSTDCALL CSharp_Dali_BaseObject_SWIGUpcast(Dali::BaseObject *jarg1) {
+    return (Dali::RefObject *)jarg1;
+}
+
+SWIGEXPORT Dali::SignalObserver * SWIGSTDCALL CSharp_Dali_ConnectionTrackerInterface_SWIGUpcast(Dali::ConnectionTrackerInterface *jarg1) {
+    return (Dali::SignalObserver *)jarg1;
+}
+
+SWIGEXPORT Dali::ConnectionTrackerInterface * SWIGSTDCALL CSharp_Dali_ConnectionTracker_SWIGUpcast(Dali::ConnectionTracker *jarg1) {
+    return (Dali::ConnectionTrackerInterface *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_ObjectRegistry_SWIGUpcast(Dali::ObjectRegistry *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_PropertyCondition_SWIGUpcast(Dali::PropertyCondition *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_PropertyNotification_SWIGUpcast(Dali::PropertyNotification *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_Handle_SWIGUpcast(Dali::Handle *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_TypeInfo_SWIGUpcast(Dali::TypeInfo *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_TypeRegistry_SWIGUpcast(Dali::TypeRegistry *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_Image_SWIGUpcast(Dali::Image *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_PixelData_SWIGUpcast(Dali::PixelData *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_Texture_SWIGUpcast(Dali::Texture *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_Sampler_SWIGUpcast(Dali::Sampler *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_TextureSet_SWIGUpcast(Dali::TextureSet *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_PropertyBuffer_SWIGUpcast(Dali::PropertyBuffer *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_Geometry_SWIGUpcast(Dali::Geometry *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::Handle * SWIGSTDCALL CSharp_Dali_Shader_SWIGUpcast(Dali::Shader *jarg1) {
+    return (Dali::Handle *)jarg1;
+}
+
+SWIGEXPORT Dali::Handle * SWIGSTDCALL CSharp_Dali_Renderer_SWIGUpcast(Dali::Renderer *jarg1) {
+    return (Dali::Handle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_FrameBuffer_SWIGUpcast(Dali::FrameBuffer *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_RenderTaskList_SWIGUpcast(Dali::RenderTaskList *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::Handle * SWIGSTDCALL CSharp_Dali_RenderTask_SWIGUpcast(Dali::RenderTask *jarg1) {
+    return (Dali::Handle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_Touch_SWIGUpcast(Dali::TouchData *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::Handle * SWIGSTDCALL CSharp_Dali_GestureDetector_SWIGUpcast(Dali::GestureDetector *jarg1) {
+    return (Dali::Handle *)jarg1;
+}
+
+SWIGEXPORT Dali::GestureDetector * SWIGSTDCALL CSharp_Dali_LongPressGestureDetector_SWIGUpcast(Dali::LongPressGestureDetector *jarg1) {
+    return (Dali::GestureDetector *)jarg1;
+}
+
+SWIGEXPORT Dali::Gesture * SWIGSTDCALL CSharp_Dali_LongPressGesture_SWIGUpcast(Dali::LongPressGesture *jarg1) {
+    return (Dali::Gesture *)jarg1;
+}
+
+SWIGEXPORT Dali::Handle * SWIGSTDCALL CSharp_Dali_Actor_SWIGUpcast(Dali::Actor *jarg1) {
+    return (Dali::Handle *)jarg1;
+}
+
+SWIGEXPORT Dali::Actor * SWIGSTDCALL CSharp_Dali_Layer_SWIGUpcast(Dali::Layer *jarg1) {
+    return (Dali::Actor *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_Stage_SWIGUpcast(Dali::Stage *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::RefObject * SWIGSTDCALL CSharp_Dali_CustomActorImpl_SWIGUpcast(Dali::CustomActorImpl *jarg1) {
+    return (Dali::RefObject *)jarg1;
+}
+
+SWIGEXPORT Dali::Actor * SWIGSTDCALL CSharp_Dali_CustomActor_SWIGUpcast(Dali::CustomActor *jarg1) {
+    return (Dali::Actor *)jarg1;
+}
+
+SWIGEXPORT Dali::GestureDetector * SWIGSTDCALL CSharp_Dali_PanGestureDetector_SWIGUpcast(Dali::PanGestureDetector *jarg1) {
+    return (Dali::GestureDetector *)jarg1;
+}
+
+SWIGEXPORT Dali::Gesture * SWIGSTDCALL CSharp_Dali_PanGesture_SWIGUpcast(Dali::PanGesture *jarg1) {
+    return (Dali::Gesture *)jarg1;
+}
+
+SWIGEXPORT Dali::GestureDetector * SWIGSTDCALL CSharp_Dali_PinchGestureDetector_SWIGUpcast(Dali::PinchGestureDetector *jarg1) {
+    return (Dali::GestureDetector *)jarg1;
+}
+
+SWIGEXPORT Dali::Gesture * SWIGSTDCALL CSharp_Dali_PinchGesture_SWIGUpcast(Dali::PinchGesture *jarg1) {
+    return (Dali::Gesture *)jarg1;
+}
+
+SWIGEXPORT Dali::GestureDetector * SWIGSTDCALL CSharp_Dali_TapGestureDetector_SWIGUpcast(Dali::TapGestureDetector *jarg1) {
+    return (Dali::GestureDetector *)jarg1;
+}
+
+SWIGEXPORT Dali::Gesture * SWIGSTDCALL CSharp_Dali_TapGesture_SWIGUpcast(Dali::TapGesture *jarg1) {
+    return (Dali::Gesture *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_KeyFrames_SWIGUpcast(Dali::KeyFrames *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::Handle * SWIGSTDCALL CSharp_Dali_Path_SWIGUpcast(Dali::Path *jarg1) {
+    return (Dali::Handle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_Animation_SWIGUpcast(Dali::Animation *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::Handle * SWIGSTDCALL CSharp_Dali_LinearConstrainer_SWIGUpcast(Dali::LinearConstrainer *jarg1) {
+    return (Dali::Handle *)jarg1;
+}
+
+SWIGEXPORT Dali::Handle * SWIGSTDCALL CSharp_Dali_PathConstrainer_SWIGUpcast(Dali::PathConstrainer *jarg1) {
+    return (Dali::Handle *)jarg1;
+}
+
+SWIGEXPORT Dali::Image * SWIGSTDCALL CSharp_Dali_BufferImage_SWIGUpcast(Dali::BufferImage *jarg1) {
+    return (Dali::Image *)jarg1;
+}
+
+SWIGEXPORT Dali::Image * SWIGSTDCALL CSharp_Dali_EncodedBufferImage_SWIGUpcast(Dali::EncodedBufferImage *jarg1) {
+    return (Dali::Image *)jarg1;
+}
+
+SWIGEXPORT Dali::Image * SWIGSTDCALL CSharp_Dali_NativeImage_SWIGUpcast(Dali::NativeImage *jarg1) {
+    return (Dali::Image *)jarg1;
+}
+
+SWIGEXPORT Dali::RefObject * SWIGSTDCALL CSharp_Dali_NativeImageInterface_SWIGUpcast(Dali::NativeImageInterface *jarg1) {
+    return (Dali::RefObject *)jarg1;
+}
+
+SWIGEXPORT Dali::Image * SWIGSTDCALL CSharp_Dali_ResourceImage_SWIGUpcast(Dali::ResourceImage *jarg1) {
+    return (Dali::Image *)jarg1;
+}
+
+SWIGEXPORT Dali::Image * SWIGSTDCALL CSharp_Dali_FrameBufferImage_SWIGUpcast(Dali::FrameBufferImage *jarg1) {
+    return (Dali::Image *)jarg1;
+}
+
+SWIGEXPORT Dali::ResourceImage * SWIGSTDCALL CSharp_Dali_NinePatchImage_SWIGUpcast(Dali::NinePatchImage *jarg1) {
+    return (Dali::ResourceImage *)jarg1;
+}
+
+SWIGEXPORT Dali::Actor * SWIGSTDCALL CSharp_Dali_CameraActor_SWIGUpcast(Dali::CameraActor *jarg1) {
+    return (Dali::Actor *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_Timer_SWIGUpcast(Dali::Timer *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_DragAndDropDetector_SWIGUpcast(Dali::DragAndDropDetector *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_Window_SWIGUpcast(Dali::Window *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_Application_SWIGUpcast(Dali::Application *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_Builder_SWIGUpcast(Dali::Toolkit::Builder *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_TransitionData_SWIGUpcast(Dali::Toolkit::TransitionData *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::CustomActorImpl * SWIGSTDCALL CSharp_Dali_ViewImpl_SWIGUpcast(Dali::Toolkit::Internal::Control *jarg1) {
+    return (Dali::CustomActorImpl *)jarg1;
+}
+
+SWIGEXPORT Dali::CustomActor * SWIGSTDCALL CSharp_Dali_View_SWIGUpcast(Dali::Toolkit::Control *jarg1) {
+    return (Dali::CustomActor *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_KeyInputFocusManager_SWIGUpcast(Dali::Toolkit::KeyInputFocusManager *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Control * SWIGSTDCALL CSharp_Dali_Alignment_SWIGUpcast(Dali::Toolkit::Alignment *jarg1) {
+    return (Dali::Toolkit::Control *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Control * SWIGSTDCALL CSharp_Dali_Button_SWIGUpcast(Dali::Toolkit::Button *jarg1) {
+    return (Dali::Toolkit::Control *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Button * SWIGSTDCALL CSharp_Dali_CheckBoxButton_SWIGUpcast(Dali::Toolkit::CheckBoxButton *jarg1) {
+    return (Dali::Toolkit::Button *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Button * SWIGSTDCALL CSharp_Dali_PushButton_SWIGUpcast(Dali::Toolkit::PushButton *jarg1) {
+    return (Dali::Toolkit::Button *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Button * SWIGSTDCALL CSharp_Dali_RadioButton_SWIGUpcast(Dali::Toolkit::RadioButton *jarg1) {
+    return (Dali::Toolkit::Button *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Control * SWIGSTDCALL CSharp_Dali_FlexContainer_SWIGUpcast(Dali::Toolkit::FlexContainer *jarg1) {
+    return (Dali::Toolkit::Control *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Control * SWIGSTDCALL CSharp_Dali_ImageView_SWIGUpcast(Dali::Toolkit::ImageView *jarg1) {
+    return (Dali::Toolkit::Control *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Control * SWIGSTDCALL CSharp_Dali_Model3dView_SWIGUpcast(Dali::Toolkit::Model3dView *jarg1) {
+    return (Dali::Toolkit::Control *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Control * SWIGSTDCALL CSharp_Dali_ScrollBar_SWIGUpcast(Dali::Toolkit::ScrollBar *jarg1) {
+    return (Dali::Toolkit::Control *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Control * SWIGSTDCALL CSharp_Dali_Scrollable_SWIGUpcast(Dali::Toolkit::Scrollable *jarg1) {
+    return (Dali::Toolkit::Control *)jarg1;
+}
+
+SWIGEXPORT Dali::RefObject * SWIGSTDCALL CSharp_Dali_ItemLayout_SWIGUpcast(Dali::Toolkit::ItemLayout *jarg1) {
+    return (Dali::RefObject *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Scrollable * SWIGSTDCALL CSharp_Dali_ItemView_SWIGUpcast(Dali::Toolkit::ItemView *jarg1) {
+    return (Dali::Toolkit::Scrollable *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_ScrollViewEffect_SWIGUpcast(Dali::Toolkit::ScrollViewEffect *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::ScrollViewEffect * SWIGSTDCALL CSharp_Dali_ScrollViewPagePathEffect_SWIGUpcast(Dali::Toolkit::ScrollViewPagePathEffect *jarg1) {
+    return (Dali::Toolkit::ScrollViewEffect *)jarg1;
+}
+
+SWIGEXPORT Dali::RefObject * SWIGSTDCALL CSharp_Dali_Ruler_SWIGUpcast(Dali::Toolkit::Ruler *jarg1) {
+    return (Dali::RefObject *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Ruler * SWIGSTDCALL CSharp_Dali_DefaultRuler_SWIGUpcast(Dali::Toolkit::DefaultRuler *jarg1) {
+    return (Dali::Toolkit::Ruler *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Ruler * SWIGSTDCALL CSharp_Dali_FixedRuler_SWIGUpcast(Dali::Toolkit::FixedRuler *jarg1) {
+    return (Dali::Toolkit::Ruler *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Scrollable * SWIGSTDCALL CSharp_Dali_ScrollView_SWIGUpcast(Dali::Toolkit::ScrollView *jarg1) {
+    return (Dali::Toolkit::Scrollable *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Control * SWIGSTDCALL CSharp_Dali_TableView_SWIGUpcast(Dali::Toolkit::TableView *jarg1) {
+    return (Dali::Toolkit::Control *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Control * SWIGSTDCALL CSharp_Dali_TextEditor_SWIGUpcast(Dali::Toolkit::TextEditor *jarg1) {
+    return (Dali::Toolkit::Control *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Control * SWIGSTDCALL CSharp_Dali_TextField_SWIGUpcast(Dali::Toolkit::TextField *jarg1) {
+    return (Dali::Toolkit::Control *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Control * SWIGSTDCALL CSharp_Dali_TextLabel_SWIGUpcast(Dali::Toolkit::TextLabel *jarg1) {
+    return (Dali::Toolkit::Control *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_AccessibilityManager_SWIGUpcast(Dali::Toolkit::AccessibilityManager *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_StyleManager_SWIGUpcast(Dali::Toolkit::StyleManager *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Control * SWIGSTDCALL CSharp_Dali_Slider_SWIGUpcast(Dali::Toolkit::Slider *jarg1) {
+    return (Dali::Toolkit::Control *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Control * SWIGSTDCALL CSharp_Dali_VideoView_SWIGUpcast(Dali::Toolkit::VideoView *jarg1) {
+    return (Dali::Toolkit::Control *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Control * SWIGSTDCALL CSharp_Dali_Popup_SWIGUpcast(Dali::Toolkit::Popup *jarg1) {
+    return (Dali::Toolkit::Control *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Control * SWIGSTDCALL CSharp_Dali_ProgressBar_SWIGUpcast(Dali::Toolkit::ProgressBar *jarg1) {
+    return (Dali::Toolkit::Control *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Control * SWIGSTDCALL CSharp_Dali_GaussianBlurView_SWIGUpcast(Dali::Toolkit::GaussianBlurView *jarg1) {
+    return (Dali::Toolkit::Control *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Control * SWIGSTDCALL CSharp_Dali_PageTurnView_SWIGUpcast(Dali::Toolkit::PageTurnView *jarg1) {
+    return (Dali::Toolkit::Control *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::PageTurnView * SWIGSTDCALL CSharp_Dali_PageTurnLandscapeView_SWIGUpcast(Dali::Toolkit::PageTurnLandscapeView *jarg1) {
+    return (Dali::Toolkit::PageTurnView *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::PageTurnView * SWIGSTDCALL CSharp_Dali_PageTurnPortraitView_SWIGUpcast(Dali::Toolkit::PageTurnPortraitView *jarg1) {
+    return (Dali::Toolkit::PageTurnView *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Button * SWIGSTDCALL CSharp_Dali_ToggleButton_SWIGUpcast(Dali::Toolkit::ToggleButton *jarg1) {
+    return (Dali::Toolkit::Button *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_VisualBase_SWIGUpcast(Dali::Toolkit::Visual::Base *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_VisualFactory_SWIGUpcast(Dali::Toolkit::VisualFactory *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_Dali_AsyncImageLoader_SWIGUpcast(Dali::Toolkit::AsyncImageLoader *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/plugins/dali-sharp/dali-bindings/dali_wrap.h b/plugins/dali-sharp/dali-bindings/dali_wrap.h
new file mode 100644 (file)
index 0000000..b6902b3
--- /dev/null
@@ -0,0 +1,248 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 3.0.10
+ *
+ * This file is not intended to be easily readable and contains a number of
+ * coding conventions designed to improve portability and efficiency. Do not make
+ * changes to this file unless you know what you are doing--modify the SWIG
+ * interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+#ifndef SWIG_NDalic_WRAP_H_
+#define SWIG_NDalic_WRAP_H_
+
+class SwigDirector_ViewImpl : public Dali::Toolkit::Internal::Control, public Swig::Director {
+
+public:
+    SwigDirector_ViewImpl(Dali::Toolkit::Internal::Control::ControlBehaviour behaviourFlags);
+    virtual ~SwigDirector_ViewImpl();
+    virtual void OnStageConnection(int depth);
+    virtual void OnStageConnectionSwigPublic(int depth) {
+      Dali::Toolkit::Internal::Control::OnStageConnection(depth);
+    }
+    virtual void OnStageDisconnection();
+    virtual void OnStageDisconnectionSwigPublic() {
+      Dali::Toolkit::Internal::Control::OnStageDisconnection();
+    }
+    virtual void OnChildAdd(Dali::Actor &child);
+    virtual void OnChildAddSwigPublic(Dali::Actor &child) {
+      Dali::Toolkit::Internal::Control::OnChildAdd(child);
+    }
+    virtual void OnChildRemove(Dali::Actor &child);
+    virtual void OnChildRemoveSwigPublic(Dali::Actor &child) {
+      Dali::Toolkit::Internal::Control::OnChildRemove(child);
+    }
+    virtual void OnPropertySet(Dali::Property::Index index, Dali::Property::Value propertyValue);
+    virtual void OnPropertySetSwigPublic(Dali::Property::Index index, Dali::Property::Value propertyValue) {
+      Dali::Toolkit::Internal::Control::OnPropertySet(index,propertyValue);
+    }
+    virtual void OnSizeSet(Dali::Vector3 const &targetSize);
+    virtual void OnSizeSetSwigPublic(Dali::Vector3 const &targetSize) {
+      Dali::Toolkit::Internal::Control::OnSizeSet(targetSize);
+    }
+    virtual void OnSizeAnimation(Dali::Animation &animation, Dali::Vector3 const &targetSize);
+    virtual void OnSizeAnimationSwigPublic(Dali::Animation &animation, Dali::Vector3 const &targetSize) {
+      Dali::Toolkit::Internal::Control::OnSizeAnimation(animation,targetSize);
+    }
+    virtual bool OnTouchEvent(Dali::TouchEvent const &event);
+    virtual bool OnTouchEventSwigPublic(Dali::TouchEvent const &event) {
+      return Dali::Toolkit::Internal::Control::OnTouchEvent(event);
+    }
+    virtual bool OnHoverEvent(Dali::HoverEvent const &event);
+    virtual bool OnHoverEventSwigPublic(Dali::HoverEvent const &event) {
+      return Dali::Toolkit::Internal::Control::OnHoverEvent(event);
+    }
+    virtual bool OnKeyEvent(Dali::KeyEvent const &event);
+    virtual bool OnKeyEventSwigPublic(Dali::KeyEvent const &event) {
+      return Dali::Toolkit::Internal::Control::OnKeyEvent(event);
+    }
+    virtual bool OnWheelEvent(Dali::WheelEvent const &event);
+    virtual bool OnWheelEventSwigPublic(Dali::WheelEvent const &event) {
+      return Dali::Toolkit::Internal::Control::OnWheelEvent(event);
+    }
+    virtual void OnRelayout(Dali::Vector2 const &size, Dali::RelayoutContainer &container);
+    virtual void OnRelayoutSwigPublic(Dali::Vector2 const &size, Dali::RelayoutContainer &container) {
+      Dali::Toolkit::Internal::Control::OnRelayout(size,container);
+    }
+    virtual void OnSetResizePolicy(Dali::ResizePolicy::Type policy, Dali::Dimension::Type dimension);
+    virtual void OnSetResizePolicySwigPublic(Dali::ResizePolicy::Type policy, Dali::Dimension::Type dimension) {
+      Dali::Toolkit::Internal::Control::OnSetResizePolicy(policy,dimension);
+    }
+    virtual Dali::Vector3 GetNaturalSize();
+    virtual Dali::Vector3 GetNaturalSizeSwigPublic() {
+      return Dali::Toolkit::Internal::Control::GetNaturalSize();
+    }
+    virtual float CalculateChildSize(Dali::Actor const &child, Dali::Dimension::Type dimension);
+    virtual float CalculateChildSizeSwigPublic(Dali::Actor const &child, Dali::Dimension::Type dimension) {
+      return Dali::Toolkit::Internal::Control::CalculateChildSize(child,dimension);
+    }
+    virtual float GetHeightForWidth(float width);
+    virtual float GetHeightForWidthSwigPublic(float width) {
+      return Dali::Toolkit::Internal::Control::GetHeightForWidth(width);
+    }
+    virtual float GetWidthForHeight(float height);
+    virtual float GetWidthForHeightSwigPublic(float height) {
+      return Dali::Toolkit::Internal::Control::GetWidthForHeight(height);
+    }
+    virtual bool RelayoutDependentOnChildren(Dali::Dimension::Type dimension = Dali::Dimension::ALL_DIMENSIONS);
+    virtual bool RelayoutDependentOnChildrenSwigPublic(Dali::Dimension::Type dimension = Dali::Dimension::ALL_DIMENSIONS) {
+      return Dali::Toolkit::Internal::Control::RelayoutDependentOnChildren(dimension);
+    }
+    virtual void OnCalculateRelayoutSize(Dali::Dimension::Type dimension);
+    virtual void OnCalculateRelayoutSizeSwigPublic(Dali::Dimension::Type dimension) {
+      Dali::Toolkit::Internal::Control::OnCalculateRelayoutSize(dimension);
+    }
+    virtual void OnLayoutNegotiated(float size, Dali::Dimension::Type dimension);
+    virtual void OnLayoutNegotiatedSwigPublic(float size, Dali::Dimension::Type dimension) {
+      Dali::Toolkit::Internal::Control::OnLayoutNegotiated(size,dimension);
+    }
+    virtual Dali::CustomActorImpl::Extension *GetExtension();
+    virtual void OnInitialize();
+    virtual void OnControlChildAdd(Dali::Actor &child);
+    virtual void OnControlChildRemove(Dali::Actor &child);
+    virtual void OnStyleChange(Dali::Toolkit::StyleManager styleManager, Dali::StyleChange::Type change);
+    virtual bool OnAccessibilityActivated();
+    virtual bool OnAccessibilityPan(Dali::PanGesture gesture);
+    virtual bool OnAccessibilityTouch(Dali::TouchEvent const &touchEvent);
+    virtual bool OnAccessibilityValueChange(bool isIncrease);
+    virtual bool OnAccessibilityZoom();
+    virtual void OnKeyInputFocusGained();
+    virtual void OnKeyInputFocusLost();
+    virtual Dali::Actor GetNextKeyboardFocusableActor(Dali::Actor currentFocusedActor, Dali::Toolkit::Control::KeyboardFocus::Direction direction, bool loopEnabled);
+    virtual void OnKeyboardFocusChangeCommitted(Dali::Actor commitedFocusableActor);
+    virtual bool OnKeyboardEnter();
+    virtual void OnPinch(Dali::PinchGesture const &pinch);
+    virtual void OnPan(Dali::PanGesture const &pan);
+    virtual void OnTap(Dali::TapGesture const &tap);
+    virtual void OnLongPress(Dali::LongPressGesture const &longPress);
+    virtual void SignalConnected(Dali::SlotObserver *slotObserver, Dali::CallbackBase *callback);
+    virtual void SignalDisconnected(Dali::SlotObserver *slotObserver, Dali::CallbackBase *callback);
+    virtual Dali::Toolkit::Internal::Control::Extension *GetControlExtension();
+
+    typedef void (SWIGSTDCALL* SWIG_Callback0_t)(int);
+    typedef void (SWIGSTDCALL* SWIG_Callback1_t)();
+    typedef void (SWIGSTDCALL* SWIG_Callback2_t)(void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback3_t)(void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback4_t)(int, void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback5_t)(void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback6_t)(void *, void *);
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback7_t)(void *);
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback8_t)(void *);
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback9_t)(void *);
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback10_t)(void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback11_t)(void *, void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback12_t)(int, int);
+    typedef void * (SWIGSTDCALL* SWIG_Callback13_t)();
+    typedef float (SWIGSTDCALL* SWIG_Callback14_t)(void *, int);
+    typedef float (SWIGSTDCALL* SWIG_Callback15_t)(float);
+    typedef float (SWIGSTDCALL* SWIG_Callback16_t)(float);
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback17_t)(int);
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback18_t)();
+    typedef void (SWIGSTDCALL* SWIG_Callback19_t)(int);
+    typedef void (SWIGSTDCALL* SWIG_Callback20_t)(float, int);
+    typedef void (SWIGSTDCALL* SWIG_Callback21_t)();
+    typedef void (SWIGSTDCALL* SWIG_Callback22_t)(void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback23_t)(void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback24_t)(void *, int);
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback25_t)();
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback26_t)(void *);
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback27_t)(void *);
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback28_t)(unsigned int);
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback29_t)();
+    typedef void (SWIGSTDCALL* SWIG_Callback30_t)();
+    typedef void (SWIGSTDCALL* SWIG_Callback31_t)();
+    typedef void * (SWIGSTDCALL* SWIG_Callback32_t)(void *, int, unsigned int);
+    typedef void (SWIGSTDCALL* SWIG_Callback33_t)(void *);
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback34_t)();
+    typedef void (SWIGSTDCALL* SWIG_Callback35_t)(void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback36_t)(void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback37_t)(void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback38_t)(void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback39_t)(void *, void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback40_t)(void *, void *);
+    void swig_connect_director(SWIG_Callback0_t callbackOnStageConnection, SWIG_Callback1_t callbackOnStageDisconnection, SWIG_Callback2_t callbackOnChildAdd, SWIG_Callback3_t callbackOnChildRemove, SWIG_Callback4_t callbackOnPropertySet, SWIG_Callback5_t callbackOnSizeSet, SWIG_Callback6_t callbackOnSizeAnimation, SWIG_Callback7_t callbackOnTouchEvent, SWIG_Callback8_t callbackOnHoverEvent, SWIG_Callback9_t callbackOnKeyEvent, SWIG_Callback10_t callbackOnWheelEvent, SWIG_Callback11_t callbackOnRelayout, SWIG_Callback12_t callbackOnSetResizePolicy, SWIG_Callback13_t callbackGetNaturalSize, SWIG_Callback14_t callbackCalculateChildSize, SWIG_Callback15_t callbackGetHeightForWidth, SWIG_Callback16_t callbackGetWidthForHeight, SWIG_Callback17_t callbackRelayoutDependentOnChildren__SWIG_0, SWIG_Callback18_t callbackRelayoutDependentOnChildren__SWIG_1, SWIG_Callback19_t callbackOnCalculateRelayoutSize, SWIG_Callback20_t callbackOnLayoutNegotiated, SWIG_Callback21_t callbackOnInitialize, SWIG_Callback22_t callbackOnControlChildAdd, SWIG_Callback23_t callbackOnControlChildRemove, SWIG_Callback24_t callbackOnStyleChange, SWIG_Callback25_t callbackOnAccessibilityActivated, SWIG_Callback26_t callbackOnAccessibilityPan, SWIG_Callback27_t callbackOnAccessibilityTouch, SWIG_Callback28_t callbackOnAccessibilityValueChange, SWIG_Callback29_t callbackOnAccessibilityZoom, SWIG_Callback30_t callbackOnKeyInputFocusGained, SWIG_Callback31_t callbackOnKeyInputFocusLost, SWIG_Callback32_t callbackGetNextKeyboardFocusableActor, SWIG_Callback33_t callbackOnKeyboardFocusChangeCommitted, SWIG_Callback34_t callbackOnKeyboardEnter, SWIG_Callback35_t callbackOnPinch, SWIG_Callback36_t callbackOnPan, SWIG_Callback37_t callbackOnTap, SWIG_Callback38_t callbackOnLongPress, SWIG_Callback39_t callbackSignalConnected, SWIG_Callback40_t callbackSignalDisconnected);
+
+private:
+    SWIG_Callback0_t swig_callbackOnStageConnection;
+    SWIG_Callback1_t swig_callbackOnStageDisconnection;
+    SWIG_Callback2_t swig_callbackOnChildAdd;
+    SWIG_Callback3_t swig_callbackOnChildRemove;
+    SWIG_Callback4_t swig_callbackOnPropertySet;
+    SWIG_Callback5_t swig_callbackOnSizeSet;
+    SWIG_Callback6_t swig_callbackOnSizeAnimation;
+    SWIG_Callback7_t swig_callbackOnTouchEvent;
+    SWIG_Callback8_t swig_callbackOnHoverEvent;
+    SWIG_Callback9_t swig_callbackOnKeyEvent;
+    SWIG_Callback10_t swig_callbackOnWheelEvent;
+    SWIG_Callback11_t swig_callbackOnRelayout;
+    SWIG_Callback12_t swig_callbackOnSetResizePolicy;
+    SWIG_Callback13_t swig_callbackGetNaturalSize;
+    SWIG_Callback14_t swig_callbackCalculateChildSize;
+    SWIG_Callback15_t swig_callbackGetHeightForWidth;
+    SWIG_Callback16_t swig_callbackGetWidthForHeight;
+    SWIG_Callback17_t swig_callbackRelayoutDependentOnChildren__SWIG_0;
+    SWIG_Callback18_t swig_callbackRelayoutDependentOnChildren__SWIG_1;
+    SWIG_Callback19_t swig_callbackOnCalculateRelayoutSize;
+    SWIG_Callback20_t swig_callbackOnLayoutNegotiated;
+    SWIG_Callback21_t swig_callbackOnInitialize;
+    SWIG_Callback22_t swig_callbackOnControlChildAdd;
+    SWIG_Callback23_t swig_callbackOnControlChildRemove;
+    SWIG_Callback24_t swig_callbackOnStyleChange;
+    SWIG_Callback25_t swig_callbackOnAccessibilityActivated;
+    SWIG_Callback26_t swig_callbackOnAccessibilityPan;
+    SWIG_Callback27_t swig_callbackOnAccessibilityTouch;
+    SWIG_Callback28_t swig_callbackOnAccessibilityValueChange;
+    SWIG_Callback29_t swig_callbackOnAccessibilityZoom;
+    SWIG_Callback30_t swig_callbackOnKeyInputFocusGained;
+    SWIG_Callback31_t swig_callbackOnKeyInputFocusLost;
+    SWIG_Callback32_t swig_callbackGetNextKeyboardFocusableActor;
+    SWIG_Callback33_t swig_callbackOnKeyboardFocusChangeCommitted;
+    SWIG_Callback34_t swig_callbackOnKeyboardEnter;
+    SWIG_Callback35_t swig_callbackOnPinch;
+    SWIG_Callback36_t swig_callbackOnPan;
+    SWIG_Callback37_t swig_callbackOnTap;
+    SWIG_Callback38_t swig_callbackOnLongPress;
+    SWIG_Callback39_t swig_callbackSignalConnected;
+    SWIG_Callback40_t swig_callbackSignalDisconnected;
+    void swig_init_callbacks();
+};
+
+class SwigDirector_ItemFactory : public Dali::Toolkit::ItemFactory, public Swig::Director {
+
+public:
+    SwigDirector_ItemFactory();
+    virtual ~SwigDirector_ItemFactory();
+    virtual unsigned int GetNumberOfItems();
+    virtual Dali::Actor NewItem(unsigned int itemId);
+    virtual void ItemReleased(unsigned int itemId, Dali::Actor actor);
+    virtual Dali::Toolkit::ItemFactory::Extension *GetExtension();
+
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback0_t)();
+    typedef void * (SWIGSTDCALL* SWIG_Callback1_t)(unsigned int);
+    typedef void (SWIGSTDCALL* SWIG_Callback2_t)(unsigned int, void *);
+    void swig_connect_director(SWIG_Callback0_t callbackGetNumberOfItems, SWIG_Callback1_t callbackNewItem, SWIG_Callback2_t callbackItemReleased);
+
+private:
+    SWIG_Callback0_t swig_callbackGetNumberOfItems;
+    SWIG_Callback1_t swig_callbackNewItem;
+    SWIG_Callback2_t swig_callbackItemReleased;
+    void swig_init_callbacks();
+};
+
+class SwigDirector_CustomAlgorithmInterface : public Dali::Toolkit::DevelKeyboardFocusManager::CustomAlgorithmInterface, public Swig::Director {
+
+public:
+    SwigDirector_CustomAlgorithmInterface();
+    virtual ~SwigDirector_CustomAlgorithmInterface();
+    virtual Dali::Actor GetNextFocusableActor(Dali::Actor current, Dali::Actor proposed, Dali::Toolkit::Control::KeyboardFocus::Direction direction);
+
+    typedef void * (SWIGSTDCALL* SWIG_Callback0_t)(void *, void *, int);
+    void swig_connect_director(SWIG_Callback0_t callbackGetNextFocusableActor);
+
+private:
+    SWIG_Callback0_t swig_callbackGetNextFocusableActor;
+    void swig_init_callbacks();
+};
+
+
+#endif
diff --git a/plugins/dali-sharp/dali-bindings/devel-property-wrap.cpp b/plugins/dali-sharp/dali-bindings/devel-property-wrap.cpp
new file mode 100755 (executable)
index 0000000..573139c
--- /dev/null
@@ -0,0 +1,247 @@
+/*
+ * 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.
+ *
+ */
+
+#ifndef CSHARP_DEVEL_PROPERTY
+#define CSHARP_DEVEL_PROPERTY
+#endif
+
+#include "common.h"
+
+#include <dali/devel-api/actors/actor-devel.h>
+#include <dali/devel-api/rendering/renderer-devel.h>
+#include <dali-toolkit/devel-api/controls/control-devel.h>
+#include <dali-toolkit/devel-api/controls/scrollable/item-view/item-view-devel.h>
+#include <dali-toolkit/devel-api/controls/buttons/button-devel.h>
+#include <dali-toolkit/devel-api/controls/buttons/button-devel.h>
+#include <dali-toolkit/devel-api/visuals/visual-properties-devel.h>
+#include <dali-toolkit/devel-api/visuals/image-visual-properties-devel.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Actor_Property_SIBLING_ORDER_get() {
+
+  return Dali::DevelActor::Property::SIBLING_ORDER;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Actor_Property_OPACITY_get() {
+
+  return Dali::DevelActor::Property::OPACITY;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Actor_Property_SCREEN_POSITION_get() {
+
+  return Dali::DevelActor::Property::SCREEN_POSITION;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Actor_Property_POSITION_USES_ANCHOR_POINT_get() {
+
+  return Dali::DevelActor::Property::POSITION_USES_ANCHOR_POINT;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_View_Property_TOOLTIP_get() {
+  int jresult ;
+  int result;
+
+  result = (int)Dali::Toolkit::DevelControl::Property::TOOLTIP;
+  jresult = (int)result;
+  return jresult;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_View_Property_STATE_get() {
+  int jresult ;
+  int result;
+
+  result = (int)Dali::Toolkit::DevelControl::Property::STATE;
+  jresult = (int)result;
+  return jresult;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_View_Property_SUB_STATE_get() {
+  int jresult ;
+  int result;
+
+  result = (int)Dali::Toolkit::DevelControl::Property::SUB_STATE;
+  jresult = (int)result;
+  return jresult;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_View_Property_LEFT_FOCUSABLE_ACTOR_ID_get() {
+  return Dali::Toolkit::DevelControl::Property::LEFT_FOCUSABLE_ACTOR_ID;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_View_Property_RIGHT_FOCUSABLE_ACTOR_ID_get() {
+  return Dali::Toolkit::DevelControl::Property::RIGHT_FOCUSABLE_ACTOR_ID;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_View_Property_UP_FOCUSABLE_ACTOR_ID_get() {
+  return Dali::Toolkit::DevelControl::Property::UP_FOCUSABLE_ACTOR_ID;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_View_Property_DOWN_FOCUSABLE_ACTOR_ID_get() {
+  return Dali::Toolkit::DevelControl::Property::DOWN_FOCUSABLE_ACTOR_ID;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_ItemView_Property_LAYOUT_get() {
+  int jresult ;
+  int result;
+
+  result = (int)Dali::Toolkit::DevelItemView::Property::LAYOUT;
+  jresult = (int)result;
+  return jresult;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Button_Property_UNSELECTED_VISUAL_get() {
+  int jresult ;
+  int result;
+
+  result = (int)Dali::Toolkit::DevelButton::Property::UNSELECTED_VISUAL;
+  jresult = (int)result;
+  return jresult;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Button_Property_SELECTED_VISUAL_get() {
+  int jresult ;
+  int result;
+
+  result = (int)Dali::Toolkit::DevelButton::Property::SELECTED_VISUAL;
+  jresult = (int)result;
+  return jresult;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Button_Property_DISABLED_SELECTED_VISUAL_get() {
+  int jresult ;
+  int result;
+
+  result = (int)Dali::Toolkit::DevelButton::Property::DISABLED_SELECTED_VISUAL;
+  jresult = (int)result;
+  return jresult;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Button_Property_DISABLED_UNSELECTED_VISUAL_get() {
+  int jresult ;
+  int result;
+
+  result = (int)Dali::Toolkit::DevelButton::Property::DISABLED_UNSELECTED_VISUAL;
+  jresult = (int)result;
+  return jresult;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Button_Property_UNSELECTED_BACKGROUND_VISUAL_get() {
+  int jresult ;
+  int result;
+
+  result = (int)Dali::Toolkit::DevelButton::Property::UNSELECTED_BACKGROUND_VISUAL;
+  jresult = (int)result;
+  return jresult;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Button_Property_SELECTED_BACKGROUND_VISUAL_get() {
+  int jresult ;
+  int result;
+
+  result = (int)Dali::Toolkit::DevelButton::Property::SELECTED_BACKGROUND_VISUAL;
+  jresult = (int)result;
+  return jresult;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Button_Property_DISABLED_UNSELECTED_BACKGROUND_VISUAL_get() {
+  int jresult ;
+  int result;
+
+  result = (int)Dali::Toolkit::DevelButton::Property::DISABLED_UNSELECTED_BACKGROUND_VISUAL;
+  jresult = (int)result;
+  return jresult;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Button_Property_DISABLED_SELECTED_BACKGROUND_VISUAL_get() {
+  int jresult ;
+  int result;
+
+  result = (int)Dali::Toolkit::DevelButton::Property::DISABLED_SELECTED_BACKGROUND_VISUAL;
+  jresult = (int)result;
+  return jresult;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Button_Property_LABEL_RELATIVE_ALIGNMENT_get() {
+  int jresult ;
+  int result;
+
+  result = (int)Dali::Toolkit::DevelButton::Property::LABEL_RELATIVE_ALIGNMENT;
+  jresult = (int)result;
+  return jresult;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Button_Property_LABEL_PADDING_get() {
+  int jresult ;
+  int result;
+
+  result = (int)Dali::Toolkit::DevelButton::Property::LABEL_PADDING;
+  jresult = (int)result;
+  return jresult;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Button_Property_VISUAL_PADDING_get() {
+  int jresult ;
+  int result;
+
+  result = (int)Dali::Toolkit::DevelButton::Property::VISUAL_PADDING;
+  jresult = (int)result;
+  return jresult;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Visual_Property_TRANSFORM_get() {
+  int jresult ;
+  int result;
+
+  result = (int)Dali::Toolkit::DevelVisual::Property::TRANSFORM;
+  jresult = (int)result;
+  return jresult;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Visual_Property_PREMULTIPLIED_ALPHA_get() {
+  int jresult ;
+  int result;
+
+  result = (int)Dali::Toolkit::DevelVisual::Property::PREMULTIPLIED_ALPHA;
+  jresult = (int)result;
+  return jresult;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Visual_Property_MIX_COLOR_get() {
+  int jresult ;
+  int result;
+
+  result = (int)Dali::Toolkit::DevelVisual::Property::MIX_COLOR;
+  jresult = (int)result;
+  return jresult;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Image_Visual_BORDER_get() {
+  int jresult ;
+  int result;
+
+  result = (int)Dali::Toolkit::DevelImageVisual::Property::BORDER;
+  jresult = (int)result;
+  return jresult;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/plugins/dali-sharp/dali-bindings/event-thread-callback-wrap.cpp b/plugins/dali-sharp/dali-bindings/event-thread-callback-wrap.cpp
new file mode 100644 (file)
index 0000000..736c697
--- /dev/null
@@ -0,0 +1,108 @@
+/*
+ * 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.
+ *
+ */
+
+#ifndef CSHARP_EVENT_THREAD_CALLBACK
+#define CSHARP_EVENT_THREAD_CALLBACK
+#endif
+
+#include "common.h"
+#include <dali/devel-api/adaptor-framework/event-thread-callback.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef void (SWIGSTDCALL* SWIG_CallbackMakeCallback)(void);
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_EventThreadCallback(SWIG_CallbackMakeCallback callbackOnMakeCallback) {
+  void * jresult ;
+  void (*arg1)(void) = (void (*)(void)) 0 ;
+  Dali::EventThreadCallback *result = 0 ;
+
+  arg1 = (void (*)(void))callbackOnMakeCallback;
+  {
+    try {
+      result = (Dali::EventThreadCallback *)new Dali::EventThreadCallback((Dali::CallbackBase *)Dali::MakeCallback(arg1));
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (void *)result;
+  return jresult;
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_EventThreadCallback(void * jarg1) {
+  Dali::EventThreadCallback *arg1 = (Dali::EventThreadCallback *) 0 ;
+
+  arg1 = (Dali::EventThreadCallback *)jarg1;
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_EventThreadCallback_Trigger(void * jarg1) {
+  Dali::EventThreadCallback *arg1 = (Dali::EventThreadCallback *) 0 ;
+
+  arg1 = (Dali::EventThreadCallback *)jarg1;
+  {
+    try {
+      (arg1)->Trigger();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+#ifdef __cplusplus
+}
+#endif //CSHARP_EVENT_THREAD_CALLBACK
+
diff --git a/plugins/dali-sharp/dali-bindings/keyboard_focus_manager_wrap.cpp b/plugins/dali-sharp/dali-bindings/keyboard_focus_manager_wrap.cpp
new file mode 100644 (file)
index 0000000..78c5c0b
--- /dev/null
@@ -0,0 +1,798 @@
+/*
+ * 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.
+ *
+ */
+
+#ifndef CSHARP_KEYBOARD_FOCUS_MANAGER
+#define CSHARP_KEYBOARD_FOCUS_MANAGER
+#endif
+
+#include "common.h"
+
+SWIGINTERN bool Dali_Signal_Sl_Dali_Actor_Sp_Dali_Actor_Sc_Dali_Actor_Sc_Dali_Toolkit_Control_KeyboardFocus_Direction_SP__Sg__Empty(Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > const *self){
+         return self->Empty();
+      }
+SWIGINTERN std::size_t Dali_Signal_Sl_Dali_Actor_Sp_Dali_Actor_Sc_Dali_Actor_Sc_Dali_Toolkit_Control_KeyboardFocus_Direction_SP__Sg__GetConnectionCount(Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > const *self){
+        return self->GetConnectionCount();
+      }
+SWIGINTERN void Dali_Signal_Sl_Dali_Actor_Sp_Dali_Actor_Sc_Dali_Actor_Sc_Dali_Toolkit_Control_KeyboardFocus_Direction_SP__Sg__Connect(Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > *self,Dali::Actor (*func)(Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction)){
+          return self->Connect( func );
+      }
+SWIGINTERN void Dali_Signal_Sl_Dali_Actor_Sp_Dali_Actor_Sc_Dali_Actor_Sc_Dali_Toolkit_Control_KeyboardFocus_Direction_SP__Sg__Disconnect(Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > *self,Dali::Actor (*func)(Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction)){
+          self->Disconnect( func );
+      }
+SWIGINTERN Dali::Actor Dali_Signal_Sl_Dali_Actor_Sp_Dali_Actor_Sc_Dali_Actor_Sc_Dali_Toolkit_Control_KeyboardFocus_Direction_SP__Sg__Emit(Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > *self,Dali::Actor arg1,Dali::Actor arg2,Dali::Toolkit::Control::KeyboardFocus::Direction arg3){
+          return self->Emit( arg1, arg2, arg3 );
+      }
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_KeyboardFocusManager() {
+  void * jresult;
+  Dali::Toolkit::KeyboardFocusManager *result = 0 ;
+
+  {
+    try {
+      result = (Dali::Toolkit::KeyboardFocusManager *)new Dali::Toolkit::KeyboardFocusManager();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (void *)result;
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_KeyboardFocusManager(void * jarg1) {
+  Dali::Toolkit::KeyboardFocusManager *arg1 = (Dali::Toolkit::KeyboardFocusManager *) 0 ;
+
+  arg1 = (Dali::Toolkit::KeyboardFocusManager *)jarg1;
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_KeyboardFocusManager_Get() {
+  void * jresult;
+  Dali::Toolkit::KeyboardFocusManager result;
+
+  {
+    try {
+      result = Dali::Toolkit::KeyboardFocusManager::Get();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::KeyboardFocusManager((const Dali::Toolkit::KeyboardFocusManager &)result);
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_KeyboardFocusManager_SetCurrentFocusActor(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::KeyboardFocusManager *arg1 = (Dali::Toolkit::KeyboardFocusManager *) 0 ;
+  Dali::Actor arg2;
+  Dali::Actor *argp2 ;
+  bool result;
+
+  arg1 = (Dali::Toolkit::KeyboardFocusManager *)jarg1;
+  argp2 = (Dali::Actor *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg2 = *argp2;
+  {
+    try {
+      result = (bool)(arg1)->SetCurrentFocusActor(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = result;
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_KeyboardFocusManager_GetCurrentFocusActor(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::KeyboardFocusManager *arg1 = (Dali::Toolkit::KeyboardFocusManager *) 0 ;
+  Dali::Actor result;
+
+  arg1 = (Dali::Toolkit::KeyboardFocusManager *)jarg1;
+  {
+    try {
+      result = (arg1)->GetCurrentFocusActor();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result);
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_KeyboardFocusManager_MoveFocus(void * jarg1, int jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::KeyboardFocusManager *arg1 = (Dali::Toolkit::KeyboardFocusManager *) 0 ;
+  Dali::Toolkit::Control::KeyboardFocus::Direction arg2;
+  bool result;
+
+  arg1 = (Dali::Toolkit::KeyboardFocusManager *)jarg1;
+  arg2 = (Dali::Toolkit::Control::KeyboardFocus::Direction)jarg2;
+  {
+    try {
+      result = (bool)(arg1)->MoveFocus(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = result;
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_KeyboardFocusManager_ClearFocus(void * jarg1) {
+  Dali::Toolkit::KeyboardFocusManager *arg1 = (Dali::Toolkit::KeyboardFocusManager *) 0 ;
+
+  arg1 = (Dali::Toolkit::KeyboardFocusManager *)jarg1;
+  {
+    try {
+      (arg1)->ClearFocus();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_KeyboardFocusManager_SetFocusGroupLoop(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::KeyboardFocusManager *arg1 = (Dali::Toolkit::KeyboardFocusManager *) 0;
+  bool arg2;
+
+  arg1 = (Dali::Toolkit::KeyboardFocusManager *)jarg1;
+  arg2 = jarg2 ? true : false;
+  {
+    try {
+      (arg1)->SetFocusGroupLoop(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_KeyboardFocusManager_GetFocusGroupLoop(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::KeyboardFocusManager *arg1 = (Dali::Toolkit::KeyboardFocusManager *) 0 ;
+  bool result;
+
+  arg1 = (Dali::Toolkit::KeyboardFocusManager *)jarg1;
+  {
+    try {
+      result = (bool)((Dali::Toolkit::KeyboardFocusManager const *)arg1)->GetFocusGroupLoop();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = result;
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_KeyboardFocusManager_SetAsFocusGroup(void * jarg1, void * jarg2, unsigned int jarg3) {
+  Dali::Toolkit::KeyboardFocusManager *arg1 = (Dali::Toolkit::KeyboardFocusManager *) 0 ;
+  Dali::Actor arg2 ;
+  bool arg3 ;
+  Dali::Actor *argp2 ;
+
+  arg1 = (Dali::Toolkit::KeyboardFocusManager *)jarg1;
+  argp2 = (Dali::Actor *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2;
+  arg3 = jarg3 ? true : false;
+  {
+    try {
+      (arg1)->SetAsFocusGroup(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_KeyboardFocusManager_IsFocusGroup(void * jarg1, void * jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::KeyboardFocusManager *arg1 = (Dali::Toolkit::KeyboardFocusManager *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  bool result;
+
+  arg1 = (Dali::Toolkit::KeyboardFocusManager *)jarg1;
+  argp2 = (Dali::Actor *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg2 = *argp2;
+  {
+    try {
+      result = (bool)((Dali::Toolkit::KeyboardFocusManager const *)arg1)->IsFocusGroup(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = result;
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_KeyboardFocusManager_GetFocusGroup(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::KeyboardFocusManager *arg1 = (Dali::Toolkit::KeyboardFocusManager *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+  Dali::Actor result;
+
+  arg1 = (Dali::Toolkit::KeyboardFocusManager *)jarg1;
+  argp2 = (Dali::Actor *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg2 = *argp2;
+  {
+    try {
+      result = (arg1)->GetFocusGroup(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result);
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_KeyboardFocusManager_SetFocusIndicatorActor(void * jarg1, void * jarg2) {
+  Dali::Toolkit::KeyboardFocusManager *arg1 = (Dali::Toolkit::KeyboardFocusManager *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor *argp2 ;
+
+  arg1 = (Dali::Toolkit::KeyboardFocusManager *)jarg1;
+  argp2 = (Dali::Actor *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return ;
+  }
+  arg2 = *argp2;
+  {
+    try {
+      (arg1)->SetFocusIndicatorActor(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_KeyboardFocusManager_GetFocusIndicatorActor(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::KeyboardFocusManager *arg1 = (Dali::Toolkit::KeyboardFocusManager *) 0 ;
+  Dali::Actor result;
+
+  arg1 = (Dali::Toolkit::KeyboardFocusManager *)jarg1;
+  {
+    try {
+      result = (arg1)->GetFocusIndicatorActor();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result);
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_KeyboardFocusManager_PreFocusChangeSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::KeyboardFocusManager *arg1 = (Dali::Toolkit::KeyboardFocusManager *) 0 ;
+  Dali::Toolkit::KeyboardFocusManager::PreFocusChangeSignalType *result = 0 ;
+
+  arg1 = (Dali::Toolkit::KeyboardFocusManager *)jarg1;
+  {
+    try {
+      result = (Dali::Toolkit::KeyboardFocusManager::PreFocusChangeSignalType *) &(arg1)->PreFocusChangeSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (void *)result;
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_KeyboardFocusManager_FocusChangedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::KeyboardFocusManager *arg1 = (Dali::Toolkit::KeyboardFocusManager *) 0 ;
+  Dali::Toolkit::KeyboardFocusManager::FocusChangedSignalType *result = 0 ;
+
+  arg1 = (Dali::Toolkit::KeyboardFocusManager *)jarg1;
+  {
+    try {
+      result = (Dali::Toolkit::KeyboardFocusManager::FocusChangedSignalType *) &(arg1)->FocusChangedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (void *)result;
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_KeyboardFocusManager_FocusGroupChangedSignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::KeyboardFocusManager *arg1 = (Dali::Toolkit::KeyboardFocusManager *) 0 ;
+  Dali::Toolkit::KeyboardFocusManager::FocusGroupChangedSignalType *result = 0 ;
+
+  arg1 = (Dali::Toolkit::KeyboardFocusManager *)jarg1;
+  {
+    try {
+      result = (Dali::Toolkit::KeyboardFocusManager::FocusGroupChangedSignalType *) &(arg1)->FocusGroupChangedSignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (void *)result;
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_KeyboardFocusManager_FocusedActorEnterKeySignal(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::KeyboardFocusManager *arg1 = (Dali::Toolkit::KeyboardFocusManager *) 0 ;
+  Dali::Toolkit::KeyboardFocusManager::FocusedActorEnterKeySignalType *result = 0 ;
+
+  arg1 = (Dali::Toolkit::KeyboardFocusManager *)jarg1;
+  {
+    try {
+      result = (Dali::Toolkit::KeyboardFocusManager::FocusedActorEnterKeySignalType *) &(arg1)->FocusedActorEnterKeySignal();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (void *)result;
+  return jresult;
+}
+
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_KeyboardPreFocusChangeSignal_Empty(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > *arg1 = (Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > *) 0 ;
+  bool result;
+
+  arg1 = (Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > *)jarg1;
+  {
+    try {
+      result = (bool)Dali_Signal_Sl_Dali_Actor_Sp_Dali_Actor_Sc_Dali_Actor_Sc_Dali_Toolkit_Control_KeyboardFocus_Direction_SP__Sg__Empty((Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = result;
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_KeyboardPreFocusChangeSignal_GetConnectionCount(void * jarg1) {
+  unsigned long jresult ;
+  Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > *arg1 = (Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > *) 0 ;
+  std::size_t result;
+
+  arg1 = (Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > *)jarg1;
+  {
+    try {
+      result = Dali_Signal_Sl_Dali_Actor_Sp_Dali_Actor_Sc_Dali_Actor_Sc_Dali_Toolkit_Control_KeyboardFocus_Direction_SP__Sg__GetConnectionCount((Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > const *)arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (unsigned long)result;
+  return jresult;
+}
+
+typedef void* (SWIGSTDCALL* SWIG_CallbackKbPreFocusChange)(void *, void *, int);
+SWIG_CallbackKbPreFocusChange swig_callbackOnKbPreFocusChange;
+
+Dali::Actor OnKbPreFocusChangeCallback(Dali::Actor current, Dali::Actor proposed, Dali::Toolkit::Control::KeyboardFocus::Direction direction)
+{
+    Dali::Actor *actorp;
+    Dali::Actor actor;
+
+    actorp = (Dali::Actor *)swig_callbackOnKbPreFocusChange((void *)&current, (void *)&proposed, direction);
+    actor = *actorp;
+
+    return actor;
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_KeyboardPreFocusChangeSignal_Connect(void * jarg1, SWIG_CallbackKbPreFocusChange callbackOnKbPreFocusChange) {
+
+  swig_callbackOnKbPreFocusChange = callbackOnKbPreFocusChange;
+
+  Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > *arg1 = (Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > *) 0 ;
+  Dali::Actor (*arg2)(Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) = (Dali::Actor (*)(Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction)) 0 ;
+
+  arg1 = (Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > *)jarg1;
+  arg2 = (Dali::Actor (*)(Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction))OnKbPreFocusChangeCallback;
+
+  {
+    try {
+      Dali_Signal_Sl_Dali_Actor_Sp_Dali_Actor_Sc_Dali_Actor_Sc_Dali_Toolkit_Control_KeyboardFocus_Direction_SP__Sg__Connect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_KeyboardPreFocusChangeSignal_Disconnect(void * jarg1, void * jarg2) {
+  Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > *arg1 = (Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > *) 0 ;
+  Dali::Actor (*arg2)(Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) = (Dali::Actor (*)(Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction)) 0 ;
+
+  arg1 = (Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > *)jarg1;
+  arg2 = (Dali::Actor (*)(Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction))jarg2;
+  {
+    try {
+      Dali_Signal_Sl_Dali_Actor_Sp_Dali_Actor_Sc_Dali_Actor_Sc_Dali_Toolkit_Control_KeyboardFocus_Direction_SP__Sg__Disconnect(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_KeyboardPreFocusChangeSignal_Emit(void * jarg1, void * jarg2, void * jarg3, int jarg4) {
+  void * jresult ;
+  Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > *arg1 = (Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > *) 0 ;
+  Dali::Actor arg2 ;
+  Dali::Actor arg3 ;
+  Dali::Toolkit::Control::KeyboardFocus::Direction arg4 ;
+  Dali::Actor *argp2 ;
+  Dali::Actor *argp3 ;
+  Dali::Actor result;
+
+  arg1 = (Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > *)jarg1;
+  argp2 = (Dali::Actor *)jarg2;
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg2 = *argp2;
+  argp3 = (Dali::Actor *)jarg3;
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::Actor", 0);
+    return 0;
+  }
+  arg3 = *argp3;
+  arg4 = (Dali::Toolkit::Control::KeyboardFocus::Direction)jarg4;
+  {
+    try {
+      result = Dali_Signal_Sl_Dali_Actor_Sp_Dali_Actor_Sc_Dali_Actor_Sc_Dali_Toolkit_Control_KeyboardFocus_Direction_SP__Sg__Emit(arg1,arg2,arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Actor((const Dali::Actor &)result);
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_KeyboardPreFocusChangeSignal() {
+  void * jresult ;
+  Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > *result = 0 ;
+
+  {
+    try {
+      result = (Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > *)new Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) >();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (void *)result;
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_KeyboardPreFocusChangeSignal(void * jarg1) {
+  Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > *arg1 = (Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > *) 0 ;
+
+  arg1 = (Dali::Signal< Dali::Actor (Dali::Actor,Dali::Actor,Dali::Toolkit::Control::KeyboardFocus::Direction) > *)jarg1;
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+SWIGEXPORT Dali::BaseHandle * SWIGSTDCALL CSharp_KeyboardFocusManager_SWIGUpcast(Dali::Toolkit::KeyboardFocusManager *jarg1) {
+    return (Dali::BaseHandle *)jarg1;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/plugins/dali-sharp/dali-bindings/view-wrapper-impl-wrap.cpp b/plugins/dali-sharp/dali-bindings/view-wrapper-impl-wrap.cpp
new file mode 100644 (file)
index 0000000..7520782
--- /dev/null
@@ -0,0 +1,1324 @@
+/*
+ * 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.
+ *
+ */
+
+// CLASS HEADER
+#include "view-wrapper-impl-wrap.h"
+
+// INTERNAL INCLUDES
+#include <dali-toolkit/devel-api/visual-factory/visual-base.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SwigDirector_ViewWrapperImpl::SwigDirector_ViewWrapperImpl(Dali::Toolkit::Internal::ControlWrapper::CustomControlBehaviour behaviourFlags) : Dali::Toolkit::Internal::ControlWrapper(behaviourFlags) {
+  swig_init_callbacks();
+}
+
+SwigDirector_ViewWrapperImpl::~SwigDirector_ViewWrapperImpl() {
+
+}
+
+
+void SwigDirector_ViewWrapperImpl::OnStageConnection(int depth) {
+    swig_callbackOnStageConnection(depth);
+
+    Dali::Toolkit::Internal::Control::OnStageConnection(depth);
+}
+
+void SwigDirector_ViewWrapperImpl::OnStageDisconnection() {
+    swig_callbackOnStageDisconnection();
+
+    Dali::Toolkit::Internal::Control::OnStageDisconnection();
+}
+
+void SwigDirector_ViewWrapperImpl::OnChildAdd(Dali::Actor &child) {
+    void * jchild = (Dali::Actor *) &child;
+    swig_callbackOnChildAdd(jchild);
+
+    Dali::Toolkit::Internal::Control::OnChildAdd( child );
+}
+
+void SwigDirector_ViewWrapperImpl::OnChildRemove(Dali::Actor &child) {
+    void * jchild = (Dali::Actor *) &child;
+    swig_callbackOnChildRemove(jchild);
+
+    Dali::Toolkit::Internal::Control::OnChildRemove( child );
+}
+
+void SwigDirector_ViewWrapperImpl::OnPropertySet(Dali::Property::Index index, Dali::Property::Value propertyValue) {
+  int jindex  ;
+  void * jpropertyValue  ;
+
+  jindex = index;
+  jpropertyValue = (void *)new Dali::Property::Value((const Dali::Property::Value &)propertyValue);
+  swig_callbackOnPropertySet(jindex, jpropertyValue);
+
+  Dali::Toolkit::Internal::ControlWrapper::OnPropertySet(index,propertyValue);
+}
+
+void SwigDirector_ViewWrapperImpl::OnSizeSet(Dali::Vector3 const &targetSize) {
+  swig_callbackOnSizeSet((Dali::Vector3 *) &targetSize);
+
+  Dali::Toolkit::Internal::Control::OnSizeSet(targetSize);
+}
+
+void SwigDirector_ViewWrapperImpl::OnSizeAnimation(Dali::Animation &animation, Dali::Vector3 const &targetSize) {
+  swig_callbackOnSizeAnimation(&animation, (Dali::Vector3 *) &targetSize);
+
+  Dali::Toolkit::Internal::Control::OnSizeAnimation(animation,targetSize);
+}
+
+bool SwigDirector_ViewWrapperImpl::OnTouchEvent(Dali::TouchEvent const &event) {
+  bool c_result = SwigValueInit< bool >() ;
+  unsigned int jresult = 0 ;
+  void * jarg0 = 0 ;
+
+  if (!swig_callbackOnTouchEvent) {
+    return Dali::Toolkit::Internal::Control::OnTouchEvent(event);
+  } else {
+    jarg0 = (Dali::TouchEvent *) &event;
+    jresult = (unsigned int) swig_callbackOnTouchEvent(jarg0);
+    c_result = jresult ? true : false;
+  }
+  return c_result;
+}
+
+bool SwigDirector_ViewWrapperImpl::OnHoverEvent(Dali::HoverEvent const &event) {
+  bool c_result = SwigValueInit< bool >() ;
+  unsigned int jresult = 0 ;
+  void * jarg0 = 0 ;
+
+  if (!swig_callbackOnHoverEvent) {
+    return Dali::Toolkit::Internal::Control::OnHoverEvent(event);
+  } else {
+    jarg0 = (Dali::HoverEvent *) &event;
+    jresult = (unsigned int) swig_callbackOnHoverEvent(jarg0);
+    c_result = jresult ? true : false;
+  }
+  return c_result;
+}
+
+bool SwigDirector_ViewWrapperImpl::OnKeyEvent(Dali::KeyEvent const &event) {
+  bool c_result = SwigValueInit< bool >() ;
+  unsigned int jresult = 0 ;
+  void * jarg0 = 0 ;
+
+  if (!swig_callbackOnKeyEvent) {
+    return Dali::Toolkit::Internal::Control::OnKeyEvent(event);
+  } else {
+    jarg0 = (Dali::KeyEvent *) &event;
+    jresult = (unsigned int) swig_callbackOnKeyEvent(jarg0);
+    c_result = jresult ? true : false;
+  }
+  return c_result;
+}
+
+bool SwigDirector_ViewWrapperImpl::OnWheelEvent(Dali::WheelEvent const &event) {
+  bool c_result = SwigValueInit< bool >() ;
+  unsigned int jresult = 0 ;
+  void * jarg0 = 0 ;
+
+  if (!swig_callbackOnWheelEvent) {
+    return Dali::Toolkit::Internal::Control::OnWheelEvent(event);
+  } else {
+    jarg0 = (Dali::WheelEvent *) &event;
+    jresult = (unsigned int) swig_callbackOnWheelEvent(jarg0);
+    c_result = jresult ? true : false;
+  }
+  return c_result;
+}
+
+void SwigDirector_ViewWrapperImpl::OnRelayout(Dali::Vector2 const &size, Dali::RelayoutContainer &container) {
+  void * jsize = 0 ;
+  void * jcontainer = 0 ;
+
+  jsize = (Dali::Vector2 *) &size;
+  jcontainer = (Dali::RelayoutContainer *) &container;
+  swig_callbackOnRelayout(jsize, jcontainer);
+
+  Dali::Toolkit::Internal::Control::OnRelayout(size,container);
+}
+
+void SwigDirector_ViewWrapperImpl::OnSetResizePolicy(Dali::ResizePolicy::Type policy, Dali::Dimension::Type dimension) {
+  int jpolicy  ;
+  int jdimension  ;
+
+  jpolicy = (int)policy;
+  jdimension = (int)dimension;
+  swig_callbackOnSetResizePolicy(jpolicy, jdimension);
+
+  Dali::Toolkit::Internal::Control::OnSetResizePolicy(policy,dimension);
+}
+
+Dali::Vector3 SwigDirector_ViewWrapperImpl::GetNaturalSize() {
+  Dali::Vector3 c_result ;
+  void * jresult = 0 ;
+
+  if (!swig_callbackGetNaturalSize) {
+    return Dali::Toolkit::Internal::Control::GetNaturalSize();
+  } else {
+    jresult = (void *) swig_callbackGetNaturalSize();
+    if (!jresult) {
+      SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Unexpected null return for type Dali::Vector3", 0);
+      return c_result;
+    }
+    c_result = *(Dali::Vector3 *)jresult;
+  }
+  return c_result;
+}
+
+float SwigDirector_ViewWrapperImpl::CalculateChildSize(Dali::Actor const &child, Dali::Dimension::Type dimension) {
+  float c_result = SwigValueInit< float >() ;
+  float jresult = 0 ;
+  void * jchild = 0 ;
+  int jdimension  ;
+
+  if (!swig_callbackCalculateChildSize) {
+    return Dali::Toolkit::Internal::Control::CalculateChildSize(child,dimension);
+  } else {
+    jchild = (Dali::Actor *) &child;
+    jdimension = (int)dimension;
+    jresult = (float) swig_callbackCalculateChildSize(jchild, jdimension);
+    c_result = (float)jresult;
+  }
+  return c_result;
+}
+
+float SwigDirector_ViewWrapperImpl::GetHeightForWidth(float width) {
+  float c_result = SwigValueInit< float >() ;
+  float jresult = 0 ;
+  float jwidth  ;
+
+  if (!swig_callbackGetHeightForWidth) {
+    return Dali::Toolkit::Internal::Control::GetHeightForWidth(width);
+  } else {
+    jwidth = width;
+    jresult = (float) swig_callbackGetHeightForWidth(jwidth);
+    c_result = (float)jresult;
+  }
+  return c_result;
+}
+
+float SwigDirector_ViewWrapperImpl::GetWidthForHeight(float height) {
+  float c_result = SwigValueInit< float >() ;
+  float jresult = 0 ;
+  float jheight  ;
+
+  if (!swig_callbackGetWidthForHeight) {
+    return Dali::Toolkit::Internal::Control::GetWidthForHeight(height);
+  } else {
+    jheight = height;
+    jresult = (float) swig_callbackGetWidthForHeight(jheight);
+    c_result = (float)jresult;
+  }
+  return c_result;
+}
+
+bool SwigDirector_ViewWrapperImpl::RelayoutDependentOnChildren(Dali::Dimension::Type dimension) {
+  bool c_result = SwigValueInit< bool >() ;
+  unsigned int jresult = 0 ;
+  int jdimension  ;
+
+  if (!swig_callbackRelayoutDependentOnChildren__SWIG_0) {
+    return Dali::Toolkit::Internal::Control::RelayoutDependentOnChildren(dimension);
+  } else {
+    jdimension = (int)dimension;
+    jresult = (unsigned int) swig_callbackRelayoutDependentOnChildren__SWIG_0(jdimension);
+    c_result = jresult ? true : false;
+  }
+  return c_result;
+}
+
+void SwigDirector_ViewWrapperImpl::OnCalculateRelayoutSize(Dali::Dimension::Type dimension) {
+  int jdimension  ;
+
+  jdimension = (int)dimension;
+  swig_callbackOnCalculateRelayoutSize(jdimension);
+
+  Dali::Toolkit::Internal::Control::OnCalculateRelayoutSize(dimension);
+}
+
+void SwigDirector_ViewWrapperImpl::OnLayoutNegotiated(float size, Dali::Dimension::Type dimension) {
+  float jsize  ;
+  int jdimension  ;
+
+  jsize = size;
+  jdimension = (int)dimension;
+  swig_callbackOnLayoutNegotiated(jsize, jdimension);
+
+  Dali::Toolkit::Internal::Control::OnLayoutNegotiated(size,dimension);
+}
+
+void SwigDirector_ViewWrapperImpl::OnInitialize() {
+  swig_callbackOnInitialize();
+
+  Dali::Toolkit::Internal::Control::OnInitialize();
+}
+
+void SwigDirector_ViewWrapperImpl::OnControlChildAdd(Dali::Actor &child) {
+  swig_callbackOnControlChildAdd(&child);
+
+  Dali::Toolkit::Internal::Control::OnControlChildAdd(child);
+}
+
+void SwigDirector_ViewWrapperImpl::OnControlChildRemove(Dali::Actor &child) {
+  swig_callbackOnControlChildRemove(&child);
+
+  Dali::Toolkit::Internal::Control::OnControlChildRemove(child);
+}
+
+void SwigDirector_ViewWrapperImpl::OnStyleChange(Dali::Toolkit::StyleManager styleManager, Dali::StyleChange::Type change) {
+  void * jstyleManager  ;
+  int jchange  ;
+
+  jstyleManager = (void *)new Dali::Toolkit::StyleManager((const Dali::Toolkit::StyleManager &)styleManager);
+  jchange = (int)change;
+  swig_callbackOnStyleChange(jstyleManager, jchange);
+
+  Dali::Toolkit::Internal::Control::OnStyleChange(styleManager,change);
+}
+
+bool SwigDirector_ViewWrapperImpl::OnAccessibilityActivated() {
+  bool c_result = SwigValueInit< bool >() ;
+  unsigned int jresult = 0 ;
+
+  if (!swig_callbackOnAccessibilityActivated) {
+    return Dali::Toolkit::Internal::Control::OnAccessibilityActivated();
+  } else {
+    jresult = (unsigned int) swig_callbackOnAccessibilityActivated();
+    c_result = jresult ? true : false;
+  }
+  return c_result;
+}
+
+bool SwigDirector_ViewWrapperImpl::OnAccessibilityPan(Dali::PanGesture gesture) {
+  bool c_result = SwigValueInit< bool >() ;
+  unsigned int jresult = 0 ;
+  void * jgesture  ;
+
+  if (!swig_callbackOnAccessibilityPan) {
+    return Dali::Toolkit::Internal::Control::OnAccessibilityPan(gesture);
+  } else {
+    jgesture = (void *)new Dali::PanGesture((const Dali::PanGesture &)gesture);
+    jresult = (unsigned int) swig_callbackOnAccessibilityPan(jgesture);
+    c_result = jresult ? true : false;
+  }
+  return c_result;
+}
+
+bool SwigDirector_ViewWrapperImpl::OnAccessibilityTouch(Dali::TouchEvent const &touchEvent) {
+  bool c_result = SwigValueInit< bool >() ;
+  unsigned int jresult = 0 ;
+  void * jtouchEvent = 0 ;
+
+  if (!swig_callbackOnAccessibilityTouch) {
+    return Dali::Toolkit::Internal::Control::OnAccessibilityTouch(touchEvent);
+  } else {
+    jtouchEvent = (Dali::TouchEvent *) &touchEvent;
+    jresult = (unsigned int) swig_callbackOnAccessibilityTouch(jtouchEvent);
+    c_result = jresult ? true : false;
+  }
+  return c_result;
+}
+
+bool SwigDirector_ViewWrapperImpl::OnAccessibilityValueChange(bool isIncrease) {
+  bool c_result = SwigValueInit< bool >() ;
+  unsigned int jresult = 0 ;
+  unsigned int jisIncrease  ;
+
+  if (!swig_callbackOnAccessibilityValueChange) {
+    return Dali::Toolkit::Internal::Control::OnAccessibilityValueChange(isIncrease);
+  } else {
+    jisIncrease = isIncrease;
+    jresult = (unsigned int) swig_callbackOnAccessibilityValueChange(jisIncrease);
+    c_result = jresult ? true : false;
+  }
+  return c_result;
+}
+
+bool SwigDirector_ViewWrapperImpl::OnAccessibilityZoom() {
+  bool c_result = SwigValueInit< bool >() ;
+  unsigned int jresult = 0 ;
+
+  if (!swig_callbackOnAccessibilityZoom) {
+    return Dali::Toolkit::Internal::Control::OnAccessibilityZoom();
+  } else {
+    jresult = (unsigned int) swig_callbackOnAccessibilityZoom();
+    c_result = jresult ? true : false;
+  }
+  return c_result;
+}
+
+void SwigDirector_ViewWrapperImpl::OnKeyInputFocusGained() {
+  swig_callbackOnKeyInputFocusGained();
+
+  Dali::Toolkit::Internal::Control::OnKeyInputFocusGained();
+}
+
+void SwigDirector_ViewWrapperImpl::OnKeyInputFocusLost() {
+  swig_callbackOnKeyInputFocusLost();
+
+  Dali::Toolkit::Internal::Control::OnKeyInputFocusLost();
+}
+
+Dali::Actor SwigDirector_ViewWrapperImpl::GetNextKeyboardFocusableActor(Dali::Actor currentFocusedActor, Dali::Toolkit::Control::KeyboardFocus::Direction direction, bool loopEnabled) {
+  Dali::Actor c_result ;
+  void * jresult = 0 ;
+  void * jcurrentFocusedActor  ;
+  int jdirection  ;
+  unsigned int jloopEnabled  ;
+
+  if (!swig_callbackGetNextKeyboardFocusableActor) {
+    return Dali::Toolkit::Internal::Control::GetNextKeyboardFocusableActor(currentFocusedActor,direction,loopEnabled);
+  } else {
+    jcurrentFocusedActor = (void *)new Dali::Actor((const Dali::Actor &)currentFocusedActor);
+    jdirection = (int)direction;
+    jloopEnabled = loopEnabled;
+    jresult = (void *) swig_callbackGetNextKeyboardFocusableActor(jcurrentFocusedActor, jdirection, jloopEnabled);
+    if (!jresult) {
+      SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Unexpected null return for type Dali::Actor", 0);
+      return c_result;
+    }
+    c_result = *(Dali::Actor *)jresult;
+  }
+  return c_result;
+}
+
+void SwigDirector_ViewWrapperImpl::OnKeyboardFocusChangeCommitted(Dali::Actor commitedFocusableActor) {
+  void * jcommitedFocusableActor  ;
+  jcommitedFocusableActor = (void *)new Dali::Actor((const Dali::Actor &)commitedFocusableActor);
+  swig_callbackOnKeyboardFocusChangeCommitted(jcommitedFocusableActor);
+
+  Dali::Toolkit::Internal::Control::OnKeyboardFocusChangeCommitted(commitedFocusableActor);
+}
+
+bool SwigDirector_ViewWrapperImpl::OnKeyboardEnter() {
+  bool c_result = SwigValueInit< bool >() ;
+  unsigned int jresult = 0 ;
+
+  if (!swig_callbackOnKeyboardEnter) {
+    return Dali::Toolkit::Internal::Control::OnKeyboardEnter();
+  } else {
+    jresult = (unsigned int) swig_callbackOnKeyboardEnter();
+    c_result = jresult ? true : false;
+  }
+  return c_result;
+}
+
+void SwigDirector_ViewWrapperImpl::OnPinch(Dali::PinchGesture const &pinch) {
+  void * jpinch = 0 ;
+  jpinch = (Dali::PinchGesture *) &pinch;
+  swig_callbackOnPinch(jpinch);
+
+  Dali::Toolkit::Internal::Control::OnPinch(pinch);
+}
+
+void SwigDirector_ViewWrapperImpl::OnPan(Dali::PanGesture const &pan) {
+  void * jpan = 0 ;
+  jpan = (Dali::PanGesture *) &pan;
+  swig_callbackOnPan(jpan);
+
+  Dali::Toolkit::Internal::Control::OnPan(pan);
+}
+
+void SwigDirector_ViewWrapperImpl::OnTap(Dali::TapGesture const &tap) {
+  void * jtap = 0 ;
+  jtap = (Dali::TapGesture *) &tap;
+  swig_callbackOnTap(jtap);
+
+  Dali::Toolkit::Internal::Control::OnTap(tap);
+}
+
+void SwigDirector_ViewWrapperImpl::OnLongPress(Dali::LongPressGesture const &longPress) {
+  void * jlongPress = 0 ;
+
+  jlongPress = (Dali::LongPressGesture *) &longPress;
+  swig_callbackOnLongPress(jlongPress);
+
+  Dali::Toolkit::Internal::Control::OnLongPress(longPress);
+}
+
+Dali::Toolkit::Internal::Control::Extension *SwigDirector_ViewWrapperImpl::GetControlExtension() {
+  return Dali::Toolkit::Internal::Control::GetControlExtension();
+}
+
+void SwigDirector_ViewWrapperImpl::swig_connect_director(SWIG_Callback0_t callbackOnStageConnection, SWIG_Callback1_t callbackOnStageDisconnection, SWIG_Callback2_t callbackOnChildAdd, SWIG_Callback3_t callbackOnChildRemove, SWIG_Callback4_t callbackOnPropertySet, SWIG_Callback5_t callbackOnSizeSet, SWIG_Callback6_t callbackOnSizeAnimation, SWIG_Callback7_t callbackOnTouchEvent, SWIG_Callback8_t callbackOnHoverEvent, SWIG_Callback9_t callbackOnKeyEvent, SWIG_Callback10_t callbackOnWheelEvent, SWIG_Callback11_t callbackOnRelayout, SWIG_Callback12_t callbackOnSetResizePolicy, SWIG_Callback13_t callbackGetNaturalSize, SWIG_Callback14_t callbackCalculateChildSize, SWIG_Callback15_t callbackGetHeightForWidth, SWIG_Callback16_t callbackGetWidthForHeight, SWIG_Callback17_t callbackRelayoutDependentOnChildren__SWIG_0, SWIG_Callback18_t callbackRelayoutDependentOnChildren__SWIG_1, SWIG_Callback19_t callbackOnCalculateRelayoutSize, SWIG_Callback20_t callbackOnLayoutNegotiated, SWIG_Callback21_t callbackOnInitialize, SWIG_Callback22_t callbackOnControlChildAdd, SWIG_Callback23_t callbackOnControlChildRemove, SWIG_Callback24_t callbackOnStyleChange, SWIG_Callback25_t callbackOnAccessibilityActivated, SWIG_Callback26_t callbackOnAccessibilityPan, SWIG_Callback27_t callbackOnAccessibilityTouch, SWIG_Callback28_t callbackOnAccessibilityValueChange, SWIG_Callback29_t callbackOnAccessibilityZoom, SWIG_Callback30_t callbackOnKeyInputFocusGained, SWIG_Callback31_t callbackOnKeyInputFocusLost, SWIG_Callback32_t callbackGetNextKeyboardFocusableActor, SWIG_Callback33_t callbackOnKeyboardFocusChangeCommitted, SWIG_Callback34_t callbackOnKeyboardEnter, SWIG_Callback35_t callbackOnPinch, SWIG_Callback36_t callbackOnPan, SWIG_Callback37_t callbackOnTap, SWIG_Callback38_t callbackOnLongPress, SWIG_Callback39_t callbackSignalConnected, SWIG_Callback40_t callbackSignalDisconnected) {
+  swig_callbackOnStageConnection = callbackOnStageConnection;
+  swig_callbackOnStageDisconnection = callbackOnStageDisconnection;
+  swig_callbackOnChildAdd = callbackOnChildAdd;
+  swig_callbackOnChildRemove = callbackOnChildRemove;
+  swig_callbackOnPropertySet = callbackOnPropertySet;
+  swig_callbackOnSizeSet = callbackOnSizeSet;
+  swig_callbackOnSizeAnimation = callbackOnSizeAnimation;
+  swig_callbackOnTouchEvent = callbackOnTouchEvent;
+  swig_callbackOnHoverEvent = callbackOnHoverEvent;
+  swig_callbackOnKeyEvent = callbackOnKeyEvent;
+  swig_callbackOnWheelEvent = callbackOnWheelEvent;
+  swig_callbackOnRelayout = callbackOnRelayout;
+  swig_callbackOnSetResizePolicy = callbackOnSetResizePolicy;
+  swig_callbackGetNaturalSize = callbackGetNaturalSize;
+  swig_callbackCalculateChildSize = callbackCalculateChildSize;
+  swig_callbackGetHeightForWidth = callbackGetHeightForWidth;
+  swig_callbackGetWidthForHeight = callbackGetWidthForHeight;
+  swig_callbackRelayoutDependentOnChildren__SWIG_0 = callbackRelayoutDependentOnChildren__SWIG_0;
+  swig_callbackRelayoutDependentOnChildren__SWIG_1 = callbackRelayoutDependentOnChildren__SWIG_1;
+  swig_callbackOnCalculateRelayoutSize = callbackOnCalculateRelayoutSize;
+  swig_callbackOnLayoutNegotiated = callbackOnLayoutNegotiated;
+  swig_callbackOnInitialize = callbackOnInitialize;
+  swig_callbackOnControlChildAdd = callbackOnControlChildAdd;
+  swig_callbackOnControlChildRemove = callbackOnControlChildRemove;
+  swig_callbackOnStyleChange = callbackOnStyleChange;
+  swig_callbackOnAccessibilityActivated = callbackOnAccessibilityActivated;
+  swig_callbackOnAccessibilityPan = callbackOnAccessibilityPan;
+  swig_callbackOnAccessibilityTouch = callbackOnAccessibilityTouch;
+  swig_callbackOnAccessibilityValueChange = callbackOnAccessibilityValueChange;
+  swig_callbackOnAccessibilityZoom = callbackOnAccessibilityZoom;
+  swig_callbackOnKeyInputFocusGained = callbackOnKeyInputFocusGained;
+  swig_callbackOnKeyInputFocusLost = callbackOnKeyInputFocusLost;
+  swig_callbackGetNextKeyboardFocusableActor = callbackGetNextKeyboardFocusableActor;
+  swig_callbackOnKeyboardFocusChangeCommitted = callbackOnKeyboardFocusChangeCommitted;
+  swig_callbackOnKeyboardEnter = callbackOnKeyboardEnter;
+  swig_callbackOnPinch = callbackOnPinch;
+  swig_callbackOnPan = callbackOnPan;
+  swig_callbackOnTap = callbackOnTap;
+  swig_callbackOnLongPress = callbackOnLongPress;
+  swig_callbackSignalConnected = callbackSignalConnected;
+  swig_callbackSignalDisconnected = callbackSignalDisconnected;
+}
+
+void SwigDirector_ViewWrapperImpl::swig_init_callbacks() {
+  swig_callbackOnStageConnection = 0;
+  swig_callbackOnStageDisconnection = 0;
+  swig_callbackOnChildAdd = 0;
+  swig_callbackOnChildRemove = 0;
+  swig_callbackOnPropertySet = 0;
+  swig_callbackOnSizeSet = 0;
+  swig_callbackOnSizeAnimation = 0;
+  swig_callbackOnTouchEvent = 0;
+  swig_callbackOnHoverEvent = 0;
+  swig_callbackOnKeyEvent = 0;
+  swig_callbackOnWheelEvent = 0;
+  swig_callbackOnRelayout = 0;
+  swig_callbackOnSetResizePolicy = 0;
+  swig_callbackGetNaturalSize = 0;
+  swig_callbackCalculateChildSize = 0;
+  swig_callbackGetHeightForWidth = 0;
+  swig_callbackGetWidthForHeight = 0;
+  swig_callbackRelayoutDependentOnChildren__SWIG_0 = 0;
+  swig_callbackRelayoutDependentOnChildren__SWIG_1 = 0;
+  swig_callbackOnCalculateRelayoutSize = 0;
+  swig_callbackOnLayoutNegotiated = 0;
+  swig_callbackOnInitialize = 0;
+  swig_callbackOnControlChildAdd = 0;
+  swig_callbackOnControlChildRemove = 0;
+  swig_callbackOnStyleChange = 0;
+  swig_callbackOnAccessibilityActivated = 0;
+  swig_callbackOnAccessibilityPan = 0;
+  swig_callbackOnAccessibilityTouch = 0;
+  swig_callbackOnAccessibilityValueChange = 0;
+  swig_callbackOnAccessibilityZoom = 0;
+  swig_callbackOnKeyInputFocusGained = 0;
+  swig_callbackOnKeyInputFocusLost = 0;
+  swig_callbackGetNextKeyboardFocusableActor = 0;
+  swig_callbackOnKeyboardFocusChangeCommitted = 0;
+  swig_callbackOnKeyboardEnter = 0;
+  swig_callbackOnPinch = 0;
+  swig_callbackOnPan = 0;
+  swig_callbackOnTap = 0;
+  swig_callbackOnLongPress = 0;
+  swig_callbackSignalConnected = 0;
+  swig_callbackSignalDisconnected = 0;
+}
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_ViewWrapperImpl_CONTROL_BEHAVIOUR_FLAG_COUNT_get() {
+  int jresult ;
+  int result;
+
+  result = (int)Dali::Toolkit::Internal::ControlWrapper::CONTROL_BEHAVIOUR_FLAG_COUNT;
+  jresult = result;
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ViewWrapperImpl(int jarg1) {
+  void * jresult ;
+  Dali::Toolkit::Internal::ControlWrapper::CustomControlBehaviour arg1 ;
+  Dali::Toolkit::Internal::ControlWrapper *result = 0 ;
+
+  arg1 = (Dali::Toolkit::Internal::ControlWrapper::CustomControlBehaviour)jarg1;
+  {
+    try {
+      result = (Dali::Toolkit::Internal::ControlWrapper *)new SwigDirector_ViewWrapperImpl(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (void *)result;
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ViewWrapperImpl_New(char * jarg1, void * jarg2) {
+  void * jresult ;
+  std::string arg1 ;
+  Dali::Toolkit::Internal::ControlWrapper *arg2 = (Dali::Toolkit::Internal::ControlWrapper *) 0 ;
+  Dali::Toolkit::ControlWrapper result;
+
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  (&arg1)->assign(jarg1);
+  arg2 = (Dali::Toolkit::Internal::ControlWrapper *)jarg2;
+  {
+    try {
+      result = Dali::Toolkit::Internal::ControlWrapper::New(arg1,arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ControlWrapper((const Dali::Toolkit::ControlWrapper &)result);
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ViewWrapperImpl(void * jarg1) {
+  Dali::Toolkit::Internal::ControlWrapper *arg1 = (Dali::Toolkit::Internal::ControlWrapper *) 0 ;
+
+  arg1 = (Dali::Toolkit::Internal::ControlWrapper *)jarg1;
+  {
+    try {
+      if (arg1)
+      {
+        arg1->Unreference();
+      }
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewWrapperImpl_director_connect(void *objarg, SwigDirector_ViewWrapperImpl::SWIG_Callback0_t callback0, SwigDirector_ViewWrapperImpl::SWIG_Callback1_t callback1, SwigDirector_ViewWrapperImpl::SWIG_Callback2_t callback2, SwigDirector_ViewWrapperImpl::SWIG_Callback3_t callback3, SwigDirector_ViewWrapperImpl::SWIG_Callback4_t callback4, SwigDirector_ViewWrapperImpl::SWIG_Callback5_t callback5, SwigDirector_ViewWrapperImpl::SWIG_Callback6_t callback6, SwigDirector_ViewWrapperImpl::SWIG_Callback7_t callback7, SwigDirector_ViewWrapperImpl::SWIG_Callback8_t callback8, SwigDirector_ViewWrapperImpl::SWIG_Callback9_t callback9, SwigDirector_ViewWrapperImpl::SWIG_Callback10_t callback10, SwigDirector_ViewWrapperImpl::SWIG_Callback11_t callback11, SwigDirector_ViewWrapperImpl::SWIG_Callback12_t callback12, SwigDirector_ViewWrapperImpl::SWIG_Callback13_t callback13, SwigDirector_ViewWrapperImpl::SWIG_Callback14_t callback14, SwigDirector_ViewWrapperImpl::SWIG_Callback15_t callback15, SwigDirector_ViewWrapperImpl::SWIG_Callback16_t callback16, SwigDirector_ViewWrapperImpl::SWIG_Callback17_t callback17, SwigDirector_ViewWrapperImpl::SWIG_Callback18_t callback18, SwigDirector_ViewWrapperImpl::SWIG_Callback19_t callback19, SwigDirector_ViewWrapperImpl::SWIG_Callback20_t callback20, SwigDirector_ViewWrapperImpl::SWIG_Callback21_t callback21, SwigDirector_ViewWrapperImpl::SWIG_Callback22_t callback22, SwigDirector_ViewWrapperImpl::SWIG_Callback23_t callback23, SwigDirector_ViewWrapperImpl::SWIG_Callback24_t callback24, SwigDirector_ViewWrapperImpl::SWIG_Callback25_t callback25, SwigDirector_ViewWrapperImpl::SWIG_Callback26_t callback26, SwigDirector_ViewWrapperImpl::SWIG_Callback27_t callback27, SwigDirector_ViewWrapperImpl::SWIG_Callback28_t callback28, SwigDirector_ViewWrapperImpl::SWIG_Callback29_t callback29, SwigDirector_ViewWrapperImpl::SWIG_Callback30_t callback30, SwigDirector_ViewWrapperImpl::SWIG_Callback31_t callback31, SwigDirector_ViewWrapperImpl::SWIG_Callback32_t callback32, SwigDirector_ViewWrapperImpl::SWIG_Callback33_t callback33, SwigDirector_ViewWrapperImpl::SWIG_Callback34_t callback34, SwigDirector_ViewWrapperImpl::SWIG_Callback35_t callback35, SwigDirector_ViewWrapperImpl::SWIG_Callback36_t callback36, SwigDirector_ViewWrapperImpl::SWIG_Callback37_t callback37, SwigDirector_ViewWrapperImpl::SWIG_Callback38_t callback38, SwigDirector_ViewWrapperImpl::SWIG_Callback39_t callback39, SwigDirector_ViewWrapperImpl::SWIG_Callback40_t callback40) {
+  Dali::Toolkit::Internal::ControlWrapper *obj = (Dali::Toolkit::Internal::ControlWrapper *)objarg;
+  SwigDirector_ViewWrapperImpl *director = dynamic_cast<SwigDirector_ViewWrapperImpl *>(obj);
+  if (director) {
+    director->swig_connect_director(callback0, callback1, callback2, callback3, callback4, callback5, callback6, callback7, callback8, callback9, callback10, callback11, callback12, callback13, callback14, callback15, callback16, callback17, callback18, callback19, callback20, callback21, callback22, callback23, callback24, callback25, callback26, callback27, callback28, callback29, callback30, callback31, callback32, callback33, callback34, callback35, callback36, callback37, callback38, callback39, callback40);
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_GetControlWrapperImpl__SWIG_0(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ControlWrapper *arg1 = 0 ;
+  Dali::Toolkit::Internal::ControlWrapper *result = 0 ;
+
+  arg1 = (Dali::Toolkit::ControlWrapper *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ControlWrapper & type is null", 0);
+    return 0;
+  }
+  {
+    try {
+      result = (Dali::Toolkit::Internal::ControlWrapper *) &Dali::Toolkit::GetControlWrapperImpl(*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (void *)result;
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ViewWrapper_New(char * jarg1, void * jarg2) {
+  void * jresult ;
+  std::string arg1 ;
+  Dali::Toolkit::Internal::ControlWrapper *arg2 = 0 ;
+  Dali::Toolkit::ControlWrapper result;
+
+  if (!jarg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "null string", 0);
+    return 0;
+  }
+  (&arg1)->assign(jarg1);
+  arg2 = (Dali::Toolkit::Internal::ControlWrapper *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Internal::ControlWrapper & type is null", 0);
+    return 0;
+  }
+  {
+    try {
+      result = Dali::Toolkit::ControlWrapper::New(arg1,*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ControlWrapper((const Dali::Toolkit::ControlWrapper &)result);
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ViewWrapper__SWIG_0() {
+  void * jresult ;
+  Dali::Toolkit::ControlWrapper *result = 0 ;
+
+  {
+    try {
+      result = (Dali::Toolkit::ControlWrapper *)new Dali::Toolkit::ControlWrapper();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (void *)result;
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_ViewWrapper(void * jarg1) {
+  Dali::Toolkit::ControlWrapper *arg1 = (Dali::Toolkit::ControlWrapper *) 0 ;
+
+  arg1 = (Dali::Toolkit::ControlWrapper *)jarg1;
+  {
+    try {
+      delete arg1;
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ViewWrapper__SWIG_1(void * jarg1) {
+  void * jresult ;
+  Dali::Toolkit::ControlWrapper *arg1 = 0 ;
+  Dali::Toolkit::ControlWrapper *result = 0 ;
+
+  arg1 = (Dali::Toolkit::ControlWrapper *)jarg1;
+  if (!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ControlWrapper const & type is null", 0);
+    return 0;
+  }
+  {
+    try {
+      result = (Dali::Toolkit::ControlWrapper *)new Dali::Toolkit::ControlWrapper((Dali::Toolkit::ControlWrapper const &)*arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (void *)result;
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ViewWrapper_Assign(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::ControlWrapper *arg1 = (Dali::Toolkit::ControlWrapper *) 0 ;
+  Dali::Toolkit::ControlWrapper *arg2 = 0 ;
+  Dali::Toolkit::ControlWrapper *result = 0 ;
+
+  arg1 = (Dali::Toolkit::ControlWrapper *)jarg1;
+  arg2 = (Dali::Toolkit::ControlWrapper *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::ControlWrapper const & type is null", 0);
+    return 0;
+  }
+  {
+    try {
+      result = (Dali::Toolkit::ControlWrapper *) &(arg1)->operator =((Dali::Toolkit::ControlWrapper const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = (void *)result;
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ViewWrapper_DownCast(void * jarg1) {
+  void * jresult ;
+  Dali::BaseHandle arg1 ;
+  Dali::BaseHandle *argp1 ;
+  Dali::Toolkit::ControlWrapper result;
+
+  argp1 = (Dali::BaseHandle *)jarg1;
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null Dali::BaseHandle", 0);
+    return 0;
+  }
+  arg1 = *argp1;
+  {
+    try {
+      result = Dali::Toolkit::ControlWrapper::DownCast(arg1);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::ControlWrapper((const Dali::Toolkit::ControlWrapper &)result);
+  return jresult;
+}
+
+SWIGEXPORT Dali::Toolkit::Internal::Control * SWIGSTDCALL CSharp_Dali_ViewWrapperImpl_SWIGUpcast(Dali::Toolkit::Internal::ControlWrapper *jarg1) {
+    return (Dali::Toolkit::Internal::Control *)jarg1;
+}
+
+SWIGEXPORT Dali::Toolkit::Control * SWIGSTDCALL CSharp_Dali_ViewWrapper_SWIGUpcast(Dali::Toolkit::ControlWrapper *jarg1) {
+    return (Dali::Toolkit::Control *)jarg1;
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_ViewWrapperImpl_RelayoutRequest(void * jarg1) {
+  Dali::Toolkit::Internal::ControlWrapper *arg1 = (Dali::Toolkit::Internal::ControlWrapper *) 0 ;
+
+  arg1 = (Dali::Toolkit::Internal::ControlWrapper *)jarg1;
+  {
+    try {
+      (arg1)->RelayoutRequest();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_ViewWrapperImpl_GetHeightForWidthBase(void * jarg1, float jarg2) {
+  float jresult ;
+  Dali::Toolkit::Internal::ControlWrapper *arg1 = (Dali::Toolkit::Internal::ControlWrapper *) 0 ;
+  float arg2 ;
+  float result;
+
+  arg1 = (Dali::Toolkit::Internal::ControlWrapper *)jarg1;
+  arg2 = (float)jarg2;
+  {
+    try {
+      result = (float)(arg1)->GetHeightForWidthBase(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = result;
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_ViewWrapperImpl_GetWidthForHeightBase(void * jarg1, float jarg2) {
+  float jresult ;
+  Dali::Toolkit::Internal::ControlWrapper *arg1 = (Dali::Toolkit::Internal::ControlWrapper *) 0 ;
+  float arg2 ;
+  float result;
+
+  arg1 = (Dali::Toolkit::Internal::ControlWrapper *)jarg1;
+  arg2 = (float)jarg2;
+  {
+    try {
+      result = (float)(arg1)->GetWidthForHeightBase(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = result;
+  return jresult;
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_ViewWrapperImpl_CalculateChildSizeBase(void * jarg1, void * jarg2, int jarg3) {
+  float jresult ;
+  Dali::Toolkit::Internal::ControlWrapper *arg1 = (Dali::Toolkit::Internal::ControlWrapper *) 0 ;
+  Dali::Actor *arg2 = 0 ;
+  Dali::Dimension::Type arg3 ;
+  float result;
+
+  arg1 = (Dali::Toolkit::Internal::ControlWrapper *)jarg1;
+  arg2 = (Dali::Actor *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Actor const & type is null", 0);
+    return 0;
+  }
+  arg3 = (Dali::Dimension::Type)jarg3;
+  {
+    try {
+      result = (float)(arg1)->CalculateChildSizeBase((Dali::Actor const &)*arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = result;
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ViewWrapperImpl_RelayoutDependentOnChildrenBase__SWIG_0(void * jarg1, int jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::ControlWrapper *arg1 = (Dali::Toolkit::Internal::ControlWrapper *) 0 ;
+  Dali::Dimension::Type arg2 ;
+  bool result;
+
+  arg1 = (Dali::Toolkit::Internal::ControlWrapper *)jarg1;
+  arg2 = (Dali::Dimension::Type)jarg2;
+  {
+    try {
+      result = (bool)(arg1)->RelayoutDependentOnChildrenBase(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = result;
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ViewWrapperImpl_RelayoutDependentOnChildrenBase__SWIG_1(void * jarg1) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::ControlWrapper *arg1 = (Dali::Toolkit::Internal::ControlWrapper *) 0 ;
+  bool result;
+
+  arg1 = (Dali::Toolkit::Internal::ControlWrapper *)jarg1;
+  {
+    try {
+      result = (bool)(arg1)->RelayoutDependentOnChildrenBase();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = result;
+  return jresult;
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_ViewWrapperImpl_RegisterVisual__SWIG_0(void * jarg1, int jarg2, void * jarg3) {
+  Dali::Toolkit::Internal::ControlWrapper *arg1 = (Dali::Toolkit::Internal::ControlWrapper *) 0 ;
+  Dali::Property::Index arg2 ;
+  Dali::Toolkit::Visual::Base *arg3 = 0 ;
+
+  arg1 = (Dali::Toolkit::Internal::ControlWrapper *)jarg1;
+  arg2 = (Dali::Property::Index)jarg2;
+  arg3 = (Dali::Toolkit::Visual::Base *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Visual::Base & type is null", 0);
+    return ;
+  }
+  {
+    try {
+      (arg1)->RegisterVisual(arg2,*arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_ViewWrapperImpl_RegisterVisual__SWIG_1(void * jarg1, int jarg2, void * jarg3, unsigned int jarg4) {
+  Dali::Toolkit::Internal::ControlWrapper *arg1 = (Dali::Toolkit::Internal::ControlWrapper *) 0 ;
+  Dali::Property::Index arg2 ;
+  Dali::Toolkit::Visual::Base *arg3 = 0 ;
+  bool arg4 ;
+
+  arg1 = (Dali::Toolkit::Internal::ControlWrapper *)jarg1;
+  arg2 = (Dali::Property::Index)jarg2;
+  arg3 = (Dali::Toolkit::Visual::Base *)jarg3;
+  if (!arg3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::Visual::Base & type is null", 0);
+    return ;
+  }
+  arg4 = jarg4 ? true : false;
+  {
+    try {
+      (arg1)->RegisterVisual(arg2,*arg3,arg4);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_ViewWrapperImpl_UnregisterVisual(void * jarg1, int jarg2) {
+  Dali::Toolkit::Internal::ControlWrapper *arg1 = (Dali::Toolkit::Internal::ControlWrapper *) 0 ;
+  Dali::Property::Index arg2 ;
+
+  arg1 = (Dali::Toolkit::Internal::ControlWrapper *)jarg1;
+  arg2 = (Dali::Property::Index)jarg2;
+  {
+    try {
+      (arg1)->UnregisterVisual(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_ViewWrapperImpl_GetVisual(void * jarg1, int jarg2) {
+  void * jresult ;
+  Dali::Toolkit::Internal::ControlWrapper *arg1 = (Dali::Toolkit::Internal::ControlWrapper *) 0 ;
+  Dali::Property::Index arg2 ;
+  Dali::Toolkit::Visual::Base result;
+
+  arg1 = (Dali::Toolkit::Internal::ControlWrapper *)jarg1;
+  arg2 = (Dali::Property::Index)jarg2;
+  {
+    try {
+      result = ((Dali::Toolkit::Internal::ControlWrapper const *)arg1)->GetVisual(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Toolkit::Visual::Base((const Dali::Toolkit::Visual::Base &)result);
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_ViewWrapperImpl_EnableVisual(void * jarg1, int jarg2, unsigned int jarg3) {
+  Dali::Toolkit::Internal::ControlWrapper *arg1 = (Dali::Toolkit::Internal::ControlWrapper *) 0 ;
+  Dali::Property::Index arg2 ;
+  bool arg3 ;
+
+  arg1 = (Dali::Toolkit::Internal::ControlWrapper *)jarg1;
+  arg2 = (Dali::Property::Index)jarg2;
+  arg3 = jarg3 ? true : false;
+  {
+    try {
+      (arg1)->EnableVisual(arg2,arg3);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ViewWrapperImpl_IsVisualEnabled(void * jarg1, int jarg2) {
+  unsigned int jresult ;
+  Dali::Toolkit::Internal::ControlWrapper *arg1 = (Dali::Toolkit::Internal::ControlWrapper *) 0 ;
+  Dali::Property::Index arg2 ;
+  bool result;
+
+  arg1 = (Dali::Toolkit::Internal::ControlWrapper *)jarg1;
+  arg2 = (Dali::Property::Index)jarg2;
+  {
+    try {
+      result = (bool)((Dali::Toolkit::Internal::ControlWrapper const *)arg1)->IsVisualEnabled(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = result;
+  return jresult;
+}
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_ViewWrapperImpl_CreateTransition(void * jarg1, void * jarg2) {
+  void * jresult ;
+  Dali::Toolkit::Internal::ControlWrapper *arg1 = (Dali::Toolkit::Internal::ControlWrapper *) 0 ;
+  Dali::Toolkit::TransitionData *arg2 = 0 ;
+  Dali::Animation result;
+
+  arg1 = (Dali::Toolkit::Internal::ControlWrapper *)jarg1;
+  arg2 = (Dali::Toolkit::TransitionData *)jarg2;
+  if (!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Dali::Toolkit::TransitionData const & type is null", 0);
+    return 0;
+  }
+  {
+    try {
+      result = (arg1)->CreateTransition((Dali::Toolkit::TransitionData const &)*arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
+      };
+    }
+  }
+  jresult = new Dali::Animation((const Dali::Animation &)result);
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_ViewWrapperImpl_EmitKeyInputFocusSignal(void * jarg1, unsigned int jarg2) {
+  Dali::Toolkit::Internal::ControlWrapper *arg1 = (Dali::Toolkit::Internal::ControlWrapper *) 0 ;
+  bool arg2 ;
+
+  arg1 = (Dali::Toolkit::Internal::ControlWrapper *)jarg1;
+  arg2 = jarg2 ? true : false;
+  {
+    try {
+      (arg1)->EmitKeyInputFocusSignal(arg2);
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ViewWrapperImpl_ApplyThemeStyle(void * jarg1) {
+  Dali::Toolkit::Internal::ControlWrapper *arg1 = (Dali::Toolkit::Internal::ControlWrapper *) 0 ;
+
+  arg1 = (Dali::Toolkit::Internal::ControlWrapper *)jarg1;
+  {
+    try {
+      (arg1)->ApplyThemeStyle();
+    } catch (std::out_of_range& e) {
+      {
+        SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (std::exception& e) {
+      {
+        SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return ;
+      };
+    } catch (...) {
+      {
+        SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return ;
+      };
+    }
+  }
+}
+
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/plugins/dali-sharp/dali-bindings/view-wrapper-impl-wrap.h b/plugins/dali-sharp/dali-bindings/view-wrapper-impl-wrap.h
new file mode 100644 (file)
index 0000000..62622b4
--- /dev/null
@@ -0,0 +1,233 @@
+#ifndef CSHARP_VIEW_WRAPPER_IMPL_H
+#define CSHARP_VIEW_WRAPPER_IMPL_H
+
+/*
+ * 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.
+ *
+ */
+
+#include "common.h"
+
+class SwigDirector_ViewWrapperImpl : public Dali::Toolkit::Internal::ControlWrapper
+{
+public:
+
+    SwigDirector_ViewWrapperImpl(Dali::Toolkit::Internal::ControlWrapper::CustomControlBehaviour behaviourFlags);
+    virtual ~SwigDirector_ViewWrapperImpl();
+    virtual void OnStageConnection(int depth);
+    virtual void OnStageConnectionSwigPublic(int depth)
+    {
+      Dali::Toolkit::Internal::Control::OnStageConnection(depth);
+    }
+    virtual void OnStageDisconnection();
+    virtual void OnStageDisconnectionSwigPublic()
+    {
+      Dali::Toolkit::Internal::Control::OnStageDisconnection();
+    }
+    virtual void OnChildAdd(Dali::Actor &child);
+    virtual void OnChildAddSwigPublic(Dali::Actor &child)
+    {
+      Dali::Toolkit::Internal::Control::OnChildAdd(child);
+    }
+    virtual void OnChildRemove(Dali::Actor &child);
+    virtual void OnChildRemoveSwigPublic(Dali::Actor &child)
+    {
+      Dali::Toolkit::Internal::Control::OnChildRemove(child);
+    }
+    virtual void OnPropertySet(Dali::Property::Index index, Dali::Property::Value propertyValue);
+    virtual void OnSizeSet(Dali::Vector3 const &targetSize);
+    virtual void OnSizeSetSwigPublic(Dali::Vector3 const &targetSize)
+    {
+      Dali::Toolkit::Internal::Control::OnSizeSet(targetSize);
+    }
+    virtual void OnSizeAnimation(Dali::Animation &animation, Dali::Vector3 const &targetSize);
+    virtual void OnSizeAnimationSwigPublic(Dali::Animation &animation, Dali::Vector3 const &targetSize)
+    {
+      Dali::Toolkit::Internal::Control::OnSizeAnimation(animation,targetSize);
+    }
+    virtual bool OnTouchEvent(Dali::TouchEvent const &event);
+    virtual bool OnTouchEventSwigPublic(Dali::TouchEvent const &event)
+    {
+      return Dali::Toolkit::Internal::Control::OnTouchEvent(event);
+    }
+    virtual bool OnHoverEvent(Dali::HoverEvent const &event);
+    virtual bool OnHoverEventSwigPublic(Dali::HoverEvent const &event)
+    {
+      return Dali::Toolkit::Internal::Control::OnHoverEvent(event);
+    }
+    virtual bool OnKeyEvent(Dali::KeyEvent const &event);
+    virtual bool OnKeyEventSwigPublic(Dali::KeyEvent const &event)
+    {
+      return Dali::Toolkit::Internal::Control::OnKeyEvent(event);
+    }
+    virtual bool OnWheelEvent(Dali::WheelEvent const &event);
+    virtual bool OnWheelEventSwigPublic(Dali::WheelEvent const &event)
+    {
+      return Dali::Toolkit::Internal::Control::OnWheelEvent(event);
+    }
+    virtual void OnRelayout(Dali::Vector2 const &size, Dali::RelayoutContainer &container);
+    virtual void OnRelayoutSwigPublic(Dali::Vector2 const &size, Dali::RelayoutContainer &container)
+    {
+      Dali::Toolkit::Internal::Control::OnRelayout(size,container);
+    }
+    virtual void OnSetResizePolicy(Dali::ResizePolicy::Type policy, Dali::Dimension::Type dimension);
+    virtual void OnSetResizePolicySwigPublic(Dali::ResizePolicy::Type policy, Dali::Dimension::Type dimension)
+    {
+      Dali::Toolkit::Internal::Control::OnSetResizePolicy(policy,dimension);
+    }
+    virtual Dali::Vector3 GetNaturalSize();
+    virtual Dali::Vector3 GetNaturalSizeSwigPublic()
+    {
+      return Dali::Toolkit::Internal::Control::GetNaturalSize();
+    }
+    virtual float CalculateChildSize(Dali::Actor const &child, Dali::Dimension::Type dimension);
+    virtual float CalculateChildSizeSwigPublic(Dali::Actor const &child, Dali::Dimension::Type dimension)
+    {
+      return Dali::Toolkit::Internal::Control::CalculateChildSize(child,dimension);
+    }
+    virtual float GetHeightForWidth(float width);
+    virtual float GetHeightForWidthSwigPublic(float width)
+    {
+      return Dali::Toolkit::Internal::Control::GetHeightForWidth(width);
+    }
+    virtual float GetWidthForHeight(float height);
+    virtual float GetWidthForHeightSwigPublic(float height)
+    {
+      return Dali::Toolkit::Internal::Control::GetWidthForHeight(height);
+    }
+    virtual bool RelayoutDependentOnChildren(Dali::Dimension::Type dimension = Dali::Dimension::ALL_DIMENSIONS);
+    virtual bool RelayoutDependentOnChildrenSwigPublic(Dali::Dimension::Type dimension = Dali::Dimension::ALL_DIMENSIONS)
+    {
+      return Dali::Toolkit::Internal::Control::RelayoutDependentOnChildren(dimension);
+    }
+    virtual void OnCalculateRelayoutSize(Dali::Dimension::Type dimension);
+    virtual void OnCalculateRelayoutSizeSwigPublic(Dali::Dimension::Type dimension)
+    {
+      Dali::Toolkit::Internal::Control::OnCalculateRelayoutSize(dimension);
+    }
+    virtual void OnLayoutNegotiated(float size, Dali::Dimension::Type dimension);
+    virtual void OnLayoutNegotiatedSwigPublic(float size, Dali::Dimension::Type dimension)
+    {
+      Dali::Toolkit::Internal::Control::OnLayoutNegotiated(size,dimension);
+    }
+    virtual void OnInitialize();
+    virtual void OnControlChildAdd(Dali::Actor &child);
+    virtual void OnControlChildRemove(Dali::Actor &child);
+    virtual void OnStyleChange(Dali::Toolkit::StyleManager styleManager, Dali::StyleChange::Type change);
+    virtual bool OnAccessibilityActivated();
+    virtual bool OnAccessibilityPan(Dali::PanGesture gesture);
+    virtual bool OnAccessibilityTouch(Dali::TouchEvent const &touchEvent);
+    virtual bool OnAccessibilityValueChange(bool isIncrease);
+    virtual bool OnAccessibilityZoom();
+    virtual void OnKeyInputFocusGained();
+    virtual void OnKeyInputFocusLost();
+    virtual Dali::Actor GetNextKeyboardFocusableActor(Dali::Actor currentFocusedActor, Dali::Toolkit::Control::KeyboardFocus::Direction direction, bool loopEnabled);
+    virtual void OnKeyboardFocusChangeCommitted(Dali::Actor commitedFocusableActor);
+    virtual bool OnKeyboardEnter();
+    virtual void OnPinch(Dali::PinchGesture const &pinch);
+    virtual void OnPan(Dali::PanGesture const &pan);
+    virtual void OnTap(Dali::TapGesture const &tap);
+    virtual void OnLongPress(Dali::LongPressGesture const &longPress);
+    virtual Dali::Toolkit::Internal::Control::Extension *GetControlExtension();
+
+    typedef void (SWIGSTDCALL* SWIG_Callback0_t)(int);
+    typedef void (SWIGSTDCALL* SWIG_Callback1_t)();
+    typedef void (SWIGSTDCALL* SWIG_Callback2_t)(void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback3_t)(void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback4_t)(int, void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback5_t)(void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback6_t)(void *, void *);
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback7_t)(void *);
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback8_t)(void *);
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback9_t)(void *);
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback10_t)(void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback11_t)(void *, void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback12_t)(int, int);
+    typedef void * (SWIGSTDCALL* SWIG_Callback13_t)();
+    typedef float (SWIGSTDCALL* SWIG_Callback14_t)(void *, int);
+    typedef float (SWIGSTDCALL* SWIG_Callback15_t)(float);
+    typedef float (SWIGSTDCALL* SWIG_Callback16_t)(float);
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback17_t)(int);
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback18_t)();
+    typedef void (SWIGSTDCALL* SWIG_Callback19_t)(int);
+    typedef void (SWIGSTDCALL* SWIG_Callback20_t)(float, int);
+    typedef void (SWIGSTDCALL* SWIG_Callback21_t)();
+    typedef void (SWIGSTDCALL* SWIG_Callback22_t)(void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback23_t)(void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback24_t)(void *, int);
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback25_t)();
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback26_t)(void *);
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback27_t)(void *);
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback28_t)(unsigned int);
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback29_t)();
+    typedef void (SWIGSTDCALL* SWIG_Callback30_t)();
+    typedef void (SWIGSTDCALL* SWIG_Callback31_t)();
+    typedef void * (SWIGSTDCALL* SWIG_Callback32_t)(void *, int, unsigned int);
+    typedef void (SWIGSTDCALL* SWIG_Callback33_t)(void *);
+    typedef unsigned int (SWIGSTDCALL* SWIG_Callback34_t)();
+    typedef void (SWIGSTDCALL* SWIG_Callback35_t)(void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback36_t)(void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback37_t)(void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback38_t)(void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback39_t)(void *, void *);
+    typedef void (SWIGSTDCALL* SWIG_Callback40_t)(void *, void *);
+    void swig_connect_director(SWIG_Callback0_t callbackOnStageConnection, SWIG_Callback1_t callbackOnStageDisconnection, SWIG_Callback2_t callbackOnChildAdd, SWIG_Callback3_t callbackOnChildRemove, SWIG_Callback4_t callbackOnPropertySet, SWIG_Callback5_t callbackOnSizeSet, SWIG_Callback6_t callbackOnSizeAnimation, SWIG_Callback7_t callbackOnTouchEvent, SWIG_Callback8_t callbackOnHoverEvent, SWIG_Callback9_t callbackOnKeyEvent, SWIG_Callback10_t callbackOnWheelEvent, SWIG_Callback11_t callbackOnRelayout, SWIG_Callback12_t callbackOnSetResizePolicy, SWIG_Callback13_t callbackGetNaturalSize, SWIG_Callback14_t callbackCalculateChildSize, SWIG_Callback15_t callbackGetHeightForWidth, SWIG_Callback16_t callbackGetWidthForHeight, SWIG_Callback17_t callbackRelayoutDependentOnChildren__SWIG_0, SWIG_Callback18_t callbackRelayoutDependentOnChildren__SWIG_1, SWIG_Callback19_t callbackOnCalculateRelayoutSize, SWIG_Callback20_t callbackOnLayoutNegotiated, SWIG_Callback21_t callbackOnInitialize, SWIG_Callback22_t callbackOnControlChildAdd, SWIG_Callback23_t callbackOnControlChildRemove, SWIG_Callback24_t callbackOnStyleChange, SWIG_Callback25_t callbackOnAccessibilityActivated, SWIG_Callback26_t callbackOnAccessibilityPan, SWIG_Callback27_t callbackOnAccessibilityTouch, SWIG_Callback28_t callbackOnAccessibilityValueChange, SWIG_Callback29_t callbackOnAccessibilityZoom, SWIG_Callback30_t callbackOnKeyInputFocusGained, SWIG_Callback31_t callbackOnKeyInputFocusLost, SWIG_Callback32_t callbackGetNextKeyboardFocusableActor, SWIG_Callback33_t callbackOnKeyboardFocusChangeCommitted, SWIG_Callback34_t callbackOnKeyboardEnter, SWIG_Callback35_t callbackOnPinch, SWIG_Callback36_t callbackOnPan, SWIG_Callback37_t callbackOnTap, SWIG_Callback38_t callbackOnLongPress, SWIG_Callback39_t callbackSignalConnected, SWIG_Callback40_t callbackSignalDisconnected);
+
+private:
+    SWIG_Callback0_t swig_callbackOnStageConnection;
+    SWIG_Callback1_t swig_callbackOnStageDisconnection;
+    SWIG_Callback2_t swig_callbackOnChildAdd;
+    SWIG_Callback3_t swig_callbackOnChildRemove;
+    SWIG_Callback4_t swig_callbackOnPropertySet;
+    SWIG_Callback5_t swig_callbackOnSizeSet;
+    SWIG_Callback6_t swig_callbackOnSizeAnimation;
+    SWIG_Callback7_t swig_callbackOnTouchEvent;
+    SWIG_Callback8_t swig_callbackOnHoverEvent;
+    SWIG_Callback9_t swig_callbackOnKeyEvent;
+    SWIG_Callback10_t swig_callbackOnWheelEvent;
+    SWIG_Callback11_t swig_callbackOnRelayout;
+    SWIG_Callback12_t swig_callbackOnSetResizePolicy;
+    SWIG_Callback13_t swig_callbackGetNaturalSize;
+    SWIG_Callback14_t swig_callbackCalculateChildSize;
+    SWIG_Callback15_t swig_callbackGetHeightForWidth;
+    SWIG_Callback16_t swig_callbackGetWidthForHeight;
+    SWIG_Callback17_t swig_callbackRelayoutDependentOnChildren__SWIG_0;
+    SWIG_Callback18_t swig_callbackRelayoutDependentOnChildren__SWIG_1;
+    SWIG_Callback19_t swig_callbackOnCalculateRelayoutSize;
+    SWIG_Callback20_t swig_callbackOnLayoutNegotiated;
+    SWIG_Callback21_t swig_callbackOnInitialize;
+    SWIG_Callback22_t swig_callbackOnControlChildAdd;
+    SWIG_Callback23_t swig_callbackOnControlChildRemove;
+    SWIG_Callback24_t swig_callbackOnStyleChange;
+    SWIG_Callback25_t swig_callbackOnAccessibilityActivated;
+    SWIG_Callback26_t swig_callbackOnAccessibilityPan;
+    SWIG_Callback27_t swig_callbackOnAccessibilityTouch;
+    SWIG_Callback28_t swig_callbackOnAccessibilityValueChange;
+    SWIG_Callback29_t swig_callbackOnAccessibilityZoom;
+    SWIG_Callback30_t swig_callbackOnKeyInputFocusGained;
+    SWIG_Callback31_t swig_callbackOnKeyInputFocusLost;
+    SWIG_Callback32_t swig_callbackGetNextKeyboardFocusableActor;
+    SWIG_Callback33_t swig_callbackOnKeyboardFocusChangeCommitted;
+    SWIG_Callback34_t swig_callbackOnKeyboardEnter;
+    SWIG_Callback35_t swig_callbackOnPinch;
+    SWIG_Callback36_t swig_callbackOnPan;
+    SWIG_Callback37_t swig_callbackOnTap;
+    SWIG_Callback38_t swig_callbackOnLongPress;
+    SWIG_Callback39_t swig_callbackSignalConnected;
+    SWIG_Callback40_t swig_callbackSignalDisconnected;
+    void swig_init_callbacks();
+};
+
+#endif /* CSHARP_VIEW_WRAPPER_IMPL_H */
diff --git a/plugins/dali-sharp/examples/control-dashboard.cs b/plugins/dali-sharp/examples/control-dashboard.cs
new file mode 100755 (executable)
index 0000000..2b5de66
--- /dev/null
@@ -0,0 +1,479 @@
+/** 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.
+*
+*/
+
+using System;
+using System.Runtime.InteropServices;
+using Dali;
+
+namespace MyCSharpExample
+{
+    class Example
+    {
+        // This is simple structure to contain Control name and implement state at once
+        // name : control name
+        // isImplemented : the state which the control is implemented in public or not
+        private struct Item
+        {
+            public String name;
+            public bool isImplemented;
+
+            public Item(String name, bool isImplemented)
+            {
+                this.name = name;
+                this.isImplemented = isImplemented;
+            }
+        }
+
+        private Dali.Application _application;
+        private TableView _contentContainer;
+        private Timer _timer;
+        private Stage _stage;
+        private Popup _popup;
+        private ProgressBar _progressBar;
+
+        // List of items
+        private Item[] mViewList = {
+      new Item("PushButton", true),  new Item("DropDown", false),    new Item("Toggle", true),
+      new Item("InputField", false),  new Item("AnimateGif", false),  new Item("Loading", false),
+      new Item("ProgressBar", true), new Item("CheckBox", false),    new Item("RadioButton", true),
+      new Item("Tooltip", true),     new Item("Popup", true),       new Item("Toast", true),
+      new Item("ItemView", false),    new Item("CheckBox", true)
+    };
+
+        public Example(Dali.Application application)
+        {
+            _application = application;
+            _application.Initialized += OnInitialize;
+        }
+
+        public void OnInitialize(object source, NUIApplicationInitEventArgs e)
+        {
+            Console.WriteLine("Customized Application Initialize event handler");
+            _stage = Stage.GetCurrent();
+            _stage.BackgroundColor = Color.White;
+
+            // Top label
+            TextLabel topLabel = new TextLabel();
+            topLabel.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.WIDTH);
+            topLabel.SetResizePolicy(ResizePolicyType.SIZE_RELATIVE_TO_PARENT, DimensionType.HEIGHT);
+            topLabel.AnchorPoint = NDalic.AnchorPointTopCenter;
+            topLabel.Position = new Position(0, 0, 0);
+            topLabel.SetSizeModeFactor(new Vector3(0.0f, 0.1f, 0.0f));
+            topLabel.BackgroundColor = new Color(43.0f / 255.0f, 145.0f / 255.0f, 175.0f / 255.0f, 1.0f);
+            topLabel.TextColor = NDalic.WHITE;
+            topLabel.Text = " DALi Views";
+            topLabel.HorizontalAlignment = "BEGIN";
+            topLabel.VerticalAlignment = "CENTER";
+            topLabel.PointSize = 42.0f;
+            _stage.Add(topLabel);
+
+            // Grid container to contain items. Use tableView because FlexContainer support focus navigation just two direction ( up/down or left/right )
+            _contentContainer = new TableView(6, 5);
+            _contentContainer.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.WIDTH);
+            _contentContainer.SetResizePolicy(ResizePolicyType.SIZE_RELATIVE_TO_PARENT, DimensionType.HEIGHT);
+            _contentContainer.SetSizeModeFactor(new Vector3(0.0f, 0.9f, 0.0f));
+            _contentContainer.AnchorPoint = NDalic.AnchorPointBottomCenter;
+            _contentContainer.Position = new Position(0, _stage.Size.Height * 0.1f, 0);
+            _contentContainer.SetRelativeHeight(0, 0.07f);
+            _contentContainer.SetRelativeHeight(1, 0.26f);
+            _contentContainer.SetRelativeHeight(2, 0.07f);
+            _contentContainer.SetRelativeHeight(3, 0.26f);
+            _contentContainer.SetRelativeHeight(4, 0.07f);
+            _contentContainer.SetRelativeHeight(5, 0.26f);
+            _contentContainer.SetKeyboardFocusable(true);
+            _stage.Add(_contentContainer);
+
+            CreateContent();
+
+            FocusManager.Instance.PreFocusChange += OnPreFocusChange;
+        }
+
+        // Callback for KeyboardFocusManager
+        private Actor OnPreFocusChange(object source, FocusManager.PreFocusChangeEventArgs e)
+        {
+            if (!e.Proposed && !e.Current)
+            {
+                e.Proposed = _contentContainer.GetChildAt(1);
+            }
+            return e.Proposed;
+        }
+
+        private void CreateContent()
+        {
+            for (int i = 0; i < mViewList.Length; i++)
+            {
+                CreateItem(mViewList[i], i);
+            }
+        }
+
+        private void CreateItem(Item item, int idx)
+        {
+            // Make label for item
+            TextLabel itemLabel = new TextLabel("    " + item.name);
+            itemLabel.Size = new Vector3(_stage.GetSize().Width * 0.2f, _stage.GetSize().Height * 0.05f, 0.0f);
+            itemLabel.HorizontalAlignment = "BEGIN";
+            itemLabel.VerticalAlignment = "BOTTOM";
+            itemLabel.PointSize = 18.0f;
+            _contentContainer.AddChild(itemLabel, new TableView.CellPosition(((uint)idx / 5) * 2, (uint)idx % 5));
+
+            // If item is implemented in public, attach it on stage
+            if (item.isImplemented)
+            {
+                if (item.name.CompareTo("PushButton") == 0)
+                {
+                    PushButton pushButton = new PushButton();
+                    pushButton.LabelText = "Push Button";
+                    pushButton.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.WIDTH);
+                    pushButton.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.HEIGHT);
+                    pushButton.UnselectedColor = new Vector4(1.0f, 0.0f, 0.0f, 1.0f);
+                    pushButton.SelectedColor = new Vector4(0.0f, 1.0f, 0.0f, 1.0f);
+                    pushButton.Clicked += (obj, e) =>
+                    {
+                        e.Button.LabelText = "Click Me";
+                        e.Button.UnselectedColor = new Vector4(0.0f, 0.0f, 1.0f, 1.0f);
+                        return true;
+                    };
+
+                    _contentContainer.AddChild(pushButton, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
+                }
+                if (item.name.CompareTo("DropDown") == 0)
+                {
+
+                }
+                if (item.name.CompareTo("Toggle") == 0)
+                {
+                    ToggleButton toggleButton = new ToggleButton();
+                    Dali.Property.Array array = new Dali.Property.Array();
+                    array.Add(new Dali.Property.Value("./images/star-highlight.png"));
+                    array.Add(new Dali.Property.Value("./images/star-mod.png"));
+                    array.Add(new Dali.Property.Value("./images/star-dim.png"));
+                    toggleButton.StateVisuals = array;
+
+                    Dali.Property.Array tooltips = new Dali.Property.Array();
+                    tooltips.Add(new Dali.Property.Value("State A"));
+                    tooltips.Add(new Dali.Property.Value("State B"));
+                    tooltips.Add(new Dali.Property.Value("State C"));
+                    toggleButton.Tooltips = tooltips;
+
+                    toggleButton.WidthResizePolicy = "FILL_TO_PARENT";
+                    toggleButton.HeightResizePolicy = "FILL_TO_PARENT";
+                    toggleButton.Clicked += (obj, e) =>
+                    {
+                        Console.WriteLine("Toggle button state changed.");
+                        return true;
+                    };
+
+                    _contentContainer.AddChild(toggleButton, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
+                }
+                if (item.name.CompareTo("InputField") == 0)
+                {
+
+                }
+                if (item.name.CompareTo("AnimateGif") == 0)
+                {
+
+                }
+                if (item.name.CompareTo("Loading") == 0)
+                {
+
+                }
+                if (item.name.CompareTo("ProgressBar") == 0)
+                {
+                    _progressBar = new ProgressBar();
+                    _progressBar.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.WIDTH);
+                    _progressBar.SetResizePolicy(ResizePolicyType.FIXED, DimensionType.HEIGHT);
+                    _progressBar.SetSize(0, 50);
+
+                    _progressBar.ValueChanged += OnProgressBarValueChanged;
+
+                    _timer = new Timer(100);
+                    _timer.Tick += (obj, e) =>
+                    {
+                        float progress = (float)Math.Round(_progressBar.ProgressValue, 2);
+
+                        if (progress == 1.0f)
+                        {
+                            _progressBar.ProgressValue = 0.0f;
+                            _progressBar.SecondaryProgressValue = 0.01f;
+                        }
+                        else
+                        {
+                            _progressBar.ProgressValue = progress + 0.01f;
+                            _progressBar.SecondaryProgressValue = progress + 0.21f;
+                        }
+                        return true;
+                    };
+                    _timer.Start();
+
+                    _contentContainer.AddChild(_progressBar, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
+                }
+                if (item.name.CompareTo("ScrollBar") == 0)
+                {
+
+                }
+                if (item.name.CompareTo("CheckBox") == 0)
+                {
+                    CheckBoxButton checkBoxButton = new CheckBoxButton();
+                    checkBoxButton.LabelText = "Yes";
+
+                    _contentContainer.AddChild(checkBoxButton, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
+                }
+                if (item.name.CompareTo("RadioButton") == 0)
+                {
+                    TableView tableView = new TableView(2, 1);
+                    tableView.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.WIDTH);
+                    tableView.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.HEIGHT);
+
+                    RadioButton rButton = new RadioButton();
+                    rButton.LabelText = "Yes";
+                    rButton.Selected = true;
+
+                    tableView.AddChild(rButton, new TableView.CellPosition(0, 0));
+
+                    rButton = new RadioButton();
+                    rButton.LabelText = "No";
+
+                    tableView.AddChild(rButton, new TableView.CellPosition(1, 0));
+
+                    _contentContainer.AddChild(tableView, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
+                }
+                if (item.name.CompareTo("Tooltip") == 0)
+                {
+                    TableView tableView = new TableView(2, 1);
+                    tableView.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.WIDTH);
+                    tableView.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.HEIGHT);
+
+                    // Create two push buttons and add them to a table view
+                    PushButton buttonWithSimpleTooltip = new PushButton();
+                    buttonWithSimpleTooltip.LabelText = "Tooltip with text only";
+                    buttonWithSimpleTooltip.UnselectedColor = new Vector4(0.5f, 0.5f, 0.7f, 1.0f);
+                    buttonWithSimpleTooltip.SelectedColor = new Vector4(0.7f, 0.5f, 0.7f, 1.0f);
+                    buttonWithSimpleTooltip.WidthResizePolicy = "FILL_TO_PARENT";
+                    tableView.AddChild(buttonWithSimpleTooltip, new TableView.CellPosition(0, 0));
+
+                    PushButton buttonWithIconTooltip = new PushButton();
+                    buttonWithIconTooltip.LabelText = "Tooltip with Text and Icon";
+                    buttonWithIconTooltip.WidthResizePolicy = "FILL_TO_PARENT";
+                    buttonWithIconTooltip.UnselectedColor = new Vector4(0.5f, 0.5f, 0.7f, 1.0f);
+                    buttonWithIconTooltip.SelectedColor = new Vector4(0.7f, 0.5f, 0.7f, 1.0f);
+
+                    tableView.AddChild(buttonWithIconTooltip, new TableView.CellPosition(1, 0));
+
+                    // Add a simple text only tooltip to the first push button
+                    buttonWithSimpleTooltip.TooltipText = "Simple Tooltip";
+
+                    // Create a property map for a tooltip with one icon and one text
+                    Property.Array iconTooltipContent = new Property.Array();
+
+                    Property.Map iconVisual = new Property.Map();
+                    iconVisual.Add(Dali.Constants.Visual.Property.Type, new Property.Value((int)Dali.Constants.Visual.Type.Image))
+                      .Add(Dali.Constants.ImageVisualProperty.URL, new Property.Value("./images/star-highlight.png"));
+                    iconTooltipContent.Add(new Property.Value(iconVisual));
+
+                    Property.Map textVisual = new Property.Map();
+                    textVisual.Add(Dali.Constants.Visual.Property.Type, new Property.Value((int)Dali.Constants.Visual.Type.Text))
+                      .Add(Dali.Constants.TextVisualProperty.Text, new Property.Value("Tooltip with Icon"));
+                    iconTooltipContent.Add(new Property.Value(textVisual));
+
+                    Property.Map iconTooltip = new Property.Map();
+                    iconTooltip.Add(Dali.Constants.Tooltip.Property.Content, new Property.Value(iconTooltipContent))
+                      .Add(Dali.Constants.Tooltip.Property.Tail, new Property.Value(true));
+
+                    // Add the tooltip with icon and text to the second push button
+                    buttonWithIconTooltip.Tooltip = iconTooltip;
+
+                    _contentContainer.AddChild(tableView, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
+                }
+                if (item.name.CompareTo("Popup") == 0)
+                {
+                    PushButton button = new PushButton();
+                    button.LabelText = "Popup";
+                    button.ParentOrigin = NDalic.ParentOriginCenter;
+                    button.AnchorPoint = NDalic.AnchorPointCenter;
+                    button.MaximumSize = new Vector2(90.0f, 50.0f);
+                    _popup = CreatePopup();
+                    _popup.SetTitle(CreateTitle("Popup"));
+
+                    TextLabel text = new TextLabel("This will erase the file permanently. Are you sure?");
+                    text.BackgroundColor = Color.White;
+                    text.MultiLine = true;
+                    text.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.WIDTH);
+                    text.SetResizePolicy(ResizePolicyType.DIMENSION_DEPENDENCY, DimensionType.HEIGHT);
+                    text.SetPadding(new PaddingType(10.0f, 10.0f, 20.0f, 0.0f));
+                    _popup.SetContent(text);
+                    _popup.SetKeyboardFocusable(true);
+                    _popup.SetDisplayState(Popup.DisplayStateType.HIDDEN);
+
+                    button.Clicked += (obj, ee) =>
+                    {
+                        _stage.Add(_popup);
+                        _popup.SetDisplayState(Popup.DisplayStateType.SHOWN);
+                        FocusManager.Instance.SetCurrentFocusActor((_popup.FindChildByName("Footer")).FindChildByName("OKButton"));
+                        return true;
+                    };
+                    _contentContainer.AddChild(button, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
+                }
+                if (item.name.CompareTo("Toast") == 0)
+                {
+                    PushButton button = new PushButton();
+                    button.LabelText = "Toast";
+                    button.ParentOrigin = NDalic.ParentOriginCenter;
+                    button.AnchorPoint = NDalic.AnchorPointCenter;
+                    button.Clicked += (obj, ee) =>
+                    {
+                        TypeInfo typeInfo = new TypeInfo(TypeRegistry.Get().GetTypeInfo("PopupToast"));
+                        if (typeInfo)
+                        {
+                            BaseHandle baseHandle = typeInfo.CreateInstance();
+                            if (baseHandle)
+                            {
+                                Popup toast = Popup.DownCast(baseHandle);
+                                TextLabel text = new TextLabel("This is a Toast.\nIt will auto-hide itself");
+                                text.TextColor = Color.White;
+                                text.MultiLine = true;
+                                text.HorizontalAlignment = "center";
+                                toast.SetTitle(text);
+                                _stage.Add(toast);
+                                toast.SetDisplayState(Popup.DisplayStateType.SHOWN);
+                            }
+                        }
+                        return true;
+                    };
+                    _contentContainer.AddChild(button, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
+                }
+                if (item.name.CompareTo("ItemView") == 0)
+                {
+
+                }
+            }
+            else
+            {
+                ImageView notSupportView = new ImageView("images/not_yet_sign.png");
+                notSupportView.Size = new Vector3(_stage.GetSize().Width * 0.2f, _stage.GetSize().Height * 0.25f, 0.0f);
+                notSupportView.SetKeyboardFocusable(true);
+
+                _contentContainer.AddChild(notSupportView, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
+            }
+        }
+        Popup CreatePopup()
+        {
+            Popup confirmationPopup = new Popup();
+
+            Actor footer = new Actor();
+            footer.SetName("Footer");
+            footer.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.WIDTH);
+            footer.SetResizePolicy(ResizePolicyType.FIXED, DimensionType.HEIGHT);
+            footer.SetSize(0.0f, 80.0f);
+            footer.ParentOrigin = NDalic.ParentOriginCenter;
+            footer.AnchorPoint = NDalic.AnchorPointCenter;
+
+            PushButton okButton = CreateOKButton();
+            okButton.ParentOrigin = NDalic.ParentOriginCenter;
+            okButton.AnchorPoint = NDalic.AnchorPointCenter;
+            okButton.SetResizePolicy(ResizePolicyType.SIZE_FIXED_OFFSET_FROM_PARENT, DimensionType.ALL_DIMENSIONS);
+            okButton.SetSizeModeFactor(new Vector3(-20.0f, -20.0f, 0.0f));
+
+
+            PushButton cancelButton = CreateCancelButton();
+            cancelButton.ParentOrigin = NDalic.ParentOriginCenter;
+            cancelButton.AnchorPoint = NDalic.AnchorPointCenter;
+            cancelButton.SetResizePolicy(ResizePolicyType.SIZE_FIXED_OFFSET_FROM_PARENT, DimensionType.ALL_DIMENSIONS);
+            cancelButton.SetSizeModeFactor(new Vector3(-20.0f, -20.0f, 0.0f));
+
+
+            TableView controlLayout = new TableView(1, 2);
+            controlLayout.ParentOrigin = NDalic.ParentOriginCenter;
+            controlLayout.AnchorPoint = NDalic.AnchorPointCenter;
+            controlLayout.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.ALL_DIMENSIONS);
+            controlLayout.SetCellPadding(new Size2D(10, 10));
+            controlLayout.SetRelativeWidth(0, 0.5f);
+            controlLayout.SetRelativeWidth(1, 0.5f);
+            controlLayout.SetCellAlignment(new TableView.CellPosition(0, 0), HorizontalAlignmentType.CENTER, VerticalAlignmentType.CENTER);
+            controlLayout.SetCellAlignment(new TableView.CellPosition(0, 1), HorizontalAlignmentType.CENTER, VerticalAlignmentType.CENTER);
+            controlLayout.AddChild(okButton, new TableView.CellPosition(0, 0));
+            controlLayout.AddChild(cancelButton, new TableView.CellPosition(0, 1));
+
+
+            footer.Add(controlLayout);
+
+            confirmationPopup.SetFooter(footer);
+            return confirmationPopup;
+        }
+        Actor CreateTitle(string title)
+        {
+            TextLabel titleActor = new TextLabel(title);
+            titleActor.TextColor = Color.White;
+            titleActor.MultiLine = true;
+            titleActor.HorizontalAlignment = "center";
+
+            return titleActor;
+        }
+
+        PushButton CreateOKButton()
+        {
+            PushButton okayButton = new PushButton();
+            okayButton.SetName("OKButton");
+            okayButton.LabelText = "OK";
+            okayButton.SetKeyboardFocusable(true);
+            okayButton.Clicked += (obj, ee) =>
+            {
+                _popup.SetDisplayState(Popup.DisplayStateType.HIDDEN);
+                return true;
+            };
+            return okayButton;
+        }
+        PushButton CreateCancelButton()
+        {
+            PushButton cancelButton = new PushButton();
+            cancelButton.LabelText = "Cancel";
+            cancelButton.SetKeyboardFocusable(true);
+            cancelButton.Clicked += (obj, ee) =>
+            {
+                _popup.SetDisplayState(Popup.DisplayStateType.HIDDEN);
+                return true;
+            };
+            return cancelButton;
+        }
+
+        void OnProgressBarValueChanged(object source, ProgressBar.ValueChangedEventArgs e)
+        {
+            Property.Map labelVisual = new Property.Map();
+            labelVisual.Add(Dali.Constants.Visual.Property.Type, new Property.Value((int)Dali.Constants.Visual.Type.Text))
+              .Add(Dali.Constants.TextVisualProperty.Text, new Property.Value(Math.Round(e.ProgressBar.ProgressValue, 2) + " / " + Math.Round(e.ProgressBar.SecondaryProgressValue, 2)));
+            e.ProgressBar.LabelVisual = labelVisual;
+            return;
+        }
+
+        public void MainLoop()
+        {
+            _application.MainLoop();
+        }
+
+        /// <summary>
+        /// The main entry point for the application.
+        /// </summary>
+
+        [STAThread]
+        static void Main(string[] args)
+        {
+            Console.WriteLine("Hello Mono World");
+
+            Example example = new Example(Application.NewApplication("json/control-dashboard.json"));
+            example.MainLoop();
+        }
+    }
+}
+
diff --git a/plugins/dali-sharp/examples/custom-control.cs b/plugins/dali-sharp/examples/custom-control.cs
new file mode 100644 (file)
index 0000000..766dea7
--- /dev/null
@@ -0,0 +1,252 @@
+/*
+ * 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.
+ *
+ */
+
+using System;
+using System.Runtime.InteropServices;
+using Dali;
+
+namespace MyCSharpExample
+{
+    // A custom control for star rating (draggable to change the rating)
+    class StarRating : CustomView
+    {
+        private FlexContainer _container;
+        private ImageView[] _images;
+        private Vector3 _gestureDisplacement;
+        private int _currentValue;
+        private int _myRating;
+        private bool _myDragEnabled;
+
+        // Called by DALi Builder if it finds a StarRating control in a JSON file
+        static CustomView CreateInstance()
+        {
+          return new StarRating();
+        }
+
+        // static constructor registers the control type (only runs once)
+        static StarRating()
+        {
+          // ViewRegistry registers control type with DALi type registery
+          // also uses introspection to find any properties that need to be registered with type registry
+          ViewRegistry.Instance.Register(CreateInstance, typeof(StarRating) );
+        }
+
+        public StarRating() : base(typeof(StarRating).Name, ViewWrapperImpl.CustomViewBehaviour.VIEW_BEHAVIOUR_DEFAULT)
+        {
+        }
+
+        public override void OnInitialize()
+        {
+            // Create a container for the star images
+            _container = new FlexContainer();
+
+            _container.ParentOrigin = NDalic.ParentOriginTopLeft;
+            _container.AnchorPoint = NDalic.AnchorPointTopLeft;
+            _container.FlexDirection = (int)FlexContainer.FlexDirectionType.ROW;
+            _container.WidthResizePolicy = "FILL_TO_PARENT";
+            _container.HeightResizePolicy = "FILL_TO_PARENT";
+
+            this.Add(_container);
+
+            // Create the images
+            _images = new ImageView[5];
+
+            for(int i = 0; i < 5; i++)
+            {
+                _images[i] = new ImageView("./images/star-dim.png");
+                _container.Add( _images[i] );
+            }
+
+            // Update the images according to the rating (dimmed star by default)
+            _myRating = 0;
+            UpdateStartImages(_myRating);
+
+            // Enable pan gesture detection
+            EnableGestureDetection(Gesture.GestureType.Pan);
+            _myDragEnabled = true; // Allow dragging by default (can be disabled)
+        }
+
+        // Pan gesture handling
+        public override void OnPan(PanGesture gesture)
+        {
+            // Only handle pan gesture if dragging is allowed
+            if(_myDragEnabled)
+            {
+                switch (gesture.State)
+                {
+                    case Gesture.StateType.Started:
+                    {
+                        _gestureDisplacement = new Vector3(0.0f, 0.0f, 0.0f);
+                        _currentValue = 0;
+                        break;
+                    }
+                    case Gesture.StateType.Continuing:
+                    {
+                        // Calculate the rating according to pan desture displacement
+                        _gestureDisplacement.X += gesture.Displacement.X;
+                        int delta = (int)Math.Ceiling(_gestureDisplacement.X / 40.0f);
+                        _currentValue = _myRating + delta;
+
+                        // Clamp the rating
+                        if(_currentValue < 0) _currentValue = 0;
+                        if(_currentValue > 5) _currentValue = 5;
+
+                        // Update the images according to the rating
+                        UpdateStartImages(_currentValue);
+                        break;
+                    }
+                    default:
+                    {
+                        _myRating = _currentValue;
+                        break;
+                    }
+                }
+            }
+        }
+
+        // Update the images according to the rating
+        private void UpdateStartImages(int rating)
+        {
+            for(int i = 0; i < rating; i++)
+            {
+                _images[i].WidthResizePolicy = "USE_NATURAL_SIZE";
+                _images[i].HeightResizePolicy = "USE_NATURAL_SIZE";
+                _images[i].SetImage("./images/star-highlight.png");
+            }
+
+            for(int i = rating; i < 5; i++)
+            {
+                _images[i].WidthResizePolicy = "USE_NATURAL_SIZE";
+                _images[i].HeightResizePolicy = "USE_NATURAL_SIZE";
+                _images[i].SetImage("./images/star-dim.png");
+            }
+        }
+
+        // Rating property of type int:
+        public int Rating
+        {
+            get
+            {
+                return _myRating;
+            }
+            set
+            {
+                _myRating = value;
+                UpdateStartImages(_myRating);
+            }
+        }
+
+        // DragEnabled property of type bool:
+        public bool DragEnabled
+        {
+            get
+            {
+                return _myDragEnabled;
+            }
+            set
+            {
+                _myDragEnabled = value;
+            }
+        }
+    }
+
+    class Example
+    {
+        private Dali.Application _application;
+
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        delegate void CallbackDelegate();
+
+        public Example(Dali.Application application)
+        {
+            _application = application;
+            _application.Initialized += Initialize;
+        }
+
+        public void Initialize(object source, NUIApplicationInitEventArgs e)
+        {
+            Stage stage = Stage.GetCurrent();
+            stage.BackgroundColor = Color.White;
+
+            // Create a container to layout the rows of image and rating vertically
+            FlexContainer container = new FlexContainer();
+
+            container.ParentOrigin = NDalic.ParentOriginTopLeft;
+            container.AnchorPoint = NDalic.AnchorPointTopLeft;
+            container.FlexDirection = (int)FlexContainer.FlexDirectionType.COLUMN;
+            container.WidthResizePolicy = "FILL_TO_PARENT";
+            container.HeightResizePolicy = "FILL_TO_PARENT";
+
+            stage.Add(container);
+
+            Random random = new Random();
+
+            for(int i = 0; i < 6; i++) // 6 rows in total
+            {
+                // Create a container to layout the image and rating (in each row) horizontally
+                FlexContainer imageRow = new FlexContainer();
+                imageRow.ParentOrigin = NDalic.ParentOriginTopLeft;
+                imageRow.AnchorPoint = NDalic.AnchorPointTopLeft;
+                imageRow.FlexDirection = (int)FlexContainer.FlexDirectionType.ROW;
+                imageRow.Flex = 1.0f;
+                container.Add(imageRow);
+
+                // Add the image view to the row
+                ImageView image = new ImageView("./images/gallery-" + i + ".jpg");
+                image.Size = new Vector3(120.0f, 120.0f, 0.0f);
+                image.WidthResizePolicy = "FIXED";
+                image.HeightResizePolicy = "FIXED";
+                image.AlignSelf = (int)FlexContainer.Alignment.ALIGN_CENTER;
+                image.Flex = 0.3f;
+                image.FlexMargin = new Vector4(10.0f, 0.0f, 0.0f, 0.0f);
+                imageRow.Add(image);
+
+                // Create a rating control
+                StarRating view = new StarRating();
+
+                // Add the rating control to the row
+                view.ParentOrigin = NDalic.ParentOriginCenter;
+                view.AnchorPoint = NDalic.AnchorPointCenter;
+                view.Size = new Vector3(200.0f, 40.0f, 0.0f);
+                view.Flex = 0.7f;
+                view.AlignSelf = (int)FlexContainer.Alignment.ALIGN_CENTER;
+                view.FlexMargin = new Vector4(30.0f, 0.0f, 0.0f, 0.0f);
+                imageRow.Add(view);
+
+                // Set the initial rating randomly between 1 and 5
+                view.Rating = random.Next(1, 6);
+            }
+        }
+
+        public void MainLoop()
+        {
+            _application.MainLoop ();
+        }
+
+        /// <summary>
+        /// The main entry point for the application.
+        /// </summary>
+        [STAThread]
+        static void Main(string[] args)
+        {
+            System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor (typeof(MyCSharpExample.StarRating).TypeHandle);
+
+            Example example = new Example(Application.NewApplication());
+            example.MainLoop ();
+        }
+    }
+}
diff --git a/plugins/dali-sharp/examples/dali-test.cs b/plugins/dali-sharp/examples/dali-test.cs
new file mode 100755 (executable)
index 0000000..c2d5917
--- /dev/null
@@ -0,0 +1,892 @@
+/*
+ * 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.
+ *
+ */
+
+using System;
+using System.Runtime.InteropServices;
+using Dali;
+
+namespace MyCSharpExample
+{
+    class MyView : View
+    {
+        private string _myOwnName;
+        public int _myCurrentValue;
+
+        public MyView()
+        {
+            _myCurrentValue = 0;
+        }
+
+        public string MyOwnName
+        {
+            get
+            {
+                return _myOwnName;
+            }
+            set
+            {
+                _myOwnName = value;
+            }
+        }
+    }
+
+    class MyButton : PushButton
+    {
+        private string _myOwnName;
+        public int _myCurrentValue;
+
+        public MyButton()
+        {
+            _myCurrentValue = 0;
+        }
+
+        public string MyOwnName
+        {
+            get
+            {
+                return _myOwnName;
+            }
+            set
+            {
+                _myOwnName = value;
+            }
+        }
+    }
+
+    class MySpin : Spin
+    {
+        private string _myOwnName;
+        public int _myCurrentValue;
+
+        public MySpin()
+        {
+            _myCurrentValue = 0;
+        }
+
+        public string MyOwnName
+        {
+            get
+            {
+                return _myOwnName;
+            }
+            set
+            {
+                _myOwnName = value;
+            }
+        }
+    }
+
+    class Example
+    {
+        private Dali.Application _application;
+
+        public Example(Dali.Application application)
+        {
+            _application = application;
+            Console.WriteLine("1) InitSignal connection count = " + _application.InitSignal().GetConnectionCount());
+
+            _application.Initialized += Initialize;
+            Console.WriteLine("2) InitSignal connection count = " + _application.InitSignal().GetConnectionCount());
+        }
+
+        public void Initialize(object source, NUIApplicationInitEventArgs e)
+        {
+
+            //1)
+            NavigationPropertiesTests();
+
+            //2)
+            OperatorTests();
+
+            //3)
+            CustomViewPropertyTest();
+
+            //4)
+            ActorHandleTest();
+
+            //5)
+            RectanglePaddingClassTest();
+
+            //6)
+            SizePositionTest();
+
+            //7)
+            ViewDownCastTest();
+
+        }
+
+
+        public void NavigationPropertiesTests()
+        {
+            Console.WriteLine("");
+            Console.WriteLine("### [1] NavigationPropertiesTests START");
+
+            View view = new View();
+            View leftView, rightView, upView, downView, tmpView;
+
+            leftView = new View();
+            leftView.Name = "leftView";
+            rightView = new View();
+            rightView.Name = "rightView";
+            upView = new View();
+            upView.Name = "upView";
+            downView = new View();
+            downView.Name = "downView";
+
+            Stage.Instance.Add(leftView);
+            Stage.Instance.Add(rightView);
+            Stage.Instance.Add(upView);
+            Stage.Instance.Add(downView);
+
+            view.LeftFocusableView = leftView;
+            tmpView = view.LeftFocusableView;
+            if (string.Compare(tmpView.Name, "leftView") == 0)
+            {
+                Console.WriteLine("Passed: LeftFocusedView = " + tmpView.Name);
+            }
+            else
+            {
+                Console.WriteLine("Failed: LeftFocusedView = " + tmpView.Name);
+            }
+
+            view.RightFocusableView = rightView;
+            tmpView = view.RightFocusableView;
+            if (string.Compare(tmpView.Name, "rightView") == 0)
+            {
+                Console.WriteLine("Passed: RightFocusedView = " + tmpView.Name);
+            }
+            else
+            {
+                Console.WriteLine("Failed: RightFocusedView = " + tmpView.Name);
+            }
+
+            Stage.Instance.Add(view);
+
+            view.UpFocusableView = upView;
+            tmpView = view.UpFocusableView;
+            if (string.Compare(tmpView.Name, "upView") == 0)
+            {
+                Console.WriteLine("Passed: UpFocusedView = " + tmpView.Name);
+            }
+            else
+            {
+                Console.WriteLine("Failed: UpFocusedView = " + tmpView.Name);
+            }
+
+            view.DownFocusableView = downView;
+            tmpView = view.DownFocusableView;
+            if (string.Compare(tmpView.Name, "downView") == 0)
+            {
+                Console.WriteLine("Passed: DownFocusedView = " + tmpView.Name);
+            }
+            else
+            {
+                Console.WriteLine("Failed: DownFocusedView = " + tmpView.Name);
+            }
+
+            Stage.Instance.Remove(leftView);
+            tmpView = view.LeftFocusableView;
+            if (!tmpView)
+            {
+                Console.WriteLine("Passed: NULL LeftFocusedView");
+            }
+            else
+            {
+                Console.WriteLine("Failed: LeftFocusedView = " + tmpView.Name);
+            }
+
+            Console.WriteLine("### [1] NavigationPropertiesTests END");
+        }
+
+        public void OperatorTests()
+        {
+            Console.WriteLine("");
+            Console.WriteLine("### [2] OperatorTests START");
+            Actor actor = new Actor();
+            Actor differentActor = new Actor();
+            Actor actorSame = actor;
+            Actor nullActor = null;
+
+            // test the true operator
+            if (actor)
+            {
+                Console.WriteLine("BaseHandle Operator true (actor) : test passed ");
+            }
+            else
+            {
+                Console.WriteLine("BaseHandle Operator true (actor): test failed ");
+            }
+
+            Actor parent = actor.GetParent();
+
+            if (parent)
+            {
+                Console.WriteLine("Handle with Empty body  :failed ");
+            }
+            else
+            {
+                Console.WriteLine("Valid with Empty body  :passed ");
+            }
+
+            actor.Add(differentActor);
+
+            // here we test two different C# objects, which on the native side have the same body/ ref-object
+            if (actor == differentActor.GetParent())
+            {
+                Console.WriteLine("actor == differentActor.GetParent() :passed ");
+            }
+            else
+            {
+                Console.WriteLine("actor == differentActor.GetParent() :failed ");
+            }
+
+            if (differentActor == differentActor.GetParent())
+            {
+                Console.WriteLine("differentActor == differentActor.GetParent() :failed ");
+            }
+            else
+            {
+                Console.WriteLine("differentActor == differentActor.GetParent() :passed ");
+            }
+
+            if (nullActor)
+            {
+                Console.WriteLine("BaseHandle Operator true (nullActor) : test failed ");
+            }
+            else
+            {
+                Console.WriteLine("BaseHandle Operator true (nullActor): test passed ");
+            }
+
+            // ! operator
+            if (!actor)
+            {
+                Console.WriteLine("BaseHandle Operator !(actor) : test failed ");
+            }
+            else
+            {
+                Console.WriteLine("BaseHandle Operator !(actor): test passed ");
+            }
+
+            if (!nullActor)
+            {
+                Console.WriteLine("BaseHandle Operator !(nullActor) : test passed ");
+            }
+            else
+            {
+                Console.WriteLine("BaseHandle Operator !(nullActor): test failed ");
+            }
+
+            // Note: operator false only used inside & operator
+            // test equality operator ==
+            if (actor == actorSame)
+            {
+                Console.WriteLine("BaseHandle Operator  (actor == actorSame) : test passed");
+            }
+            else
+            {
+                Console.WriteLine("BaseHandle Operator  (actor == actorSame) : test failed");
+            }
+
+            if (actor == differentActor)
+            {
+                Console.WriteLine("BaseHandle Operator (actor == differentActor) : test failed");
+            }
+            else
+            {
+                Console.WriteLine("BaseHandle Operator (actor == differentActor) : test passed");
+            }
+
+            if (actor == nullActor)
+            {
+                Console.WriteLine("BaseHandle Operator (actor == nullActor) : test failed");
+            }
+            else
+            {
+                Console.WriteLine("BaseHandle Operator (actor == nullActor) : test passed");
+            }
+
+            if (nullActor == nullActor)
+            {
+                Console.WriteLine("BaseHandle Operator (nullActor == nullActor) : test passed");
+            }
+            else
+            {
+                Console.WriteLine("BaseHandle Operator (nullActor == nullActor) : test failed");
+            }
+
+            // test || operator
+            if (actor || actorSame)
+            {
+                Console.WriteLine("BaseHandle Operator (actor || actorSame) : test passed");
+            }
+            else
+            {
+                Console.WriteLine("BaseHandle Operator (actor || actorSame) : test failed");
+            }
+
+            if (actor || nullActor)
+            {
+                Console.WriteLine("BaseHandle Operator (actor || nullActor) : test passed");
+            }
+            else
+            {
+                Console.WriteLine("BaseHandle Operator (actor || nullActor) : test failed");
+            }
+
+            if (nullActor || nullActor)
+            {
+                Console.WriteLine("BaseHandle Operator (nullActor || nullActor) : test failed");
+            }
+            else
+            {
+                Console.WriteLine("BaseHandle Operator (nullActor || nullActor) : test passed");
+            }
+
+            // test && operator
+            if (actor && actorSame)
+            {
+                Console.WriteLine("BaseHandle Operator (actor && actorSame) : test passed");
+            }
+            else
+            {
+                Console.WriteLine("BaseHandle Operator (actor && actorSame) : test failed");
+            }
+
+            if (actor && nullActor)
+            {
+                Console.WriteLine("BaseHandle Operator (actor && nullActor) : test failed");
+            }
+            else
+            {
+                Console.WriteLine("BaseHandle Operator (actor && nullActor) : test passed");
+            }
+
+            if (nullActor && nullActor)
+            {
+                Console.WriteLine("BaseHandle Operator (nullActor && nullActor) : test failed");
+            }
+            else
+            {
+                Console.WriteLine("BaseHandle Operator (nullActor && nullActor) : test passed");
+            }
+
+            Console.WriteLine("### [2] OperatorTests END");
+
+        }
+
+        public void CustomViewPropertyTest()
+        {
+            Console.WriteLine("");
+            Console.WriteLine("### [3] CustomViewPropertyTest START");
+
+            // Create a Spin control
+            Spin spin = new Spin();
+
+            // Background property
+            Property.Map background = new Property.Map();
+            background.Add(Dali.Constants.Visual.Property.Type, new Property.Value((int)Dali.Constants.Visual.Type.Color))
+                      .Add(Dali.Constants.ColorVisualProperty.MixColor, new Property.Value(Color.Red));
+            spin.Background = background;
+
+            background = spin.Background;
+            Color backgroundColor = new Color();
+            background.Find(Dali.Constants.ColorVisualProperty.MixColor).Get(backgroundColor);
+
+            if (backgroundColor == Color.Red)
+            {
+                Console.WriteLine("Custom View Background property : test passed");
+            }
+            else
+            {
+                Console.WriteLine("Custom View Background property : test failed");
+            }
+
+            // BackgroundColor property
+            spin.BackgroundColor = Color.Yellow;
+
+            if (spin.BackgroundColor.EqualTo(Color.Yellow))
+            {
+                Console.WriteLine("Custom View BackgroundColor property : test passed");
+            }
+            else
+            {
+                Console.WriteLine("Custom View BackgroundColor property : test failed");
+            }
+
+            // BackgroundImage property
+            spin.BackgroundImage = "background-image.jpg";
+            if (spin.BackgroundImage == "background-image.jpg")
+            {
+                Console.WriteLine("Custom View BackgroundImage property : test passed");
+            }
+            else
+            {
+                Console.WriteLine("Custom View BackgroundImage property : test failed");
+            }
+
+            // StyleName property
+            spin.StyleName = "MyCustomStyle";
+            if (spin.StyleName == "MyCustomStyle")
+            {
+                Console.WriteLine("Custom View StyleName property : test passed");
+            }
+            else
+            {
+                Console.WriteLine("Custom View StyleName property : test failed");
+            }
+
+            Console.WriteLine("### [3] CustomViewPropertyTest END");
+        }
+
+
+
+        public void ActorHandleTest()
+        {
+            Console.WriteLine("");
+            Console.WriteLine("### [4] ActorHandleTest START");
+
+            Handle handle = new Handle();
+            int myPropertyIndex = handle.RegisterProperty("myProperty", new Property.Value(10.0f), Property.AccessMode.READ_WRITE);
+            float myProperty = 0.0f;
+            handle.GetProperty(myPropertyIndex).Get(ref myProperty);
+            Console.WriteLine("myProperty value: " + myProperty);
+
+            int myPropertyIndex2 = handle.RegisterProperty("myProperty2", new Property.Value(new Size(5.0f, 5.0f, 5.0f)), Property.AccessMode.READ_WRITE);
+            Size myProperty2 = new Size(0.0f, 0.0f, 0.0f);
+            handle.GetProperty(myPropertyIndex2).Get(myProperty2);
+            Console.WriteLine("myProperty2 value: " + myProperty2.Width + ", " + myProperty2.Height);
+
+            Actor actor = new Actor();
+            actor.Size = new Position(200.0f, 200.0f, 0.0f);
+            actor.Name = "MyActor";
+            Console.WriteLine("Actor id: {0}", actor.GetId());
+            Console.WriteLine("Actor size: " + actor.Size.X + ", " + actor.Size.Y);
+            Console.WriteLine("Actor name: " + actor.Name);
+
+            Stage stage = Stage.GetCurrent();
+            stage.BackgroundColor = Color.White;
+            Size2D stageSize = stage.Size;
+            Console.WriteLine("Stage size: " + stageSize.Width + ", " + stageSize.Height);
+            stage.Add(actor);
+
+            TextLabel text = new TextLabel("Hello World");
+            text.ParentOrigin = NDalic.ParentOriginCenter;
+            text.AnchorPoint = NDalic.AnchorPointCenter;
+            text.HorizontalAlignment = "CENTER";
+            stage.Add(text);
+
+            Console.WriteLine("Text label text:  " + text.Text);
+
+            Console.WriteLine("Text label point size:  " + text.PointSize);
+            text.PointSize = 32.0f;
+            Console.WriteLine("Text label new point size:  " + text.PointSize);
+
+            Console.WriteLine("### [4] ActorHandleTest END");
+
+        }
+
+
+
+        public void RectanglePaddingClassTest()
+        {
+            Console.WriteLine("");
+            Console.WriteLine("### [5] RectanglePaddingClassTest START");
+
+            using (Rectangle r1 = new Rectangle(2, 5, 20, 30))
+            {
+                Console.WriteLine("    Created " + r1);
+                Console.WriteLine("    IsEmpty() =  " + r1.IsEmpty());
+                Console.WriteLine("    Left =  " + r1.Left());
+                Console.WriteLine("    Right =  " + r1.Right());
+                Console.WriteLine("    Top  = " + r1.Top());
+                Console.WriteLine("    Bottom  = " + r1.Bottom());
+                Console.WriteLine("    Area  = " + r1.Area());
+            }
+
+            Console.WriteLine(" *************************");
+
+            using (Rectangle r2 = new Rectangle(2, 5, 20, 30))
+            {
+                Console.WriteLine("    Created " + r2);
+                r2.Set(1, 1, 40, 40);
+                Console.WriteLine("    IsEmpty() =  " + r2.IsEmpty());
+                Console.WriteLine("    Left =  " + r2.Left());
+                Console.WriteLine("    Right =  " + r2.Right());
+                Console.WriteLine("    Top  = " + r2.Top());
+                Console.WriteLine("    Bottom  = " + r2.Bottom());
+                Console.WriteLine("    Area  = " + r2.Area());
+            }
+
+            Console.WriteLine(" *************************");
+
+            Rectangle r3 = new Rectangle(10, 10, 20, 20);
+            Rectangle r4 = new Rectangle(10, 10, 20, 20);
+
+            if (r3 == r4)
+            {
+                Console.WriteLine("r3 == r4");
+            }
+            else
+            {
+                Console.WriteLine("r3 != r4");
+            }
+
+            r4 = new Rectangle(12, 10, 20, 20);
+
+            if (r3 == r4)
+            {
+                Console.WriteLine("r3 == r4");
+            }
+            else
+            {
+                Console.WriteLine("r3 != r4");
+            }
+
+            PaddingType p1 = new PaddingType(10.5f, 10.7f, 20.8f, 20.8f);
+            PaddingType p2 = new PaddingType(10.5f, 10.7f, 20.8f, 20.8f);
+
+            if (p1 == p2)
+            {
+                Console.WriteLine("p1 == p2");
+            }
+            else
+            {
+                Console.WriteLine("p1 != p2");
+            }
+
+            p2 = new PaddingType(12.0f, 10.7f, 20.2f, 20.0f);
+
+            if (p1 == p2)
+            {
+                Console.WriteLine("p1 == p2");
+            }
+            else
+            {
+                Console.WriteLine("p1 != p2");
+            }
+            Console.WriteLine("### [5] RectanglePaddingClassTest END");
+
+        }
+
+
+        public void SizePositionTest()
+        {
+            Console.WriteLine("");
+            Console.WriteLine("### [6] SizePositionTest START");
+
+            Size Size = new Size(100, 50, 25);
+            Console.WriteLine("    Created " + Size);
+            Console.WriteLine("    Size w =  " + Size.Width + ", h = " + Size.Height + ", d = " + Size.Depth);
+            Size += new Size(20, 20, 20);
+            Console.WriteLine("    Size w =  " + Size.Width + ", h = " + Size.Height + ", d = " + Size.Depth);
+            Size.Width += 10;
+            Size.Height += 10;
+            Size.Depth += 10;
+            Console.WriteLine("    Size width =  " + Size.Width+ ", height = " + Size.Height + ", depth = " + Size.Depth);
+
+            Console.WriteLine(" *************************");
+            Position Position = new Position(20, 100, 50);
+            Console.WriteLine("    Created " + Position);
+            Console.WriteLine("    Position x =  " + Position.X + ", y = " + Position.Y + ", z = " + Position.Z);
+            Position += new Position(20, 20, 20);
+            Console.WriteLine("    Position x =  " + Position.X + ", y = " + Position.Y + ", z = " + Position.Z);
+            Position.X += 10;
+            Position.Y += 10;
+            Position.Z += 10;
+            Console.WriteLine("    Position width =  " + Position.X + ", height = " + Position.Y + ", depth = " + Position.Z);
+            Position parentOrigin = ParentOrigin.BottomRight;
+            Console.WriteLine("    parentOrigin x =  " + parentOrigin.X + ", y = " + parentOrigin.Y + ", z = " + parentOrigin.Z);
+
+            Console.WriteLine(" *************************");
+            Color color = new Color(20, 100, 50, 200);
+            Console.WriteLine("    Created " + color);
+            Console.WriteLine("    Color R =  " + color.R + ", G = " + color.G + ", B = " + color.B + ", A = " + color.A);
+            color += new Color(20, 20, 20, 20);
+            Console.WriteLine("    Color R =  " + color.R + ", G = " + color.G + ", B = " + color.B + ", A = " + color.A);
+            color.R += 10;
+            color.G += 10;
+            color.B += 10;
+            color.A += 10;
+            Console.WriteLine("    Color r =  " + color.R + ", g = " + color.G + ", b = " + color.B + ", a = " + color.A);
+
+            Console.WriteLine("### [6] SizePositionTest END");
+        }
+
+
+        public void ViewDownCastTest()
+        {
+            Console.WriteLine("");
+            Console.WriteLine("### [7] ViewDownCastTest START");
+
+            View container = new View();
+            container.Position = new Position(-800.0f, -800.0f, 0.0f);
+            Stage.GetCurrent().Add(container);
+
+            // Test downcast for native control
+            TextLabel myLabel = new TextLabel();
+            myLabel.Name = "MyLabelName";
+            myLabel.Text = "MyText";
+
+            Console.WriteLine("myLabel.Name = " + myLabel.Name + ", Text = " + myLabel.Text);
+
+            container.Add(myLabel);
+
+            Actor myLabelActor = container.FindChildByName("MyLabelName");
+            if (myLabelActor)
+            {
+                TextLabel newLabel = View.DownCast<TextLabel>(myLabelActor);
+                if (newLabel)
+                {
+                    Console.WriteLine("Downcast to TextLabel successful: newLabel Name = " + newLabel.Name + ", Text = " + newLabel.Text);
+                }
+                else
+                {
+                    Console.WriteLine("Downcast to TextLabel failed!");
+                }
+            }
+
+            // Test downcast for class directly inherited from View
+            MyView myView = new MyView();
+            myView.Name = "MyViewName";
+            myView.MyOwnName = "MyOwnViewName";
+            myView._myCurrentValue = 5;
+
+            Console.WriteLine("myView.Name = " + myView.Name + ", MyOwnName = " + myView.MyOwnName + ", myCurrentValue = " + myView._myCurrentValue);
+
+            container.Add(myView);
+
+            Actor myViewActor = container.FindChildByName("MyViewName");
+            if (myViewActor)
+            {
+                MyView newView = View.DownCast<MyView>(myViewActor);
+                if (newView)
+                {
+                    Console.WriteLine("Downcast to MyView successful: newView Name = " + newView.Name + ", MyOwnName = " + newView.MyOwnName + ", myCurrentValue = " + newView._myCurrentValue);
+                }
+                else
+                {
+                    Console.WriteLine("Downcast to MyView failed!");
+                }
+            }
+
+            // Test downcast for class directly inherited from native control
+            MyButton myButton = new MyButton();
+            myButton.Name = "MyButtonName";
+            myButton.MyOwnName = "MyOwnViewName";
+            myButton.LabelText = "MyLabelText";
+            myButton._myCurrentValue = 5;
+
+            Console.WriteLine("myButton.Name = " + myButton.Name + ", MyOwnName = " + myButton.MyOwnName + ", LabelText = " + myButton.LabelText + ", myCurrentValue = " + myButton._myCurrentValue);
+
+            container.Add(myButton);
+
+            Actor myButtonActor = container.FindChildByName("MyButtonName");
+            if (myButtonActor)
+            {
+                MyButton newButton = View.DownCast<MyButton>(myButtonActor);
+                if (newButton)
+                {
+                    Console.WriteLine("Downcast to MyButton successful: newButton Name = " + newButton.Name + ", MyOwnName = " + newButton.MyOwnName + ", LabelText = " + myButton.LabelText + ", myCurrentValue = " + newButton._myCurrentValue);
+                }
+                else
+                {
+                    Console.WriteLine("Downcast to MyButton failed!");
+                }
+            }
+
+            // Test downcast for a CustomView
+            Spin spin = new Spin();
+            spin.Name = "SpinName";
+            spin.MaxValue = 8888;
+
+            Console.WriteLine("spin.Name = " + spin.Name + ", MaxValue = " + spin.MaxValue);
+
+            container.Add(spin);
+
+            Actor spinActor = container.FindChildByName("SpinName");
+            if (spinActor)
+            {
+                Spin newSpin = View.DownCast<Spin>(spinActor);
+                if (newSpin)
+                {
+                    Console.WriteLine("Downcast to Spin successful: newSpin Name = " + newSpin.Name + ", MaxValue = " + newSpin.MaxValue);
+                }
+                else
+                {
+                    Console.WriteLine("Downcast to Spin failed!");
+                }
+            }
+
+            // Test downcast for class inherited from a CustomView
+            MySpin mySpin = new MySpin();
+            mySpin.Name = "MySpinName";
+            mySpin.MyOwnName = "MyOwnSpinName";
+            mySpin.MaxValue = 8888;
+            mySpin._myCurrentValue = 5;
+
+            Console.WriteLine("mySpin.Name = " + mySpin.Name + ", MyOwnName = " + mySpin.MyOwnName + ", MaxValue = " + mySpin.MaxValue + ", currentValue = " + mySpin._myCurrentValue);
+
+            container.Add(mySpin);
+
+            Actor mySpinActor = container.FindChildByName("MySpinName");
+            if (mySpinActor)
+            {
+                MySpin newSpin = View.DownCast<MySpin>(mySpinActor);
+                if (newSpin)
+                {
+                    Console.WriteLine("Downcast to MySpin successful: newSpin Name = " + newSpin.Name + ", MyOwnName = " + newSpin.MyOwnName + ", MaxValue = " + newSpin.MaxValue + ", currentValue = " + newSpin._myCurrentValue);
+                }
+                else
+                {
+                    Console.WriteLine("Downcast to MySpin failed!");
+                }
+            }
+
+            Console.WriteLine("### [7] ViewDownCastTest END");
+        }
+
+        public void MainLoop()
+        {
+            _application.MainLoop();
+        }
+
+        /// <summary>
+        /// The main entry point for the application.
+        /// </summary>
+        [STAThread]
+        static void Main(string[] args)
+        {
+            Console.WriteLine("Hello World");
+
+            Example example = new Example(Application.NewApplication());
+            example.MainLoop();
+        }
+
+      private void LOG(string str, int result = -1)
+      {
+        if (result == 1) Console.WriteLine(str + " : test passed!");
+        else if (result == 0) Console.WriteLine(str + " : test failed! TEST FAILED! test failed! TEST FAILED!");
+        else Console.WriteLine(str);
+      }
+
+      private void CustomPropertyHighLevelClassTest()
+      {
+        LOG("=================================");
+        LOG(" high level class test");
+        LOG("=================================");
+
+        Handle handle = new Handle();
+        int myPropertyIndex1 = handle.RegisterProperty("myProperty1", new Property.Value(new Size(10, 20, 30)), Property.AccessMode.READ_WRITE);
+        Size myProperty1 = Dali.Size.Zero;
+        handle.GetProperty(myPropertyIndex1).Get(myProperty1);
+        if (myProperty1.EqualTo(new Size(10, 20, 30))) LOG( "myProperty1 must be Size(10, 20, 30) get=" + myProperty1, 1);
+        else LOG( "myProperty1 must be Size(10, 20, 30) get=" + myProperty1, 0);
+
+        int myPropertyIndex2 = handle.RegisterProperty("myProperty2", new Property.Value(new Position(40, 50, 60)), Property.AccessMode.READ_WRITE);
+        Position myProperty2 = Dali.Position.Zero;
+        handle.GetProperty(myPropertyIndex2).Get(myProperty2);
+        if (myProperty2.EqualTo(new Position(40, 50, 60))) LOG( "myProperty2 must be Position(40, 50, 60) get=" + myProperty2, 1);
+        else LOG( "myProperty2 must be Position(40, 50, 60) get=" + myProperty2, 0);
+
+        int myPropertyIndex3 = handle.RegisterProperty("myProperty3", new Property.Value(Color.Cyan), Property.AccessMode.READ_WRITE);
+        Color myProperty3 = Color.Transparent;
+        handle.GetProperty(myPropertyIndex3).Get(myProperty3);
+        if (myProperty3.EqualTo(Color.Cyan)) LOG( "myProperty3 must be Color.Cyan get=" + myProperty3, 1);
+        else LOG( "myProperty3 must be Color.Cyan get=" + myProperty3, 0);
+
+        int myPropertyIndex4 = handle.RegisterProperty("myProperty4", new Property.Value(new Size2D(100, 200)), Property.AccessMode.READ_WRITE);
+        Size2D myProperty4 = new Size2D(0, 0);
+        handle.GetProperty(myPropertyIndex4).Get(myProperty4);
+        if (myProperty4.EqualTo(new Size2D(100, 200))) LOG( "myProperty4 must be new Size2D(100, 200) get=" + myProperty4, 1);
+        else LOG( "myProperty4 must be new Size2D(100, 200) get=" + myProperty4, 0);
+
+        int myPropertyIndex5 = handle.RegisterProperty("myProperty5", new Property.Value(new Position2D(200, 300)), Property.AccessMode.READ_WRITE);
+        Position2D myProperty5 = new Position2D(0, 0);
+        handle.GetProperty(myPropertyIndex5).Get(myProperty5);
+        if (myProperty5.EqualTo(new Position2D(200, 300))) LOG( "myProperty5 must be new Position2D(200, 300) get=" + myProperty5, 1);
+        else LOG( "myProperty5 must be new Position2D(200, 300) get=" + myProperty5, 0);
+
+        View view = new View();
+        view.Size2D = new Size2D(new Size(200.0f, 200.0f, 0.0f));
+        view.Name = "MyView1";
+        view.BackgroundColor = new Color(1.0f, 0.0f, 1.0f, 0.8f);
+        LOG("view id: " + view.GetId());
+        LOG("view size: " + view.Size.Width + ", " + view.Size.Height + "," + view.Size.Depth);
+        LOG("view size2d: " + view.Size2D.Width + ", " + view.Size2D.Height);
+        LOG("view name: " + view.Name);
+
+        Stage stage = Stage.GetCurrent();
+        Size2D stageSize = stage.Size;
+        LOG("Stage size2d: " + stageSize.Width + ", " + stageSize.Height);
+        stage.Add(view);
+
+        Size Size = new Size(100, 50, 25);
+        LOG( Size +  "Created. this should be (100, 50, 25)!");
+        LOG( "Size width= " + Size.Width + ", height=" + Size.Height + ",depth=" + Size.Depth );
+        Size += new Size(20, 20, 20);
+        if(Size.EqualTo(new Size(120, 70, 45))){ LOG( "plus Size(20,20,20) should be +20 for each! x =  " + Size.Width + ", y = " + Size.Height + ", z = " + Size.Depth, 1);}
+        else { LOG( "plus Size(20,20,20) should be +20 for each! x =  " + Size.Width + ", y = " + Size.Height + ", z = " + Size.Depth, 0);}
+
+        Size.Width += 10;
+        Size.Height += 10;
+        Size.Depth += 10;
+        if(Size.EqualTo(new Size(130, 80, 55))){ LOG( "plus 10 for each! width =  " + Size.Width + ", height = " + Size.Height + ", depth = " + Size.Depth, 1); }
+        else { LOG( "plus 10 for each! width =  " + Size.Width + ", height = " + Size.Height + ", depth = " + Size.Depth, 0); }
+
+        Position Position = new Position(20, 100, 50);
+        LOG(Position + "Created ");
+        LOG( "Position x =  " + Position.X + ", y = " + Position.Y + ", z = " + Position.Z );
+        Position += new Position(20, 20, 20);
+        if(Position.EqualTo(new Position(40, 120, 70))) LOG( "plus Position(20, 20, 20)! Position x =  " + Position.X + ", y = " + Position.Y + ", z = " + Position.Z, 1);
+        else LOG( "plus Position(20, 20, 20)! Position x =  " + Position.X + ", y = " + Position.Y + ", z = " + Position.Z, 0);
+
+        Position.X += 10;
+        Position.Y += 10;
+        Position.Z += 10;
+        if(Position.EqualTo(new Position(50, 130, 80))) LOG( "plus +10 for each! Position width =  " + Position.X + ", height = " + Position.Y + ", depth = " + Position.Z, 1 );
+        else  LOG( "plus +10 for each! Position width =  " + Position.X + ", height = " + Position.Y + ", depth = " + Position.Z, 0 );
+
+        Position2D _position2d = new Position2D(new Position(600.0f, 700.0f, 800.0f));
+        LOG(_position2d + "Created ");
+        LOG( "_postion2d x =  " + _position2d.X + ", y = " + _position2d.Y);
+        _position2d += new Position2D(20, 20);
+        if(_position2d.EqualTo(new Position2D(620, 720))) LOG( "plus Position2D(20, 20)! Position x =  " + _position2d.X + ", y = " + _position2d.Y, 1);
+        else LOG( "plus Position2D(20, 20)! Position x =  " + _position2d.X + ", y = " + _position2d.Y, 0);
+
+        Position parentOrigin = ParentOrigin.BottomRight;
+        LOG( "parentOrigin.BottomRight x=" + parentOrigin.X + ", y=" + parentOrigin.Y + ", z=" + parentOrigin.Z );
+
+        Color color = new Color(20, 100, 50, 200);
+        LOG( color +  "    Created ");
+        LOG( "Color R =  " + color.R + ", G = " + color.G + ", B = " + color.B + ", A = " + color.A );
+        color += new Color(20, 20, 20, 20);
+        if(color.EqualTo(new Color(40, 120, 70, 220))) LOG( "plus Color(20, 20, 20, 20)! Color R =  " + color.R + ", G = " + color.G + ", B = " + color.B + ", A = " + color.A, 1 );
+        else LOG( "plus Color(20, 20, 20, 20)! Color R =  " + color.R + ", G = " + color.G + ", B = " + color.B + ", A = " + color.A, 0 );
+        color.R += 10;
+        color.G += 10;
+        color.B += 10;
+        color.A += 10;
+        if(color.EqualTo(new Color(50, 130, 80, 230))) LOG( "plus +10 for each! Color r =  " + color.R + ", g = " + color.G + ", b = " + color.B + ", a = " + color.A, 1 );
+        else LOG( "plus +10 for each! Color r =  " + color.R + ", g = " + color.G + ", b = " + color.B + ", a = " + color.A, 0 );
+
+        LOG("=================================");
+      }
+
+    }
+}
+
diff --git a/plugins/dali-sharp/examples/date-picker-using-json.cs b/plugins/dali-sharp/examples/date-picker-using-json.cs
new file mode 100644 (file)
index 0000000..ade1b72
--- /dev/null
@@ -0,0 +1,168 @@
+/*
+ * 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.
+ *
+ */
+
+using System;
+using System.Runtime.InteropServices;
+using Dali;
+
+namespace MyCSharpExample
+{
+    // A spin control (for continously changing values when users can easily predict a set of values)
+
+    class Example
+    {
+        private Dali.Application _application;
+        private Spin _spinYear;  // spin control for year
+        private Spin _spinMonth; // spin control for month
+        private Spin _spinDay;   // spin control for day
+        private Builder _builder; // DALi Builder
+
+        public Example(Dali.Application application)
+        {
+            _application = application;
+            _application.Initialized += Initialize;
+        }
+
+        public void Initialize(object source, NUIApplicationInitEventArgs e)
+        {
+
+            Stage stage = Stage.GetCurrent();
+            stage.BackgroundColor = Color.White;
+
+            // load date JSON template...
+
+            _builder = new Builder ();
+
+            // Optional constant to see logging information coming out
+            // of DALi JSON parser (builder)
+            Property.Map constants = new  Property.Map();
+            constants.Insert( "CONFIG_SCRIPT_LOG_LEVEL",  new Property.Value( "Verbose") );
+            _builder.AddConstants( constants );
+
+            _builder.LoadFromFile( "./json/date-picker-template.json" );
+
+            // create the date-picker from the template in the json file
+            BaseHandle handle =  _builder.Create( "date-picker");
+
+            Actor actorTree =  Actor.DownCast( handle );
+
+            stage.Add( actorTree );
+
+            Actor year  = actorTree.FindChildByName("Year");
+            Actor month  =  actorTree.FindChildByName("Month" );
+            Actor day  = actorTree.FindChildByName("Day");
+
+            // need to get the actual C# Spin object associated with the actor,
+            _spinYear = View.DownCast<Spin>( year );
+            _spinMonth = View.DownCast<Spin>( month );
+            _spinDay = View.DownCast<Spin>( day );
+
+            _spinYear.Value = 2099;
+            _spinMonth.Value = 5;
+            _spinDay.Value = 23;
+
+            _spinYear.SetKeyboardFocusable(true);
+            _spinMonth.SetKeyboardFocusable(true);
+            _spinDay.SetKeyboardFocusable(true);
+
+            FocusManager keyboardFocusManager = FocusManager.Instance;
+            keyboardFocusManager.PreFocusChange += OnKeyboardPreFocusChange;
+            keyboardFocusManager.FocusedActorEnterKeyPressed += OnFocusedActorEnterKeyPressed;
+
+        }
+
+        private Actor OnKeyboardPreFocusChange(object source, FocusManager.PreFocusChangeEventArgs e)
+        {
+            Actor nextFocusActor = e.Proposed;
+
+            // When nothing has been focused initially, focus the text field in the first spin
+            if (!e.Current && !e.Proposed)
+            {
+                nextFocusActor = _spinYear.SpinText;
+            }
+            else if(e.Direction == View.KeyboardFocus.Direction.LEFT)
+            {
+                // Move the focus to the spin in the left of the current focused spin
+                if(e.Current == _spinMonth.SpinText)
+                {
+                    nextFocusActor = _spinYear.SpinText;
+                }
+                else if(e.Current == _spinDay.SpinText)
+                {
+                    nextFocusActor = _spinMonth.SpinText;
+                }
+            }
+            else if(e.Direction == View.KeyboardFocus.Direction.RIGHT)
+            {
+                // Move the focus to the spin in the right of the current focused spin
+                if(e.Current == _spinYear.SpinText)
+                {
+                    nextFocusActor = _spinMonth.SpinText;
+                }
+                else if(e.Current == _spinMonth.SpinText)
+                {
+                    nextFocusActor = _spinDay.SpinText;
+                }
+            }
+
+            return nextFocusActor;
+        }
+
+        private void OnFocusedActorEnterKeyPressed(object source, FocusManager.FocusedActorEnterKeyEventArgs e)
+        {
+            // Make the text field in the current focused spin to take the key input
+            KeyInputFocusManager manager = KeyInputFocusManager.Get();
+
+            if (e.Actor == _spinYear.SpinText)
+            {
+                if (manager.GetCurrentFocusControl() != _spinYear.SpinText)
+                {
+                    manager.SetFocus(_spinYear.SpinText);
+                }
+            }
+            else if (e.Actor == _spinMonth.SpinText)
+            {
+                if (manager.GetCurrentFocusControl() != _spinMonth.SpinText)
+                {
+                    manager.SetFocus(_spinMonth.SpinText);
+                }
+            }
+            else if (e.Actor == _spinDay.SpinText)
+            {
+                if (manager.GetCurrentFocusControl() != _spinDay.SpinText)
+                {
+                    manager.SetFocus(_spinDay.SpinText);
+                }
+            }
+        }
+
+        public void MainLoop()
+        {
+            _application.MainLoop ();
+        }
+
+        /// <summary>
+        /// The main entry point for the application.
+        /// </summary>
+        [STAThread]
+        static void Main(string[] args)
+        {
+            Example example = new Example(Application.NewApplication());
+            example.MainLoop ();
+        }
+    }
+}
diff --git a/plugins/dali-sharp/examples/date-picker.cs b/plugins/dali-sharp/examples/date-picker.cs
new file mode 100644 (file)
index 0000000..a973f8d
--- /dev/null
@@ -0,0 +1,196 @@
+/*
+ * 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.
+ *
+ */
+
+using System;
+using System.Runtime.InteropServices;
+using Dali;
+
+namespace MyCSharpExample
+{
+    // A spin control (for continously changing values when users can easily predict a set of values)
+
+    class Example
+    {
+        private Dali.Application _application;
+        private FlexContainer _container;   // Flex container to hold spin controls
+        private Spin _spinYear;  // spin control for year
+        private Spin _spinMonth; // spin control for month
+        private Spin _spinDay;   // spin control for day
+
+        public Example(Dali.Application application)
+        {
+            _application = application;
+            _application.Initialized += Initialize;
+        }
+
+        public void Initialize(object source, NUIApplicationInitEventArgs e)
+        {
+
+            Stage stage = Stage.GetCurrent();
+            stage.BackgroundColor = Color.White;
+
+            // Create a container for the spins
+            _container = new FlexContainer();
+
+            _container.ParentOrigin = NDalic.ParentOriginCenter;
+            _container.AnchorPoint = NDalic.AnchorPointCenter;
+            _container.FlexDirection = (int)FlexContainer.FlexDirectionType.ROW;
+            _container.Size = new Vector3(480.0f, 150.0f, 0.0f);
+
+            stage.Add(_container);
+
+            // Create a Spin control for year
+            _spinYear = new Spin();
+            _spinYear.ParentOrigin = NDalic.ParentOriginCenter;
+            _spinYear.AnchorPoint = NDalic.AnchorPointCenter;
+            _spinYear.Flex = 0.3f;
+            _spinYear.FlexMargin = new Vector4(5.0f, 0.0f, 5.0f, 0.0f);
+            _container.Add(_spinYear);
+
+            _spinYear.MinValue = 1900;
+            _spinYear.MaxValue = 2100;
+            _spinYear.Value = 2016;
+            _spinYear.Step = 1;
+            _spinYear.MaxTextLength = 4;
+            _spinYear.TextPointSize = 26;
+            _spinYear.TextColor = Color.White;
+            _spinYear.SetKeyboardFocusable(true);
+            _spinYear.Name = "_spinYear";
+
+            // Create a Spin control for month
+            _spinMonth = new Spin();
+            _spinMonth.ParentOrigin = NDalic.ParentOriginCenter;
+            _spinMonth.AnchorPoint = NDalic.AnchorPointCenter;
+            _spinMonth.Flex = 0.3f;
+            _spinMonth.FlexMargin = new Vector4(5.0f, 0.0f, 5.0f, 0.0f);
+            _container.Add(_spinMonth);
+
+            _spinMonth.MinValue = 1;
+            _spinMonth.MaxValue = 12;
+            _spinMonth.Value = 10;
+            _spinMonth.Step = 1;
+            _spinMonth.MaxTextLength = 2;
+            _spinMonth.TextPointSize = 26;
+            _spinMonth.TextColor = Color.White;
+            _spinMonth.SetKeyboardFocusable(true);
+            _spinMonth.Name = "_spinMonth";
+
+            // Create a Spin control for day
+            _spinDay = new Spin();
+            _spinDay.ParentOrigin = NDalic.ParentOriginCenter;
+            _spinDay.AnchorPoint = NDalic.AnchorPointCenter;
+            _spinDay.Flex = 0.3f;
+            _spinDay.FlexMargin = new Vector4(5.0f, 0.0f, 5.0f, 0.0f);
+            _container.Add(_spinDay);
+
+            _spinDay.MinValue = 1;
+            _spinDay.MaxValue = 31;
+            _spinDay.Value = 26;
+            _spinDay.Step = 1;
+            _spinDay.MaxTextLength = 2;
+            _spinDay.TextPointSize = 26;
+            _spinDay.TextColor = Color.White;
+            _spinDay.SetKeyboardFocusable(true);
+            _spinDay.Name = "_spinDay";
+
+            FocusManager keyboardFocusManager = FocusManager.Instance;
+            keyboardFocusManager.PreFocusChange += OnKeyboardPreFocusChange;
+            keyboardFocusManager.FocusedActorEnterKeyPressed += OnFocusedActorEnterKeyPressed;
+
+        }
+
+        private Actor OnKeyboardPreFocusChange(object source, FocusManager.PreFocusChangeEventArgs e)
+        {
+            Actor nextFocusActor = e.Proposed;
+
+            // When nothing has been focused initially, focus the text field in the first spin
+            if (!e.Current && !e.Proposed)
+            {
+                nextFocusActor = _spinYear.SpinText;
+            }
+            else if(e.Direction == View.KeyboardFocus.Direction.LEFT)
+            {
+                // Move the focus to the spin in the left of the current focused spin
+                if(e.Current == _spinMonth.SpinText)
+                {
+                    nextFocusActor = _spinYear.SpinText;
+                }
+                else if(e.Current == _spinDay.SpinText)
+                {
+                    nextFocusActor = _spinMonth.SpinText;
+                }
+            }
+            else if(e.Direction == View.KeyboardFocus.Direction.RIGHT)
+            {
+                // Move the focus to the spin in the right of the current focused spin
+                if(e.Current == _spinYear.SpinText)
+                {
+                    nextFocusActor = _spinMonth.SpinText;
+                }
+                else if(e.Current == _spinMonth.SpinText)
+                {
+                    nextFocusActor = _spinDay.SpinText;
+                }
+            }
+
+            return nextFocusActor;
+        }
+
+        private void OnFocusedActorEnterKeyPressed(object source, FocusManager.FocusedActorEnterKeyEventArgs e)
+        {
+            // Make the text field in the current focused spin to take the key input
+            KeyInputFocusManager manager = KeyInputFocusManager.Get();
+
+            if (e.Actor == _spinYear.SpinText)
+            {
+                if (manager.GetCurrentFocusControl() != _spinYear.SpinText)
+                {
+                    manager.SetFocus(_spinYear.SpinText);
+                }
+            }
+            else if (e.Actor == _spinMonth.SpinText)
+            {
+                if (manager.GetCurrentFocusControl() != _spinMonth.SpinText)
+                {
+                    manager.SetFocus(_spinMonth.SpinText);
+                }
+            }
+            else if (e.Actor == _spinDay.SpinText)
+            {
+                if (manager.GetCurrentFocusControl() != _spinDay.SpinText)
+                {
+                    manager.SetFocus(_spinDay.SpinText);
+                }
+            }
+        }
+
+        public void MainLoop()
+        {
+            _application.MainLoop ();
+        }
+
+        /// <summary>
+        /// The main entry point for the application.
+        /// </summary>
+        [STAThread]
+        static void Main(string[] args)
+        {
+            Example example = new Example(Application.NewApplication());
+            example.MainLoop ();
+        }
+    }
+}
diff --git a/plugins/dali-sharp/examples/hello-test.cs b/plugins/dali-sharp/examples/hello-test.cs
new file mode 100644 (file)
index 0000000..eec2bfc
--- /dev/null
@@ -0,0 +1,128 @@
+/*
+ * 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.
+ *
+ */
+
+using System;
+using System.Runtime.InteropServices;
+using Dali;
+using Tizen.Applications;
+
+//------------------------------------------------------------------------------
+// <manual-generated />
+//
+// This file can only run on Tizen target. You should compile it with DaliApplication.cs, and
+// add tizen c# application related library as reference.
+//------------------------------------------------------------------------------
+namespace MyCSharpExample
+{
+    class Example : DaliApplication
+    {
+        protected override void OnCreate()
+        {
+            base.OnCreate();
+            Initialize();
+        }
+
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        delegate void CallbackDelegate(IntPtr data);
+
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        delegate void TouchCallbackDelegate(IntPtr data);
+
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        delegate void AnimationCallbackDelegate(IntPtr data);
+
+        private Animation _animation;
+        private TextLabel _text;
+
+        public Example():base()
+        {
+        }
+
+        public Example(string stylesheet):base(stylesheet)
+        {
+        }
+
+        public Example(string stylesheet, Dali.Application.WINDOW_MODE windowMode):base(stylesheet, windowMode)
+        {
+        }
+
+        private void Initialize()
+        {
+            // Connect the signal callback for stage touched signal
+            TouchCallbackDelegate stageTouchedCallback = new TouchCallbackDelegate(OnStageTouched);
+            stage.TouchSignal().Connect(stageTouchedCallback);
+
+            // Add a _text label to the stage
+            _text = new TextLabel("Hello Mono World");
+            _text.ParentOrigin = NDalic.ParentOriginCenter;
+            _text.AnchorPoint = NDalic.AnchorPointCenter;
+            _text.HorizontalAlignment = "CENTER";
+            _text.PointSize = 32.0f;
+
+            stage.Add(_text);
+        }
+
+        // Callback for _animation finished signal handling
+        private void AnimationFinished(IntPtr data)
+        {
+            Animation _animation = Animation.GetAnimationFromPtr( data );
+            Console.WriteLine("Animation finished: duration = " + _animation.GetDuration());
+        }
+
+        // Callback for stage touched signal handling
+        private void OnStageTouched(IntPtr data)
+        {
+            TouchData touchData = TouchData.GetTouchDataFromPtr( data );
+
+            // Only animate the _text label when touch down happens
+            if (touchData.GetState(0) == PointStateType.DOWN)
+            {
+                // Create a new _animation
+                if (_animation)
+                {
+                    _animation.Reset();
+                }
+
+                _animation = new Animation(1.0f); // 1 second of duration
+
+                _animation.AnimateTo(new Property(_text, Actor.Property.ORIENTATION), new Property.Value(new Quaternion(new Radian(new Degree(180.0f)), Vector3.XAXIS)), new AlphaFunction(AlphaFunction.BuiltinFunction.LINEAR), new TimePeriod(0.0f, 0.5f));
+                _animation.AnimateTo(new Property(_text, Actor.Property.ORIENTATION), new Property.Value(new Quaternion(new Radian(new Degree(0.0f)), Vector3.XAXIS)), new AlphaFunction(AlphaFunction.BuiltinFunction.LINEAR), new TimePeriod(0.5f, 0.5f));
+
+                // Connect the signal callback for animaiton finished signal
+                AnimationCallbackDelegate animFinishedDelegate = new AnimationCallbackDelegate(AnimationFinished);
+                _animation.FinishedSignal().Connect(animFinishedDelegate);
+
+                // Play the _animation
+                _animation.Play();
+            }
+        }
+
+        /// <summary>
+        /// The main entry point for the application.
+        /// </summary>
+
+        [STAThread]
+        static void Main(string[] args)
+        {
+            Console.WriteLine("Hello mono world.");
+            //Example example = new Example();
+            //Example example = new Example("stylesheet");
+            Example example = new Example("stylesheet", Dali.Application.WINDOW_MODE.TRANSPARENT);
+            example.Run(args);
+        }
+    }
+}
diff --git a/plugins/dali-sharp/examples/hello-world.cs b/plugins/dali-sharp/examples/hello-world.cs
new file mode 100755 (executable)
index 0000000..1daf6a0
--- /dev/null
@@ -0,0 +1,134 @@
+/*
+* 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.
+*
+*/
+
+using System;
+using System.Runtime.InteropServices;
+using Dali;
+using Dali.Constants;
+
+namespace MyCSharpExample
+{
+    class Example
+    {
+        private Dali.Application _application;
+        private Animation _animation;
+        private TextLabel _text;
+        private Stage _stage;
+
+        public Example(Dali.Application application)
+        {
+            _application = application;
+            _application.Initialized += Initialize;
+        }
+
+        public void Initialize(object source, NUIApplicationInitEventArgs e)
+        {
+            Console.WriteLine("Customized Application Initialize event handler");
+            _stage = Stage.Instance;
+            _stage.BackgroundColor = Color.White;
+            _stage.Touch += OnStageTouched;
+
+            // Add a _text label to the stage
+            _text = new TextLabel("Hello Mono World");
+            _text.ParentOrigin = ParentOrigin.Center;
+            _text.AnchorPoint = AnchorPoint.Center;
+            _text.HorizontalAlignment = "CENTER";
+            _text.PointSize = 32.0f;
+            _text.TextColor = Color.Magenta;
+            _stage.Add(_text);
+
+            _animation = new Animation
+            {
+                StartTime = 0,
+                EndTime = 500,
+                TargetProperty = "Orientation",
+                Destination = new Rotation(new Radian(new Degree(180.0f)), PositionAxis.X)
+            };
+            _animation.AnimateTo(_text);
+
+            _animation.StartTime = 500;
+            _animation.EndTime = 1000;
+            _animation.TargetProperty = "Orientation";
+            _animation.Destination = new Rotation(new Radian(new Degree(0.0f)), PositionAxis.X);
+            _animation.AnimateTo(_text);
+
+            _animation.StartTime = 1000;
+            _animation.EndTime = 1500;
+            _animation.TargetProperty = "ScaleX";
+            _animation.Destination = 3.0f;
+            _animation.AnimateBy(_text);
+
+            _animation.StartTime = 1500;
+            _animation.EndTime = 2000;
+            _animation.TargetProperty = "ScaleY";
+            _animation.Destination = 4.0f;
+            _animation.AnimateBy(_text);
+
+            _animation.EndAction = Animation.EndActions.Discard;
+
+            // Connect the signal callback for animaiton finished signal
+            _animation.Finished += AnimationFinished;
+        }
+
+        // Callback for _animation finished signal handling
+        public void AnimationFinished(object sender, EventArgs e)
+        {
+            Console.WriteLine("AnimationFinished()!");
+            if (_animation)
+            {
+                Console.WriteLine("Duration= " + _animation.Duration);
+                Console.WriteLine("EndAction= " + _animation.EndAction);
+            }
+        }
+
+        // Callback for stage touched signal handling
+        public void OnStageTouched(object sender, Stage.TouchEventArgs e)
+        {
+            // Only animate the _text label when touch down happens
+            if (e.Touch.GetState(0) == PointStateType.DOWN)
+            {
+                Console.WriteLine("Customized Stage Touch event handler");
+
+                // Create a new _animation
+                if (_animation)
+                {
+                    _animation.Stop();
+                }
+                // Play the _animation
+                _animation.Play();
+            }
+        }
+
+        public void MainLoop()
+        {
+            _application.MainLoop();
+        }
+
+        /// <summary>
+        /// The main entry point for the application.
+        /// </summary>
+        [STAThread]
+        static void Main(string[] args)
+        {
+            Console.WriteLine("Main() called!");
+
+            Example example = new Example(Application.NewApplication());
+            example.MainLoop();
+        }
+    }
+}
+
diff --git a/plugins/dali-sharp/examples/image-view.cs b/plugins/dali-sharp/examples/image-view.cs
new file mode 100755 (executable)
index 0000000..6ece63b
--- /dev/null
@@ -0,0 +1,239 @@
+/** 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.
+*
+*/
+
+using System;
+using System.Runtime.InteropServices;
+using Dali;
+using Dali.Constants;
+
+namespace ImageViewExample
+{
+
+    class Example
+    {
+        public static void Log(string str)
+        {
+            Console.WriteLine("[DALI C# SAMPLE] " + str);
+        }
+
+        private Dali.Application _application;
+        private Animation _animation;
+        private ImageView _imageView;
+        private bool _isAniFinised = true;
+        private Layer layer, _layer1, _layer2;
+        private PushButton _pushButton1, _pushButton2;
+        private Stage stage;
+
+        public Example(Dali.Application application)
+        {
+            _application = application;
+            _application.Initialized += Initialize;
+        }
+
+        public void Initialize(object source, NUIApplicationInitEventArgs e)
+        {
+            Log("Customized Application Initialize event handler");
+            stage = Stage.Instance;
+            stage.BackgroundColor = Color.Cyan;
+            stage.Touch += OnStageTouched;
+            stage.Wheel += OnStageWheelMoved;
+            stage.Key += OnStageKeyPressed;
+            //stage.EventProcessingFinished += OnStageEventProcessingFinished;
+
+            layer = stage.GetDefaultLayer();
+            _layer1 = new Layer();
+            _layer2 = new Layer();
+            stage.AddLayer(_layer1);
+            stage.AddLayer(_layer2);
+            Log("_layer1.Behavior =" + _layer1.Behavior);
+            if (_layer1.Behavior == Layer.LayerBehavior.LAYER_UI)
+            {
+                _layer1.Behavior = Layer.LayerBehavior.LAYER_2D;
+                Log("again _layer1.Behavior =" + _layer1.Behavior);
+            }
+            // Add a ImageView to the stage
+            _imageView = new ImageView();
+            _imageView.ResourceUrl = "./images/gallery-3.jpg";
+            _imageView.ParentOrigin = ParentOrigin.Center;
+            _imageView.AnchorPoint = AnchorPoint.Center;
+            _imageView.PixelArea = new Vector4(0.0f, 0.0f, 0.5f, 0.5f);
+            //_imageView.SetResizePolicy(ResizePolicyType.USE_NATURAL_SIZE, DimensionType.ALL_DIMENSIONS);
+            layer.Add(_imageView);
+
+            _pushButton1 = new PushButton();
+            _pushButton1.ParentOrigin = ParentOrigin.BottomLeft;
+            _pushButton1.AnchorPoint = AnchorPoint.BottomLeft;
+            _pushButton1.LabelText = "start animation";
+            _pushButton1.Position = new Vector3(0.0f, stage.Size.Height * 0.1f, 0.0f);
+            _pushButton1.Clicked += OnPushButtonClicked1;
+            _layer1.Add(_pushButton1);
+
+            _pushButton2 = new PushButton();
+            _pushButton2.ParentOrigin = ParentOrigin.BottomLeft;
+            _pushButton2.AnchorPoint = AnchorPoint.BottomLeft;
+            _pushButton2.LabelText = "reload image with same URL";
+            _pushButton2.Position = new Vector3(0.0f, stage.Size.Height * 0.2f, 0.0f);
+            _pushButton2.Clicked += OnPushButtonClicked2;
+            _layer2.Add(_pushButton2);
+
+        }
+
+        public bool OnPushButtonClicked2(object sender, Button.ClickedEventArgs e)
+        {
+            if (_imageView)
+            {
+                Log("OnPushButtonClicked2()!");
+                layer.Remove(_imageView);
+                _imageView = new ImageView();
+                _imageView.ResourceUrl = "./images/gallery-3.jpg";
+                _imageView.ParentOrigin = ParentOrigin.Center;
+                _imageView.AnchorPoint = AnchorPoint.Center;
+                _imageView.PixelArea = new Vector4(0.0f, 0.0f, 0.5f, 0.5f);
+                //_imageView.SetResizePolicy(ResizePolicyType.USE_NATURAL_SIZE, DimensionType.ALL_DIMENSIONS);
+                layer.Add(_imageView);
+            }
+
+            return true;
+        }
+
+
+        public bool OnPushButtonClicked1(object sender, Button.ClickedEventArgs e)
+        {
+            if (_isAniFinised == true)
+            {
+                _isAniFinised = false;
+                Log("OnPushButtonClicked1()!");
+
+                // Create a new _animation
+                if (_animation)
+                {
+                    //_animation.Stop(Dali.Constants.Animation.EndAction.Stop);
+                    _animation.Reset();
+                }
+
+                _animation = new Animation();
+                _animation.StartTime = 0;
+                _animation.EndTime = 1000;
+                _animation.TargetProperty = "PixelArea";
+                _animation.Destination = new Vector4(0.5f, 0.0f, 0.5f, 0.5f);
+                _animation.AnimateTo(_imageView);
+
+                _animation.StartTime = 1000;
+                _animation.EndTime = 2000;
+                _animation.TargetProperty = "PixelArea";
+                _animation.Destination = new Vector4(0.5f, 0.5f, 0.5f, 0.5f);
+                _animation.AnimateTo(_imageView);
+
+                _animation.StartTime = 2000;
+                _animation.EndTime = 3000;
+                _animation.TargetProperty = "PixelArea";
+                _animation.Destination = new Vector4(0.0f, 0.0f, 1.0f, 1.0f);
+                _animation.AnimateTo(_imageView);
+
+                _animation.StartTime = 3000;
+                _animation.EndTime = 4000;
+                _animation.TargetProperty = "PixelArea";
+                _animation.Destination = new Vector4(0.5f, 0.5f, 0.5f, 0.5f);
+                _animation.AnimateTo(_imageView);
+
+                _animation.StartTime = 4000;
+                _animation.EndTime = 6000;
+                _animation.TargetProperty = "Size";
+                KeyFrames _keyFrames = new KeyFrames();
+                _keyFrames.Add(0.0f, new Size(0.0f, 0.0f, 0.0f));
+                _keyFrames.Add(0.3f, new Size((stage.Size * 0.7f)));
+                _keyFrames.Add(1.0f, new Size(stage.Size));
+                _animation.AnimateBetween(_imageView, _keyFrames, Animation.Interpolation.Linear);
+
+                _animation.EndAction = Animation.EndActions.Discard;
+
+                // Connect the signal callback for animaiton finished signal
+                _animation.Finished += AnimationFinished;
+                _animation.Finished += AnimationFinished2;
+
+                // Play the _animation
+                _animation.Play();
+            }
+
+            return true;
+        }
+
+        // Callback for _animation finished signal handling
+        public void AnimationFinished(object sender, EventArgs e)
+        {
+            Log("AnimationFinished()!");
+        }
+
+        // Callback for second _animation finished signal handling
+        public void AnimationFinished2(object sender, EventArgs e)
+        {
+            Log("AnimationFinished2()!");
+            if (_animation)
+            {
+                Log("Duration= " + _animation.Duration);
+                Log("EndAction= " + _animation.EndAction);
+                _isAniFinised = true;
+            }
+        }
+
+        public void OnStageEventProcessingFinished(object sender, EventArgs e)
+        {
+            Log("OnStageEventProcessingFinished()!");
+            if (e != null)
+            {
+                Log("e != null !");
+            }
+        }
+
+        public void OnStageKeyPressed(object sender, Stage.KeyEventArgs e)
+        {
+            Log("OnStageKeyEventOccured()!");
+            Log("keyPressedName=" + e.Key.KeyPressedName);
+            Log("state=" + e.Key.State);
+        }
+
+        public void OnStageWheelMoved(object sender, Stage.WheelEventArgs e)
+        {
+            Log("OnStageWheelEventOccured()!");
+            Log("direction=" + e.Wheel.Direction);
+            Log("type=" + e.Wheel.Type);
+        }
+
+        // Callback for stage touched signal handling
+        public void OnStageTouched(object sender, Stage.TouchEventArgs e)
+        {
+            Log("OnStageTouched()! e.TouchData.GetState(0)=" + e.Touch.GetState(0));
+        }
+
+        public void MainLoop()
+        {
+            _application.MainLoop();
+        }
+
+        /// <summary>
+        /// The main entry point for the application.
+        /// </summary>
+        [STAThread]
+        static void Main(string[] args)
+        {
+            Log("Main() called!");
+
+            Example example = new Example(Application.NewApplication());
+            example.MainLoop();
+        }
+    }
+}
+
diff --git a/plugins/dali-sharp/examples/images/arrow.png b/plugins/dali-sharp/examples/images/arrow.png
new file mode 100644 (file)
index 0000000..87abefd
Binary files /dev/null and b/plugins/dali-sharp/examples/images/arrow.png differ
diff --git a/plugins/dali-sharp/examples/images/gallery-0.jpg b/plugins/dali-sharp/examples/images/gallery-0.jpg
new file mode 100644 (file)
index 0000000..d43d0ed
Binary files /dev/null and b/plugins/dali-sharp/examples/images/gallery-0.jpg differ
diff --git a/plugins/dali-sharp/examples/images/gallery-1.jpg b/plugins/dali-sharp/examples/images/gallery-1.jpg
new file mode 100644 (file)
index 0000000..ea6e302
Binary files /dev/null and b/plugins/dali-sharp/examples/images/gallery-1.jpg differ
diff --git a/plugins/dali-sharp/examples/images/gallery-2.jpg b/plugins/dali-sharp/examples/images/gallery-2.jpg
new file mode 100644 (file)
index 0000000..f55cbe8
Binary files /dev/null and b/plugins/dali-sharp/examples/images/gallery-2.jpg differ
diff --git a/plugins/dali-sharp/examples/images/gallery-3.jpg b/plugins/dali-sharp/examples/images/gallery-3.jpg
new file mode 100644 (file)
index 0000000..53cc5df
Binary files /dev/null and b/plugins/dali-sharp/examples/images/gallery-3.jpg differ
diff --git a/plugins/dali-sharp/examples/images/gallery-4.jpg b/plugins/dali-sharp/examples/images/gallery-4.jpg
new file mode 100644 (file)
index 0000000..9b846e0
Binary files /dev/null and b/plugins/dali-sharp/examples/images/gallery-4.jpg differ
diff --git a/plugins/dali-sharp/examples/images/gallery-5.jpg b/plugins/dali-sharp/examples/images/gallery-5.jpg
new file mode 100644 (file)
index 0000000..cd2c1a0
Binary files /dev/null and b/plugins/dali-sharp/examples/images/gallery-5.jpg differ
diff --git a/plugins/dali-sharp/examples/images/gallery-small-43.jpg b/plugins/dali-sharp/examples/images/gallery-small-43.jpg
new file mode 100644 (file)
index 0000000..8ccc2e4
Binary files /dev/null and b/plugins/dali-sharp/examples/images/gallery-small-43.jpg differ
diff --git a/plugins/dali-sharp/examples/images/image-1.jpg b/plugins/dali-sharp/examples/images/image-1.jpg
new file mode 100644 (file)
index 0000000..1075e97
Binary files /dev/null and b/plugins/dali-sharp/examples/images/image-1.jpg differ
diff --git a/plugins/dali-sharp/examples/images/image-2.jpg b/plugins/dali-sharp/examples/images/image-2.jpg
new file mode 100644 (file)
index 0000000..cca2a2e
Binary files /dev/null and b/plugins/dali-sharp/examples/images/image-2.jpg differ
diff --git a/plugins/dali-sharp/examples/images/image-3.jpg b/plugins/dali-sharp/examples/images/image-3.jpg
new file mode 100644 (file)
index 0000000..10c4741
Binary files /dev/null and b/plugins/dali-sharp/examples/images/image-3.jpg differ
diff --git a/plugins/dali-sharp/examples/images/not_yet_sign.png b/plugins/dali-sharp/examples/images/not_yet_sign.png
new file mode 100644 (file)
index 0000000..12b48c1
Binary files /dev/null and b/plugins/dali-sharp/examples/images/not_yet_sign.png differ
diff --git a/plugins/dali-sharp/examples/images/star-dim.png b/plugins/dali-sharp/examples/images/star-dim.png
new file mode 100644 (file)
index 0000000..38cc674
Binary files /dev/null and b/plugins/dali-sharp/examples/images/star-dim.png differ
diff --git a/plugins/dali-sharp/examples/images/star-highlight.png b/plugins/dali-sharp/examples/images/star-highlight.png
new file mode 100644 (file)
index 0000000..f99ee25
Binary files /dev/null and b/plugins/dali-sharp/examples/images/star-highlight.png differ
diff --git a/plugins/dali-sharp/examples/images/star-mod.png b/plugins/dali-sharp/examples/images/star-mod.png
new file mode 100644 (file)
index 0000000..2e3212e
Binary files /dev/null and b/plugins/dali-sharp/examples/images/star-mod.png differ
diff --git a/plugins/dali-sharp/examples/json-loader.cs b/plugins/dali-sharp/examples/json-loader.cs
new file mode 100644 (file)
index 0000000..e57afd0
--- /dev/null
@@ -0,0 +1,94 @@
+/*
+ * 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.
+ *
+ */
+
+using System;
+using System.Runtime.InteropServices;
+using Dali;
+
+namespace MyExampleApp
+{
+  class Example
+  {
+    private Dali.Application _application;
+    private Builder _builder;
+    private string _jsonFileName;
+
+    public Example(Dali.Application application, string fileName)
+    {
+      _application = application;
+      _jsonFileName = fileName;
+      _application.Initialized += Initialize;
+    }
+
+    public void Initialize(object source, NUIApplicationInitEventArgs e)
+    {
+        if( _jsonFileName.Length == 0)
+        {
+          Console.WriteLine("Please specify JSON file to load");
+          return;
+        }
+
+        _builder = new Builder ();
+
+        Property.Map constants = new  Property.Map();
+
+        //  In dali-demo we have some JSON files that can be loaded, but they need 3 different macros defining.
+        // The JSON folder is typically installed into dali-env/opt/share/com.samsung.dali-demo/res:
+        //
+        //string demoDirectory = ".../dali-env/opt/share/com.samsung.dali-demo/res";
+        //constants.Insert( "DEMO_IMAGE_DIR" ,  new Property.Value( demoDirectory+"/images") );
+        //constants.Insert( "DEMO_MODEL_DIR" ,  new Property.Value( demoDirectory+"/models") );
+        //constants.Insert( "DEMO_SCRIPT_DIR",  new Property.Value( demoDirectory+"/scripts") );
+        constants.Insert( "CONFIG_SCRIPT_LOG_LEVEL",  new Property.Value( "Verbose") );
+
+         _builder.AddConstants( constants );
+
+
+        Stage stage = Stage.GetCurrent();
+        stage.BackgroundColor = Color.White;
+
+        _builder.LoadFromFile( _jsonFileName );
+
+        _builder.AddActors( stage.GetRootLayer() );
+
+    }
+
+
+    public void MainLoop()
+    {
+      _application.MainLoop ();
+    }
+
+    /// <summary>
+    /// The main entry point for the application.
+    /// </summary>
+    [STAThread]
+    static void Main(string[] args)
+    {
+      string fileName= "";
+
+      if( args.Length > 0)
+      {
+          fileName = args[0];
+      }
+
+      Console.WriteLine("arguments = " + args.Length);
+      Example example = new Example(Application.NewApplication(), fileName);
+      example.MainLoop ();
+    }
+  }
+}
diff --git a/plugins/dali-sharp/examples/json/control-dashboard.json b/plugins/dali-sharp/examples/json/control-dashboard.json
new file mode 100644 (file)
index 0000000..c2609c4
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ *
+ * This file is part of Dali Toolkit
+ *
+ * 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.
+ */
+
+{
+  "styles":
+  {
+    "ProgressBar":
+    {
+    }
+  }
+}
diff --git a/plugins/dali-sharp/examples/json/date-picker-template.json b/plugins/dali-sharp/examples/json/date-picker-template.json
new file mode 100644 (file)
index 0000000..3ebf79c
--- /dev/null
@@ -0,0 +1,84 @@
+/*
+ * 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.
+ *
+ */
+{
+  // Data picker loaded directly on to the stage
+  //
+  "templates": {
+    "date-picker":
+    {
+      "type":"FlexContainer",
+      "name":"exampleDatePicker",
+      "parentOrigin": "CENTER",
+      "anchorPoint": "CENTER",
+      "flexDirection":"ROW",
+      "size":[480.0, 150, 0 ],
+      "actors": [
+      {
+
+        "type": "Spin",
+        "name": "Year",
+        "parentOrigin": "CENTER",
+        "anchorPoint": "CENTER",
+        "Value":2017,
+        "MinValue":1900,
+        "MaxValue":2100,
+        "Step":1,
+        "TextColor":[0.0,0.0,1.0,1.0],
+        "properties": { // properties registered dynamically
+            "flex":0.3,
+            "flexMargin": [5.0,0.0,5.0,0.0]
+        }
+      },
+      {
+
+        "type": "Spin",
+        "name": "Month",
+        "parentOrigin": "CENTER",
+        "anchorPoint": "CENTER",
+        "parentOrigin": "CENTER",
+        "Value":10,
+        "Step":1,
+        "MinValue":1,
+        "MaxValue":12,
+        "TextColor":[1.0,1.0,1.0,1.0],
+        "properties": { // properties registered dynamically
+            "flex":0.3,
+            "flexMargin": [5.0,0.0,5.0,0.0]
+        }
+
+      },
+      {
+
+        "type": "Spin",
+        "name": "Day",
+        "parentOrigin": "CENTER",
+        "anchorPoint": "CENTER",
+        "Value":1,
+        "MinValue":1,
+        "MaxValue":31,
+        "TextColor":[1.0,0.0,0.0,1.0],
+         "properties": { // properties registered dynamically
+            "flex":0.3,
+            "flexMargin": [5.0,0.0,5.0,0.0]
+        }
+      }]
+
+    }
+}
+
+}
+
diff --git a/plugins/dali-sharp/examples/json/date-picker.json b/plugins/dali-sharp/examples/json/date-picker.json
new file mode 100644 (file)
index 0000000..3d4b6ca
--- /dev/null
@@ -0,0 +1,82 @@
+/*
+ * 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.
+ *
+ */
+{
+  // Data picker loaded directly on to the stage
+  //
+  "stage": [{
+
+      "type":"FlexContainer",
+      "name":"exampleDatePicker",
+      "parentOrigin": "CENTER",
+      "anchorPoint": "CENTER",
+      "flexDirection":"ROW",
+      "size":[480.0, 150, 0 ],
+      "actors": [
+      {
+
+        "type": "Spin",
+        "name": "Year",
+        "parentOrigin": "CENTER",
+        "anchorPoint": "CENTER",
+        "MinValue":1900,
+        "MaxValue":2100,
+        "Value":2017,
+        "Step":1,
+        "TextColor":[0.0,0.0,1.0,1.0],
+        "properties": { // properties registered dynamically
+            "flex":0.3,
+            "flexMargin": [5.0,0.0,5.0,0.0]
+        }
+      },
+      {
+
+        "type": "Spin",
+        "name": "Month",
+        "parentOrigin": "CENTER",
+        "anchorPoint": "CENTER",
+        "parentOrigin": "CENTER",
+        "Step":1,
+        "MinValue":1,
+        "MaxValue":12,
+        "Value":10,
+        "TextColor":[1.0,1.0,1.0,1.0],
+        "properties": { // properties registered dynamically
+            "flex":0.3,
+            "flexMargin": [5.0,0.0,5.0,0.0]
+        }
+
+      },
+      {
+
+        "type": "Spin",
+        "name": "Day",
+        "parentOrigin": "CENTER",
+        "anchorPoint": "CENTER",
+        "MinValue":1,
+        "MaxValue":31,
+        "Value":1,
+        "TextColor":[1.0,0.0,0.0,1.0],
+         "properties": { // properties registered dynamically
+            "flex":0.3,
+            "flexMargin": [5.0,0.0,5.0,0.0]
+        }
+      }]
+
+}]
+
+}
+
diff --git a/plugins/dali-sharp/examples/json/spin.json b/plugins/dali-sharp/examples/json/spin.json
new file mode 100644 (file)
index 0000000..48f7651
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ * 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.
+ *
+ */
+{
+  // a tree of actors
+  "stage": [
+    // You can add an array of  Actors / Views here
+    // Lets add a spin to the stage
+    {
+      "type":"Spin",
+      "parentOrigin":"CENTER",
+      "size":[120,120,0]
+      // now lets use the C# app json-loader.exe to load it
+    }
+
+  ]
+}
diff --git a/plugins/dali-sharp/examples/scroll-view.cs b/plugins/dali-sharp/examples/scroll-view.cs
new file mode 100755 (executable)
index 0000000..a7d99b3
--- /dev/null
@@ -0,0 +1,202 @@
+/*
+ * 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.
+ *
+ */
+
+using System;
+using System.Runtime.InteropServices;
+using Dali;
+
+namespace MyCSharpExample
+{
+  class Example
+  {
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    delegate void CallbackDelegate(IntPtr data);
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    delegate void ActorCallbackDelegate(IntPtr data);
+
+    private Dali.Application _application;
+    private ScrollView _scrollView;
+    private ScrollBar _scrollBar;
+    private Animation _animation;
+    private TextLabel _text;
+
+    public Example(Dali.Application application)
+    {
+      _application = application;
+      _application.Initialized += Initialize;
+    }
+
+
+    public void Initialize(object source, NUIApplicationInitEventArgs e)
+    {
+      CreateScrollView();
+    }
+
+    private void CreateScrollView()
+    {
+      Stage stage = Stage.GetCurrent();
+      stage.BackgroundColor = Color.White;
+
+      // Create a scroll view
+      _scrollView = new ScrollView();
+      Size2D stageSize = stage.Size;
+      _scrollView.Size = new Position(stageSize.Width, stageSize.Height, 0.0f);
+      _scrollView.ParentOrigin = NDalic.ParentOriginCenter;
+      _scrollView.AnchorPoint = NDalic.AnchorPointCenter;
+      stage.Add(_scrollView);
+
+      // Add actors to a scroll view with 3 pages
+      int pageRows = 1;
+      int pageColumns = 3;
+      for(int pageRow = 0; pageRow < pageRows; pageRow++)
+      {
+        for(int pageColumn = 0; pageColumn < pageColumns; pageColumn++)
+        {
+          View pageActor = new View();
+          pageActor.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.ALL_DIMENSIONS);
+          pageActor.ParentOrigin = NDalic.ParentOriginCenter;
+          pageActor.AnchorPoint = NDalic.AnchorPointCenter;
+          pageActor.Position = new Position(pageColumn * stageSize.Width, pageRow * stageSize.Height, 0.0f);
+
+          // Add images in a 3x4 grid layout for each page
+          int imageRows = 4;
+          int imageColumns = 3;
+          float margin = 10.0f;
+          Position imageSize = new Position((stageSize.Width / imageColumns) - margin, (stageSize.Height/ imageRows) - margin, 0.0f);
+
+          for(int row = 0; row < imageRows; row++)
+          {
+            for(int column = 0; column < imageColumns;column++)
+            {
+              int imageId = (row * imageColumns + column) % 2 + 1;
+              ImageView imageView = new ImageView("images/image-" + imageId + ".jpg");
+              imageView.ParentOrigin = NDalic.ParentOriginCenter;
+              imageView.AnchorPoint = NDalic.AnchorPointCenter;
+              imageView.Size = imageSize;
+              imageView.Position = new Position( margin * 0.5f + (imageSize.X + margin) * column - stageSize.Width * 0.5f + imageSize.X * 0.5f,
+                  margin * 0.5f + (imageSize.Y + margin) * row - stageSize.Height * 0.5f + imageSize.Y * 0.5f, 0.0f );
+              pageActor.Add(imageView);
+            }
+          }
+
+          _scrollView.Add(pageActor);
+        }
+      }
+
+      _scrollView.SetAxisAutoLock(true);
+
+      // Set scroll view to have 3 pages in X axis and allow page snapping,
+      // and also disable scrolling in Y axis.
+      RulerPtr scrollRulerX = new RulerPtr(new FixedRuler(stageSize.Width));
+      RulerPtr scrollRulerY = new RulerPtr(new DefaultRuler());
+      scrollRulerX.SetDomain(new RulerDomain(0.0f, stageSize.Width * pageColumns, true));
+      scrollRulerY.Disable();
+      _scrollView.SetRulerX(scrollRulerX);
+      _scrollView.SetRulerY(scrollRulerY);
+
+      // Create a horizontal scroll bar in the bottom of scroll view (which is optional)
+      _scrollBar = new ScrollBar();
+      _scrollBar.ParentOrigin = NDalic.ParentOriginBottomLeft;
+      _scrollBar.AnchorPoint = NDalic.AnchorPointTopLeft;
+      _scrollBar.SetResizePolicy(ResizePolicyType.FIT_TO_CHILDREN, DimensionType.WIDTH);
+      _scrollBar.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.HEIGHT);
+      _scrollBar.Orientation = new Rotation( new Radian( new Degree( 270.0f ) ), Vector3.ZAXIS );
+      _scrollBar.SetScrollDirection(ScrollBar.Direction.Horizontal);
+      _scrollView.Add(_scrollBar);
+
+      // Connect to the OnRelayout signal
+      _scrollView.OnRelayoutEvent += OnScrollViewRelayout;
+      _scrollView.Touched += OnTouch;
+      _scrollView.WheelMoved += Onwheel;
+      _scrollView.KeyInputFocusGained += OnKey;
+      _text = new TextLabel("View Touch Event Handler Test");
+      _text.AnchorPoint = NDalic.AnchorPointTopLeft;
+      _text.HorizontalAlignment = "CENTER";
+      _text.PointSize = 48.0f;
+
+      _scrollView.Add(_text);
+    }
+
+    // Callback for _animation finished signal handling
+    public void AnimationFinished(object sender, EventArgs e)
+    {
+      Console.WriteLine("Customized Animation Finished Event handler");
+    }
+    private void OnKey(object source, View.KeyInputFocusGainedEventArgs e)
+    {
+      Console.WriteLine("View Keyevent EVENT callback....");
+    }
+
+    private bool Onwheel(object source, View.WheelEventArgs e)
+    {
+      Console.WriteLine("View Wheel EVENT callback....");
+      return true;
+    }
+
+    private bool OnTouch(object source, View.TouchEventArgs e)
+    {
+      Console.WriteLine("View TOUCH EVENT callback....");
+
+      // Only animate the _text label when touch down happens
+      if( e.Touch.GetState(0) == PointStateType.DOWN )
+      {
+        Console.WriteLine("Customized Stage Touch event handler");
+        // Create a new _animation
+        if( _animation )
+        {
+          _animation.Reset();
+        }
+
+        _animation = new Animation(1.0f); // 1 second of duration
+
+        _animation.AnimateTo(new Property(_text, Actor.Property.ORIENTATION), new Property.Value(new Rotation( new Radian( new Degree( 180.0f ) ), Vector3.XAXIS )), new AlphaFunction(AlphaFunction.BuiltinFunction.Linear), new TimePeriod(0.0f, 0.5f));
+        _animation.AnimateTo(new Property(_text, Actor.Property.ORIENTATION), new Property.Value(new Rotation( new Radian( new Degree( 0.0f ) ), Vector3.XAXIS )), new AlphaFunction(AlphaFunction.BuiltinFunction.Linear), new TimePeriod(0.5f, 0.5f));
+
+        // Connect the signal callback for animaiton finished signal
+        _animation.Finished += AnimationFinished;
+
+        // Play the _animation
+        _animation.Play();
+      }
+      return true;
+    }
+
+    private void OnScrollViewRelayout(object source, View.OnRelayoutEventArgs e)
+    {
+      Console.WriteLine("View OnRelayoutEventArgs EVENT callback....");
+
+      // Set the correct scroll bar size after size negotiation of scroll view is done
+      _scrollBar.Size = new Position(0.0f, _scrollView.GetRelayoutSize(DimensionType.WIDTH), 0.0f);
+    }
+
+    public void MainLoop()
+    {
+      _application.MainLoop ();
+    }
+
+    /// <summary>
+    /// The main entry point for the application.
+    /// </summary>
+    [STAThread]
+      static void Main(string[] args)
+      {
+        Example example = new Example(Application.NewApplication());
+        example.MainLoop ();
+      }
+  }
+}
diff --git a/plugins/dali-sharp/examples/user-alphafunction.cs b/plugins/dali-sharp/examples/user-alphafunction.cs
new file mode 100755 (executable)
index 0000000..40415f9
--- /dev/null
@@ -0,0 +1,195 @@
+/** 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.
+*
+*/
+
+using System;
+using System.Runtime.InteropServices;
+using Dali;
+using Dali.Constants;
+
+namespace MyCSharpExample
+{
+    class Example
+    {
+        private Dali.Application _application;
+        private Animation _animation;
+        private TextLabel _text;
+        private View _view1, _view2, _view3;
+        private UserAlphaFunctionDelegate _user_alpha_func;
+        private int myCount;
+
+        public static void Log(string str)
+        {
+            Console.WriteLine("[DALI C# SAMPLE] " + str);
+        }
+
+        public Example(Dali.Application application)
+        {
+            _application = application;
+            _application.Initialized += Initialize;
+        }
+
+        // Declare user alpha function delegate
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        delegate float UserAlphaFunctionDelegate(float progress);
+
+        public void Initialize(object source, NUIApplicationInitEventArgs e)
+        {
+            Log("Initialize() is called!");
+            Stage stage = Stage.GetCurrent();
+            stage.BackgroundColor = Color.White;
+            stage.Touch += OnStageTouched;
+            stage.Touch += OnStageTouched2;
+            stage.Wheel += OnStageWheelEvent;
+
+            // Add a _text label to the stage
+            _text = new TextLabel("Hello Mono World");
+            _text.ParentOrigin = ParentOrigin.BottomCenter;
+            _text.AnchorPoint = AnchorPoint.BottomCenter;
+            _text.HorizontalAlignment = "CENTER";
+            _text.PointSize = 32.0f;
+            stage.Add(_text);
+
+            _view1 = new View();
+            _view1.Size = new Vector3(200.0f, 200.0f, 0.0f);
+            _view1.BackgroundColor = Color.Green;
+            _view1.ParentOrigin = ParentOrigin.Center;
+            _view1.AnchorPoint = AnchorPoint.Center;
+            _view1.SetResizePolicy(ResizePolicyType.FIXED, DimensionType.ALL_DIMENSIONS);
+            _view1.OnStageEvent += OnStage;
+            stage.Add(_view1);
+
+            _view2 = new View();
+            _view2.BackgroundColor = Color.Red;
+            _view2.Size = new Vector3(50.0f, 50.0f, 0.0f);
+            _view2.ParentOrigin = ParentOrigin.TopLeft;
+            _view2.AnchorPoint = AnchorPoint.TopLeft;
+            _view2.SetResizePolicy(ResizePolicyType.FIXED, DimensionType.ALL_DIMENSIONS);
+            _view1.Add(_view2);
+
+            _view3 = new View();
+            _view3.BackgroundColor = Color.Blue;
+            _view3.Size = new Vector3(50.0f, 50.0f, 0.0f);
+            _view3.ParentOrigin = ParentOrigin.TopLeft;
+            _view3.AnchorPoint = AnchorPoint.TopLeft;
+            _view3.SetResizePolicy(ResizePolicyType.FIXED, DimensionType.ALL_DIMENSIONS);
+            _view1.Add(_view3);
+
+            _user_alpha_func = new UserAlphaFunctionDelegate(body);
+
+            MyAnimating();
+        }
+
+        // User defines alpha function as custom alpha function
+        // Important Notification : when this custom alpha-function is implemented,
+        // the other function call nor other data excess is prevented.
+        // this method must be implemented to calculate the values of input and output purely.
+        // unless, this will cause application crash.
+        float body(float progress)
+        {
+            if (progress > 0.2f && progress < 0.7f)
+            {
+                return progress + 0.8f;
+            }
+            return progress;
+        }
+
+        // Callback for _animation finished signal handling
+        public void AnimationFinished(object sender, EventArgs e)
+        {
+            Log("AnimationFinished() is called!");
+            myCount = 0;
+        }
+
+        public void MyAnimating()
+        {
+            // Create a new _animation
+            if (_animation)
+            {
+                _animation.Clear();
+                _animation.Reset();
+            }
+
+            _animation = new Animation(10000); // 10000 milli-second of duration
+            _animation.StartTime = 5000;
+            _animation.EndTime = 10000;
+            _animation.TargetProperty = "Position";
+            _animation.AlphaFunction = new AlphaFunction(_user_alpha_func);
+            _animation.Destination = new Vector3(150.0f, 150.0f, 0.0f);
+            _animation.AnimateTo(_view2);
+            // Connect the signal callback for animaiton finished signal
+            _animation.Finished += AnimationFinished;
+            _animation.EndAction = Animation.EndActions.Discard;
+            // Play the _animation
+            _animation.Play();
+        }
+
+        // Callback for stage touched signal handling
+        public void OnStageTouched(object source, Stage.TouchEventArgs e)
+        {
+            // Only animate the _text label when touch down happens
+            if (e.Touch.GetState(0) == PointStateType.DOWN)
+            {
+                Log("OnStageTouched() is called! PointStateType.DOWN came!");
+                myCount++;
+                if (myCount > 1)
+                {
+                    _animation.Stop();
+                    Log("_animation.Stop() is called!");
+                }
+            }
+        }
+
+        // Callback for stage touched signal handling
+        public void OnStageTouched2(object source, Stage.TouchEventArgs e)
+        {
+            Log("OnStageTouched2() is called!state=" + e.Touch.GetState(0));
+        }
+
+        public void OnEventProcessingFinished(object source)
+        {
+            Log("OnEventProcessingFinished() is called!");
+        }
+
+        public void OnStageWheelEvent(object source, Stage.WheelEventArgs e)
+        {
+            Log("OnStageWheelEvent() is called!");
+        }
+
+
+        public void OnStage(object source, View.OnStageEventArgs e)
+        {
+            Log("OnStage() is called!");
+        }
+
+        public void MainLoop()
+        {
+            _application.MainLoop();
+        }
+
+        [STAThread]
+        static void Main(string[] args)
+        {
+            Log("Main() is called!");
+
+            Example example = new Example(Application.NewApplication());
+            example.MainLoop();
+
+            Log("After MainLoop()");
+        }
+    }
+}
+
+
diff --git a/plugins/dali-sharp/examples/visuals-example.cs b/plugins/dali-sharp/examples/visuals-example.cs
new file mode 100755 (executable)
index 0000000..51c57d9
--- /dev/null
@@ -0,0 +1,124 @@
+/*
+ * 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.
+ *
+ */
+
+using System;
+using Dali;
+using Dali.Constants;
+
+namespace MyCSharpExample
+{
+    class Example
+    {
+        private Application _application;
+        private TextLabel _title;
+
+        public Example(Application application)
+        {
+            _application = application;
+            _application.Initialized += Initialize;
+        }
+
+        public void Initialize(object source, NUIApplicationInitEventArgs e)
+        {
+            Stage stage = Stage.Instance;
+            stage.BackgroundColor = Color.White;
+
+            TableView contentLayout = new TableView(4, 1);
+            contentLayout.Name = ("ContentLayout");
+            contentLayout.WidthResizePolicy = "FILL_TO_PARENT";
+            contentLayout.HeightResizePolicy = "FILL_TO_PARENT";
+            contentLayout.SetCellPadding(new Size2D(0, 5));
+            contentLayout.BackgroundColor = new Color(0.949f, 0.949f, 0.949f, 1.0f);
+
+            stage.GetDefaultLayer().Add(contentLayout);
+
+            _title = new TextLabel("Visuals Example");
+            _title.Name = "Title";
+            _title.StyleName = "Title";
+            _title.WidthResizePolicy = "FILL_TO_PARENT";
+            _title.HeightResizePolicy = "USE_NATURAL_SIZE";
+            _title.HorizontalAlignment = "CENTER";
+            _title.BackgroundColor = Color.Yellow;
+            contentLayout.Add(_title);
+            contentLayout.SetFitHeight(0);
+
+            // Color Visual example
+            View colorView = new View();
+            colorView.WidthResizePolicy = "SIZE_RELATIVE_TO_PARENT";
+            colorView.HeightResizePolicy = "SIZE_RELATIVE_TO_PARENT";
+            Property.Map colorVisual = new Property.Map();
+            colorVisual.Add( Visual.Property.Type, new Property.Value( (int)Visual.Type.Color ))
+                       .Add( ColorVisualProperty.MixColor, new Property.Value( Color.Green ));
+            colorView.Background = colorVisual;
+            contentLayout.Add(colorView);
+
+            // Image Visual example
+            View imageView = new View();
+            imageView.WidthResizePolicy = "USE_NATURAL_SIZE";
+            imageView.HeightResizePolicy = "USE_NATURAL_SIZE";
+            Property.Map imageVisual = new Property.Map();
+            imageVisual.Add( Visual.Property.Type, new Property.Value( (int)Visual.Type.Image ))
+                       .Add( ImageVisualProperty.URL, new Property.Value( "./images/gallery-0.jpg" ));
+            imageView.Background = imageVisual;
+            contentLayout.SetCellAlignment(new TableView.CellPosition(2, 0), HorizontalAlignmentType.CENTER, VerticalAlignmentType.CENTER);
+            contentLayout.Add(imageView);
+
+            // Primitive Visual example
+            View primitiveView = new View();
+            primitiveView.WidthResizePolicy = "SIZE_RELATIVE_TO_PARENT";
+            primitiveView.HeightResizePolicy = "SIZE_RELATIVE_TO_PARENT";
+            Property.Map primitiveVisual = new Property.Map();
+            primitiveVisual.Add( Visual.Property.Type, new Property.Value( (int)Visual.Type.Primitive ))
+                           .Add( PrimitiveVisualProperty.Shape, new Property.Value((int)PrimitiveVisualShapeType.BEVELLED_CUBE))
+                           .Add( PrimitiveVisualProperty.BevelPercentage, new Property.Value(0.3f))
+                           .Add( PrimitiveVisualProperty.BevelSmoothness, new Property.Value(0.0f))
+                           .Add( PrimitiveVisualProperty.ScaleDimensions, new Property.Value(new Vector3(1.0f,1.0f,0.3f)))
+                           .Add( PrimitiveVisualProperty.MixColor, new Property.Value(new Vector4(0.7f, 0.5f, 0.05f, 1.0f)));
+            primitiveView.Background = primitiveVisual;
+            Radian rad = new Radian(new Degree(45.0f));
+            primitiveView.Orientation = new Rotation(rad, Vector3.YAXIS);
+            contentLayout.Add(primitiveView);
+
+            // Text Visual example
+            View textView = new View();
+            textView.WidthResizePolicy = "SIZE_RELATIVE_TO_PARENT";
+            textView.HeightResizePolicy = "SIZE_RELATIVE_TO_PARENT";
+            Property.Map textVisual = new Property.Map();
+            textVisual.Add( Visual.Property.Type, new Property.Value( (int)Visual.Type.Text ))
+                      .Add( TextVisualProperty.Text, new Property.Value("I am text visual"))
+                      .Add( TextVisualProperty.TextColor, new Property.Value(Color.Blue))
+                      .Add( TextVisualProperty.PointSize, new Property.Value(20));
+            textView.Background = textVisual;
+            contentLayout.Add(textView);
+        }
+
+        public void MainLoop()
+        {
+            _application.MainLoop();
+        }
+
+        /// <summary>
+        /// The main entry point for the application.
+        /// </summary>
+        [STAThread]
+        static void Main(string[] args)
+        {
+            Example example = new Example(Application.NewApplication());
+            example.MainLoop();
+        }
+    }
+}
\ No newline at end of file
diff --git a/plugins/dali-sharp/examples/visuals-using-custom-view/ContactData.cs b/plugins/dali-sharp/examples/visuals-using-custom-view/ContactData.cs
new file mode 100644 (file)
index 0000000..4a1e058
--- /dev/null
@@ -0,0 +1,111 @@
+/*
+ * 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.
+ *
+ */
+
+using System;
+using Dali;
+using Dali.Constants;
+
+namespace VisualsUsingCustomView
+{
+    // The collection of contacts
+    static class ContactsList
+    {
+        public static readonly ContactItem[] s_contactData = new ContactItem[]
+        {
+            new ContactItem ("Emmett Yates", "./images/gallery-small-43.jpg",
+                             new Color((73.0f/255.0f),(182.0f/255.0f), (245.0f/255.0f), 1.0f),
+                             (int)PrimitiveVisualShapeType.CONE),
+            new ContactItem ("Leslie Wong", "./images/gallery-2.jpg",
+                             new Color((51.0f/255.0f), (51.0f/255.0f), (102.0f/255.0f), 1.0f),
+                             (int)PrimitiveVisualShapeType.SPHERE),
+            new ContactItem ("Walter Jensen", "./images/gallery-0.jpg",
+                             new Color((151.0f/255.0f), (214.0f/255.0f), (240.0f/255.0f), 1.0f),
+                             (int)PrimitiveVisualShapeType.CYLINDER),
+            new ContactItem ("Dan Haynes", "./images/gallery-1.jpg",
+                             new Color((102.0f/255.0f), (251.0f/255.0f), (102.0f/255.0f), 1.0f),
+                             (int)PrimitiveVisualShapeType.CONICAL_FRUSTRUM),
+            new ContactItem ("Mable Hodges", "./images/gallery-3.jpg",
+                             new Color((255.0f/255.0f), (102.0f/255.0f), (102.0f/255.0f), 1.0f),
+                             (int)PrimitiveVisualShapeType.CUBE)
+        };
+    }
+
+    // The information for an individual contact
+    class ContactItem
+    {
+        private string _name;
+        private string _imageURL;
+        private Color _color;
+        private int _shape;
+
+        public ContactItem (string name, string imageURL, Color color, int shape)
+        {
+            _name = name;
+            _imageURL = imageURL;
+            _color = color;
+            _shape = shape;
+        }
+
+        public string ImageURL
+        {
+            get
+            {
+                return _imageURL;
+            }
+            set
+            {
+                _imageURL = value;
+            }
+        }
+
+        public string Name
+        {
+            get
+            {
+                return _name;
+            }
+            set
+            {
+                _name = value;
+            }
+        }
+
+        public Color Color
+        {
+            get
+            {
+                return _color;
+            }
+            set
+            {
+                _color = value;
+            }
+        }
+
+        public int Shape
+        {
+            get
+            {
+                return _shape;
+            }
+            set
+            {
+                _shape = value;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/plugins/dali-sharp/examples/visuals-using-custom-view/ContactView.cs b/plugins/dali-sharp/examples/visuals-using-custom-view/ContactView.cs
new file mode 100644 (file)
index 0000000..ad9bc2d
--- /dev/null
@@ -0,0 +1,199 @@
+/*
+ * 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.
+ *
+ */
+
+using System;
+using Dali;
+using Dali.Constants;
+
+// A ContactView is a Custom View which consists of four visuals (Image, Primitive, Text and Color).
+// All of these visuals can be configured via properties - ImageURL (Image), Shape (Primitive), Name (Text) and Color.
+// Tap gesture is also enabled on the ContactView which changes the color visual to some random color when ContactView is tapped.
+
+namespace VisualsUsingCustomView
+{
+    public class ContactView : CustomView
+    {
+        private const int ColorVisualPropertyIndex = 0;
+        private const int PrimitiveVisualPropertyIndex = 1;
+        private const int ImageVisualPropertyIndex = 2;
+        private const int TextVisualPropertyIndex = 3;
+        private VisualBase _imageVisual;
+        private VisualBase _colorVisual;
+        private VisualBase _primitiveVisual;
+        private VisualBase _textVisual;
+        private int _shape;
+        private string _imageURL;
+        private string _name;
+        private Color _color;
+
+        public ContactView() : base(typeof(ContactView).Name, ViewWrapperImpl.CustomViewBehaviour.REQUIRES_KEYBOARD_NAVIGATION_SUPPORT)
+        {
+        }
+
+        public string ImageURL
+        {
+            get
+            {
+                return _imageURL;
+            }
+            set
+            {
+                _imageURL = value;
+
+                // Create and Register Image Visual
+                Dali.Property.Map imageVisual = new Dali.Property.Map();
+                imageVisual.Add( Visual.Property.Type, new Dali.Property.Value( (int)Visual.Type.Image ))
+                    .Add( ImageVisualProperty.URL, new Dali.Property.Value( _imageURL ));
+                _imageVisual =  VisualFactory.Get().CreateVisual( imageVisual );
+                RegisterVisual( ImageVisualPropertyIndex, _imageVisual );
+
+                // Set the depth index for Image visual
+                _imageVisual.SetDepthIndex(ImageVisualPropertyIndex);
+            }
+        }
+
+        public string Name
+        {
+            get
+            {
+                return _name;
+            }
+            set
+            {
+                _name = value;
+
+                // Create and Register Text Visual
+                Dali.Property.Map textVisual = new Dali.Property.Map();
+                textVisual.Add(Visual.Property.Type, new Dali.Property.Value((int)Visual.Type.Text))
+                    .Add(TextVisualProperty.Text, new Dali.Property.Value(_name))
+                    .Add(TextVisualProperty.TextColor, new Dali.Property.Value(Dali.Color.White))
+                    .Add(TextVisualProperty.PointSize, new Dali.Property.Value(15))
+                    .Add( TextVisualProperty.HorizontalAlignment, new Dali.Property.Value("CENTER"))
+                    .Add( TextVisualProperty.VerticalAlignment, new Dali.Property.Value("CENTER"));
+                _textVisual =  VisualFactory.Get().CreateVisual( textVisual );
+                RegisterVisual( TextVisualPropertyIndex, _textVisual );
+
+                // Set the depth index for Text visual
+                _textVisual.SetDepthIndex(TextVisualPropertyIndex);
+            }
+        }
+
+        public Color Color
+        {
+            get
+            {
+                return _color;
+            }
+            set
+            {
+                _color = value;
+
+                // Create and Register Color Visual
+                Dali.Property.Map colorVisual = new Dali.Property.Map();
+                colorVisual.Add( Visual.Property.Type, new Dali.Property.Value( (int)Visual.Type.Color ))
+                    .Add( ColorVisualProperty.MixColor, new Dali.Property.Value( _color ));
+                _colorVisual =  VisualFactory.Get().CreateVisual( colorVisual );
+                RegisterVisual( ColorVisualPropertyIndex, _colorVisual );
+
+                // Set the depth index for Color visual
+                _colorVisual.SetDepthIndex(ColorVisualPropertyIndex);
+            }
+        }
+
+        public int Shape
+        {
+            get
+            {
+                return _shape;
+            }
+            set
+            {
+                _shape = value;
+
+                // Create and Register Primitive Visual
+                Dali.Property.Map primitiveVisual = new Dali.Property.Map();
+                primitiveVisual.Add( Visual.Property.Type, new Dali.Property.Value( (int)Visual.Type.Primitive ))
+                    .Add( PrimitiveVisualProperty.Shape, new Dali.Property.Value(_shape))
+                    .Add( PrimitiveVisualProperty.BevelPercentage, new Dali.Property.Value(0.3f))
+                    .Add( PrimitiveVisualProperty.BevelSmoothness, new Dali.Property.Value(0.0f))
+                    .Add( PrimitiveVisualProperty.ScaleDimensions, new Dali.Property.Value(new Vector3(1.0f,1.0f,0.3f)))
+                    .Add( PrimitiveVisualProperty.MixColor, new Dali.Property.Value(new Vector4((245.0f/255.0f), (188.0f/255.0f), (73.0f/255.0f), 1.0f)));
+                _primitiveVisual =  VisualFactory.Get().CreateVisual( primitiveVisual );
+                RegisterVisual( PrimitiveVisualPropertyIndex, _primitiveVisual );
+
+                // Set the depth index for Primitive visual
+                _primitiveVisual.SetDepthIndex(PrimitiveVisualPropertyIndex);
+            }
+        }
+
+        public override void OnInitialize()
+        {
+            // Enable Tap gesture on ContactView
+            EnableGestureDetection(Gesture.GestureType.Tap);
+        }
+
+        public override void OnTap(TapGesture tap)
+        {
+            // Change the Color visual of ContactView with some random color
+            Random random = new Random();
+            Color = new Color((random.Next(0, 256) / 255.0f), (random.Next(0, 256) / 255.0f), (random.Next(0, 256) / 255.0f), 1.0f);
+        }
+
+        public override void OnRelayout(Vector2 size, RelayoutContainer container)
+        {
+            // Configure the transform and size of Image visual.
+            Dali.Property.Map imageVisualTransform = new Dali.Property.Map();
+            imageVisualTransform.Add((int)VisualTransformPropertyType.OFFSET, new Dali.Property.Value(new Vector2(10.0f, 0.0f)))
+                .Add((int)VisualTransformPropertyType.OFFSET_POLICY, new Dali.Property.Value(new Vector2((int)VisualTransformPolicyType.ABSOLUTE, (int)VisualTransformPolicyType.ABSOLUTE)))
+                .Add((int)VisualTransformPropertyType.SIZE_POLICY, new Dali.Property.Value(new Vector2((int)VisualTransformPolicyType.ABSOLUTE, (int)VisualTransformPolicyType.ABSOLUTE)))
+                .Add((int)VisualTransformPropertyType.SIZE, new Dali.Property.Value(new Vector2(40.0f, 40.0f)))
+                .Add((int)VisualTransformPropertyType.ORIGIN, new Dali.Property.Value((int)AlignType.CENTER_BEGIN))
+                .Add((int)VisualTransformPropertyType.ANCHOR_POINT, new Dali.Property.Value((int)AlignType.CENTER_BEGIN));
+            _imageVisual.SetTransformAndSize(imageVisualTransform, size);
+
+            // Configure the transform and size of Text visual.
+            Dali.Property.Map textVisualTransform = new Dali.Property.Map();
+            textVisualTransform.Add((int)VisualTransformPropertyType.OFFSET, new Dali.Property.Value(new Vector2(0.0f, 0.0f)))
+                .Add((int)VisualTransformPropertyType.OFFSET_POLICY, new Dali.Property.Value(new Vector2((int)VisualTransformPolicyType.RELATIVE, (int)VisualTransformPolicyType.RELATIVE)))
+                .Add((int)VisualTransformPropertyType.SIZE_POLICY, new Dali.Property.Value(new Vector2((int)VisualTransformPolicyType.ABSOLUTE, (int)VisualTransformPolicyType.ABSOLUTE)))
+                .Add((int)VisualTransformPropertyType.SIZE, new Dali.Property.Value(new Vector2(size.X - 100.0f, 50.0f)))
+                .Add((int)VisualTransformPropertyType.ORIGIN, new Dali.Property.Value((int)Align.Type.Center))
+                .Add((int)VisualTransformPropertyType.ANCHOR_POINT, new Dali.Property.Value((int)Align.Type.Center));
+            _textVisual.SetTransformAndSize(textVisualTransform, size);
+
+            // Configure the transform and size of Primitive visual.
+            Dali.Property.Map primitiveVisualTransform = new Dali.Property.Map();
+            primitiveVisualTransform.Add((int)VisualTransformPropertyType.OFFSET, new Dali.Property.Value(new Vector2(size.X - 60.0f, 0.0f)))
+                .Add((int)VisualTransformPropertyType.OFFSET_POLICY, new Dali.Property.Value(new Vector2((int)VisualTransformPolicyType.ABSOLUTE, (int)VisualTransformPolicyType.ABSOLUTE)))
+                .Add((int)VisualTransformPropertyType.SIZE_POLICY, new Dali.Property.Value(new Vector2((int)VisualTransformPolicyType.ABSOLUTE, (int)VisualTransformPolicyType.ABSOLUTE)))
+                .Add((int)VisualTransformPropertyType.SIZE, new Dali.Property.Value(new Vector2(40.0f, 40.0f)))
+                .Add((int)VisualTransformPropertyType.ORIGIN, new Dali.Property.Value((int)AlignType.CENTER_BEGIN))
+                .Add((int)VisualTransformPropertyType.ANCHOR_POINT, new Dali.Property.Value((int)AlignType.CENTER_BEGIN));
+            _primitiveVisual.SetTransformAndSize(primitiveVisualTransform, size);
+
+            // Configure the transform and size of Color visual. This is also the default value.
+            Dali.Property.Map colorVisualTransform = new Dali.Property.Map();
+            colorVisualTransform.Add( (int)VisualTransformPropertyType.OFFSET, new Dali.Property.Value(new Vector2(0.0f,0.0f)))
+                .Add((int)VisualTransformPropertyType.OFFSET_POLICY, new Dali.Property.Value(new Vector2((int)VisualTransformPolicyType.RELATIVE, (int)VisualTransformPolicyType.RELATIVE)))
+                .Add((int)VisualTransformPropertyType.SIZE_POLICY, new Dali.Property.Value(new Vector2((int)VisualTransformPolicyType.RELATIVE, (int)VisualTransformPolicyType.RELATIVE)))
+                .Add( (int)VisualTransformPropertyType.SIZE, new Dali.Property.Value(new Vector2(1.0f, 1.0f)) )
+                .Add( (int)VisualTransformPropertyType.ORIGIN, new Dali.Property.Value((int)AlignType.TOP_BEGIN) )
+                .Add( (int)VisualTransformPropertyType.ANCHOR_POINT, new Dali.Property.Value((int)AlignType.TOP_BEGIN) );
+            _colorVisual.SetTransformAndSize(colorVisualTransform, size);
+        }
+    }
+}
\ No newline at end of file
diff --git a/plugins/dali-sharp/examples/visuals-using-custom-view/visuals-using-custom-view.cs b/plugins/dali-sharp/examples/visuals-using-custom-view/visuals-using-custom-view.cs
new file mode 100755 (executable)
index 0000000..8762974
--- /dev/null
@@ -0,0 +1,82 @@
+/*
+ * 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.
+ *
+ */
+
+using System;
+using Dali;
+using Dali.Constants;
+
+namespace VisualsUsingCustomView
+{
+    class VisualsExample
+    {
+        public VisualsExample(Application application)
+        {
+            application.Initialized += Initialize;
+        }
+
+        private void Initialize(object source, NUIApplicationInitEventArgs e)
+        {
+            Stage stage = Stage.Instance;
+            stage.BackgroundColor = Color.White;
+
+            TableView contentLayout = new TableView(14, 1);
+            contentLayout.Name = "ContentLayout";
+            contentLayout.WidthResizePolicy = "FILL_TO_PARENT";
+            contentLayout.HeightResizePolicy = "FILL_TO_PARENT";
+            contentLayout.SetCellPadding(new Size2D(5, 5));
+            contentLayout.BackgroundColor = new Color(0.949f, 0.949f, 0.949f, 1.0f);
+
+            stage.GetDefaultLayer().Add(contentLayout);
+
+            TextLabel title = new TextLabel("Contacts List with Visuals");
+            title.Name = "Title";
+            title.StyleName = "Title";
+            title.WidthResizePolicy = "FILL_TO_PARENT";
+            title.HeightResizePolicy = "USE_NATURAL_SIZE";
+            title.HorizontalAlignment = "CENTER";
+            contentLayout.Add(title);
+            contentLayout.SetFitHeight(0);
+
+            // Create ContactView(s) from ContactItem(s) in ContactsList and add them to TableView
+            ContactView contactView;
+            foreach (ContactItem contact in ContactsList.s_contactData)
+            {
+                contactView = new ContactView();
+                contactView.WidthResizePolicy = "FILL_TO_PARENT";
+                contactView.HeightResizePolicy = "FILL_TO_PARENT";
+
+                // Configure visuals of ContactView via properties
+                contactView.Name = contact.Name;
+                contactView.ImageURL = contact.ImageURL;
+                contactView.Color = contact.Color;
+                contactView.Shape = contact.Shape;
+                contentLayout.Add(contactView);
+            }
+        }
+
+        /// <summary>
+        /// The main entry point for the application.
+        /// </summary>
+        [STAThread]
+        static void Main(string[] args)
+        {
+            Application application = Application.NewApplication();
+            VisualsExample visualsExample = new VisualsExample(application);
+            application.MainLoop();
+        }
+    }
+}
\ No newline at end of file
diff --git a/plugins/dali-sharp/sharp/internal/AccessibilityActionSignal.cs b/plugins/dali-sharp/sharp/internal/AccessibilityActionSignal.cs
new file mode 100644 (file)
index 0000000..273ee85
--- /dev/null
@@ -0,0 +1,89 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class AccessibilityActionSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal AccessibilityActionSignal(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(AccessibilityActionSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~AccessibilityActionSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_AccessibilityActionSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.AccessibilityActionSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.AccessibilityActionSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.AccessibilityActionSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.AccessibilityActionSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public bool Emit(AccessibilityManager arg) {
+    bool ret = NDalicPINVOKE.AccessibilityActionSignal_Emit(swigCPtr, AccessibilityManager.getCPtr(arg));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal() : this(NDalicPINVOKE.new_AccessibilityActionSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/AccessibilityFocusOvershotSignal.cs b/plugins/dali-sharp/sharp/internal/AccessibilityFocusOvershotSignal.cs
new file mode 100644 (file)
index 0000000..7112231
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class AccessibilityFocusOvershotSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal AccessibilityFocusOvershotSignal(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(AccessibilityFocusOvershotSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~AccessibilityFocusOvershotSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_AccessibilityFocusOvershotSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.AccessibilityFocusOvershotSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.AccessibilityFocusOvershotSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.AccessibilityFocusOvershotSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.AccessibilityFocusOvershotSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(Actor arg1, AccessibilityManager.FocusOvershotDirection arg2) {
+    NDalicPINVOKE.AccessibilityFocusOvershotSignal_Emit(swigCPtr, Actor.getCPtr(arg1), (int)arg2);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public AccessibilityFocusOvershotSignal() : this(NDalicPINVOKE.new_AccessibilityFocusOvershotSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/AccessibilityManager.cs b/plugins/dali-sharp/sharp/internal/AccessibilityManager.cs
new file mode 100644 (file)
index 0000000..d11d123
--- /dev/null
@@ -0,0 +1,2647 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+    using System;
+    using System.Runtime.InteropServices;
+
+public class AccessibilityManager : BaseHandle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal AccessibilityManager(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.AccessibilityManager_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(AccessibilityManager obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~AccessibilityManager() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_AccessibilityManager(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+
+    /**
+      * @brief Event arguments that passed via StatusChanged signal
+      *
+      */
+    public class StatusChangedEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionNext signal
+      *
+      */
+    public class ActionNextEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionPrevious signal
+      *
+      */
+    public class ActionPreviousEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionActivate signal
+      *
+      */
+    public class ActionActivateEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionRead signal
+      *
+      */
+    public class ActionReadEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionOver signal
+      *
+      */
+    public class ActionOverEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionReadNext signal
+      *
+      */
+    public class ActionReadNextEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionReadPrevious signal
+      *
+      */
+    public class ActionReadPreviousEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionUp signal
+      *
+      */
+    public class ActionUpEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionDown signal
+      *
+      */
+    public class ActionDownEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionClearFocus signal
+      *
+      */
+    public class ActionClearFocusEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionBack signal
+      *
+      */
+    public class ActionBackEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionScrollUp signal
+      *
+      */
+    public class ActionScrollUpEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionScrollDown signal
+      *
+      */
+    public class ActionScrollDownEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionPageLeft signal
+      *
+      */
+    public class ActionPageLeftEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionPageRight signal
+      *
+      */
+    public class ActionPageRightEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionPageUp signal
+      *
+      */
+    public class ActionPageUpEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionPageDown signal
+      *
+      */
+    public class ActionPageDownEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionMoveToFirst signal
+      *
+      */
+    public class ActionMoveToFirstEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionMoveToLast signal
+      *
+      */
+    public class ActionMoveToLastEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionReadFromTop signal
+      *
+      */
+    public class ActionReadFromTopEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionReadFromNext signal
+      *
+      */
+    public class ActionReadFromNextEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionZoom signal
+      *
+      */
+    public class ActionZoomEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionReadIndicatorInformation signal
+      *
+      */
+    public class ActionReadIndicatorInformationEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionReadPauseResume signal
+      *
+      */
+    public class ActionReadPauseResumeEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionStartStop signal
+      *
+      */
+    public class ActionStartStopEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via ActionScroll signal
+      *
+      */
+/*
+    // To be replaced by a new event that takes Touch
+    public class ActionScrollEventArgs : EventArgs
+    {
+      private AccessibilityManager _accessibilityManager;
+      private TouchEvent _touchEvent;
+
+      public AccessibilityManager AccessibilityManager
+      {
+        get
+        {
+          return _accessibilityManager;
+        }
+        set
+        {
+          _accessibilityManager = value;
+        }
+      }
+
+      public TouchEvent TouchEvent
+      {
+        get
+        {
+          return _touchEvent;
+        }
+        set
+        {
+          _touchEvent = value;
+        }
+      }
+    }
+*/
+
+    /**
+      * @brief Event arguments that passed via ActionPageUp signal
+      *
+      */
+    public class FocusChangedEventArgs : EventArgs
+    {
+      private Actor _actorCurrent;
+      private Actor _actorNext;
+
+      public Actor ActorCurrent
+      {
+        get
+        {
+          return _actorCurrent;
+        }
+        set
+        {
+          _actorCurrent = value;
+        }
+      }
+
+      public Actor ActorNext
+      {
+        get
+        {
+          return _actorNext;
+        }
+        set
+        {
+          _actorNext = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via FocusedActorActivated signal
+      *
+      */
+    public class FocusedActorActivatedEventArgs : EventArgs
+    {
+      private Actor _actor;
+
+
+      public Actor Actor
+      {
+        get
+        {
+          return _actor;
+        }
+        set
+        {
+          _actor = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via FocusOvershot signal
+      *
+      */
+    public class FocusOvershotEventArgs : EventArgs
+    {
+      private Actor _currentFocusedActor;
+      private AccessibilityManager.FocusOvershotDirection _focusOvershotDirection;
+
+      public Actor CurrentFocusedActor
+      {
+        get
+        {
+          return _currentFocusedActor;
+        }
+        set
+        {
+          _currentFocusedActor = value;
+        }
+      }
+
+      public AccessibilityManager.FocusOvershotDirection FocusOvershotDirection
+      {
+        get
+        {
+          return _focusOvershotDirection;
+        }
+        set
+        {
+          _focusOvershotDirection = value;
+        }
+      }
+    }
+
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool StatusChangedEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,StatusChangedEventArgs,bool> _accessibilityManagerStatusChangedEventHandler;
+    private StatusChangedEventCallbackDelegate _accessibilityManagerStatusChangedEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionNextEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionNextEventArgs,bool> _accessibilityManagerActionNextEventHandler;
+    private ActionNextEventCallbackDelegate _accessibilityManagerActionNextEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionPreviousEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionPreviousEventArgs,bool> _accessibilityManagerActionPreviousEventHandler;
+    private ActionPreviousEventCallbackDelegate _accessibilityManagerActionPreviousEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionActivateEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionActivateEventArgs,bool> _accessibilityManagerActionActivateEventHandler;
+    private ActionActivateEventCallbackDelegate _accessibilityManagerActionActivateEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionReadEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionReadEventArgs,bool> _accessibilityManagerActionReadEventHandler;
+    private ActionReadEventCallbackDelegate _accessibilityManagerActionReadEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionOverEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionOverEventArgs,bool> _accessibilityManagerActionOverEventHandler;
+    private ActionOverEventCallbackDelegate _accessibilityManagerActionOverEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionReadNextEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionReadNextEventArgs,bool> _accessibilityManagerActionReadNextEventHandler;
+    private ActionReadNextEventCallbackDelegate _accessibilityManagerActionReadNextEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionReadPreviousEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionReadPreviousEventArgs,bool> _accessibilityManagerActionReadPreviousEventHandler;
+    private ActionReadPreviousEventCallbackDelegate _accessibilityManagerActionReadPreviousEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionUpEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionUpEventArgs,bool> _accessibilityManagerActionUpEventHandler;
+    private ActionUpEventCallbackDelegate _accessibilityManagerActionUpEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionDownEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionDownEventArgs,bool> _accessibilityManagerActionDownEventHandler;
+    private ActionDownEventCallbackDelegate _accessibilityManagerActionDownEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionClearFocusEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionClearFocusEventArgs,bool> _accessibilityManagerActionClearFocusEventHandler;
+    private ActionClearFocusEventCallbackDelegate _accessibilityManagerActionClearFocusEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionBackEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionBackEventArgs,bool> _accessibilityManagerActionBackEventHandler;
+    private ActionBackEventCallbackDelegate _accessibilityManagerActionBackEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionScrollUpEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionScrollUpEventArgs,bool> _accessibilityManagerActionScrollUpEventHandler;
+    private ActionScrollUpEventCallbackDelegate _accessibilityManagerActionScrollUpEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionScrollDownEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionScrollDownEventArgs,bool> _accessibilityManagerActionScrollDownEventHandler;
+    private ActionScrollDownEventCallbackDelegate _accessibilityManagerActionScrollDownEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionPageLeftEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionPageLeftEventArgs,bool> _accessibilityManagerActionPageLeftEventHandler;
+    private ActionPageLeftEventCallbackDelegate _accessibilityManagerActionPageLeftEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionPageRightEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionPageRightEventArgs,bool> _accessibilityManagerActionPageRightEventHandler;
+    private ActionPageRightEventCallbackDelegate _accessibilityManagerActionPageRightEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionPageUpEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionPageUpEventArgs,bool> _accessibilityManagerActionPageUpEventHandler;
+    private ActionPageUpEventCallbackDelegate _accessibilityManagerActionPageUpEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionPageDownEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionPageDownEventArgs,bool> _accessibilityManagerActionPageDownEventHandler;
+    private ActionPageDownEventCallbackDelegate _accessibilityManagerActionPageDownEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionMoveToFirstEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionMoveToFirstEventArgs,bool> _accessibilityManagerActionMoveToFirstEventHandler;
+    private ActionMoveToFirstEventCallbackDelegate _accessibilityManagerActionMoveToFirstEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionMoveToLastEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionMoveToLastEventArgs,bool> _accessibilityManagerActionMoveToLastEventHandler;
+    private ActionMoveToLastEventCallbackDelegate _accessibilityManagerActionMoveToLastEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionReadFromTopEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionReadFromTopEventArgs,bool> _accessibilityManagerActionReadFromTopEventHandler;
+    private ActionReadFromTopEventCallbackDelegate _accessibilityManagerActionReadFromTopEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionReadFromNextEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionReadFromNextEventArgs,bool> _accessibilityManagerActionReadFromNextEventHandler;
+    private ActionReadFromNextEventCallbackDelegate _accessibilityManagerActionReadFromNextEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionZoomEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionZoomEventArgs,bool> _accessibilityManagerActionZoomEventHandler;
+    private ActionZoomEventCallbackDelegate _accessibilityManagerActionZoomEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionReadIndicatorInformationEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionReadIndicatorInformationEventArgs,bool> _accessibilityManagerActionReadIndicatorInformationEventHandler;
+    private ActionReadIndicatorInformationEventCallbackDelegate _accessibilityManagerActionReadIndicatorInformationEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionReadPauseResumeEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionReadPauseResumeEventArgs,bool> _accessibilityManagerActionReadPauseResumeEventHandler;
+    private ActionReadPauseResumeEventCallbackDelegate _accessibilityManagerActionReadPauseResumeEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionStartStopEventCallbackDelegate(IntPtr accessibilityManager);
+    private DaliEventHandlerWithReturnType<object,ActionStartStopEventArgs,bool> _accessibilityManagerActionStartStopEventHandler;
+    private ActionStartStopEventCallbackDelegate _accessibilityManagerActionStartStopEventCallbackDelegate;
+
+/*
+    // To be replaced by a new event that takes Touch
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate bool ActionScrollEventCallbackDelegate(IntPtr accessibilityManager, IntPtr touchEvent);
+    private DaliEventHandlerWithReturnType<object,ActionScrollEventArgs,bool> _accessibilityManagerActionScrollEventHandler;
+    private ActionScrollEventCallbackDelegate _accessibilityManagerActionScrollEventCallbackDelegate;
+*/
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate void FocusChangedEventCallbackDelegate(IntPtr actor1, IntPtr actor2);
+    private DaliEventHandler<object,FocusChangedEventArgs> _accessibilityManagerFocusChangedEventHandler;
+    private FocusChangedEventCallbackDelegate _accessibilityManagerFocusChangedEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate void FocusedActorActivatedEventCallbackDelegate(IntPtr actor);
+    private DaliEventHandler<object,FocusedActorActivatedEventArgs> _accessibilityManagerFocusedActorActivatedEventHandler;
+    private FocusedActorActivatedEventCallbackDelegate _accessibilityManagerFocusedActorActivatedEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate void FocusOvershotEventCallbackDelegate(IntPtr currentFocusedActor, AccessibilityManager.FocusOvershotDirection direction);
+    private DaliEventHandler<object,FocusOvershotEventArgs> _accessibilityManagerFocusOvershotEventHandler;
+    private FocusOvershotEventCallbackDelegate _accessibilityManagerFocusOvershotEventCallbackDelegate;
+
+    public event DaliEventHandlerWithReturnType<object,StatusChangedEventArgs,bool> StatusChanged
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerStatusChangedEventHandler == null)
+          {
+            _accessibilityManagerStatusChangedEventHandler += value;
+
+            _accessibilityManagerStatusChangedEventCallbackDelegate = new StatusChangedEventCallbackDelegate(OnStatusChanged);
+            this.StatusChangedSignal().Connect(_accessibilityManagerStatusChangedEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerStatusChangedEventHandler != null)
+          {
+            this.StatusChangedSignal().Disconnect(_accessibilityManagerStatusChangedEventCallbackDelegate);
+          }
+
+          _accessibilityManagerStatusChangedEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager StatusChangedSignal
+    private bool OnStatusChanged(IntPtr data)
+    {
+      StatusChangedEventArgs e = new StatusChangedEventArgs();
+
+      // Populate all members of "e" (StatusChangedEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerStatusChangedEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerStatusChangedEventHandler(this, e);
+      }
+      return false;
+    }
+
+    public event DaliEventHandlerWithReturnType<object,ActionNextEventArgs,bool> ActionNext
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionNextEventHandler == null)
+          {
+            _accessibilityManagerActionNextEventHandler += value;
+
+            _accessibilityManagerActionNextEventCallbackDelegate = new ActionNextEventCallbackDelegate(OnActionNext);
+            this.ActionNextSignal().Connect(_accessibilityManagerActionNextEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionNextEventHandler != null)
+          {
+            this.ActionNextSignal().Disconnect(_accessibilityManagerActionNextEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionNextEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionNextSignal
+    private bool OnActionNext(IntPtr data)
+    {
+      ActionNextEventArgs e = new ActionNextEventArgs();
+
+      // Populate all members of "e" (ActionNextEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionNextEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionNextEventHandler(this, e);
+      }
+      return false;
+    }
+
+    public event DaliEventHandlerWithReturnType<object,ActionPreviousEventArgs,bool> ActionPrevious
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionPreviousEventHandler == null)
+          {
+            _accessibilityManagerActionPreviousEventHandler += value;
+
+            _accessibilityManagerActionPreviousEventCallbackDelegate = new ActionPreviousEventCallbackDelegate(OnActionPrevious);
+            this.ActionPreviousSignal().Connect(_accessibilityManagerActionPreviousEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionPreviousEventHandler != null)
+          {
+            this.ActionPreviousSignal().Disconnect(_accessibilityManagerActionPreviousEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionPreviousEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionPreviousSignal
+    private bool OnActionPrevious(IntPtr data)
+    {
+      ActionPreviousEventArgs e = new ActionPreviousEventArgs();
+
+      // Populate all members of "e" (ActionPreviousEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionPreviousEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionPreviousEventHandler(this, e);
+      }
+      return false;
+    }
+
+    public event DaliEventHandlerWithReturnType<object,ActionActivateEventArgs,bool> ActionActivate
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionActivateEventHandler == null)
+          {
+            _accessibilityManagerActionActivateEventHandler += value;
+
+            _accessibilityManagerActionActivateEventCallbackDelegate = new ActionActivateEventCallbackDelegate(OnActionActivate);
+            this.ActionActivateSignal().Connect(_accessibilityManagerActionActivateEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionActivateEventHandler != null)
+          {
+            this.ActionActivateSignal().Disconnect(_accessibilityManagerActionActivateEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionActivateEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionActivateSignal
+    private bool OnActionActivate(IntPtr data)
+    {
+      ActionActivateEventArgs e = new ActionActivateEventArgs();
+
+      // Populate all members of "e" (ActionActivateEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionActivateEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionActivateEventHandler(this, e);
+      }
+      return false;
+    }
+
+    public event DaliEventHandlerWithReturnType<object,ActionReadEventArgs,bool> ActionRead
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionReadEventHandler == null)
+          {
+            _accessibilityManagerActionReadEventHandler += value;
+
+            _accessibilityManagerActionReadEventCallbackDelegate = new ActionReadEventCallbackDelegate(OnActionRead);
+            this.ActionReadSignal().Connect(_accessibilityManagerActionReadEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionReadEventHandler != null)
+          {
+            this.ActionReadSignal().Disconnect(_accessibilityManagerActionReadEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionReadEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionReadSignal
+    private bool OnActionRead(IntPtr data)
+    {
+      ActionReadEventArgs e = new ActionReadEventArgs();
+
+      // Populate all members of "e" (ActionReadEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionReadEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionReadEventHandler(this, e);
+      }
+      return false;
+    }
+
+    public event DaliEventHandlerWithReturnType<object,ActionOverEventArgs,bool> ActionOver
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionOverEventHandler == null)
+          {
+            _accessibilityManagerActionOverEventHandler += value;
+
+            _accessibilityManagerActionOverEventCallbackDelegate = new ActionOverEventCallbackDelegate(OnActionOver);
+            this.ActionOverSignal().Connect(_accessibilityManagerActionOverEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionOverEventHandler != null)
+          {
+            this.ActionOverSignal().Disconnect(_accessibilityManagerActionOverEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionOverEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionOverSignal
+    private bool OnActionOver(IntPtr data)
+    {
+      ActionOverEventArgs e = new ActionOverEventArgs();
+
+      // Populate all members of "e" (ActionOverEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionOverEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionOverEventHandler(this, e);
+      }
+      return false;
+    }
+
+    public event DaliEventHandlerWithReturnType<object,ActionReadNextEventArgs,bool> ActionReadNext
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionReadNextEventHandler == null)
+          {
+            _accessibilityManagerActionReadNextEventHandler += value;
+
+            _accessibilityManagerActionReadNextEventCallbackDelegate = new ActionReadNextEventCallbackDelegate(OnActionReadNext);
+            this.ActionReadNextSignal().Connect(_accessibilityManagerActionReadNextEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionReadNextEventHandler != null)
+          {
+            this.ActionReadNextSignal().Disconnect(_accessibilityManagerActionReadNextEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionReadNextEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionReadNextSignal
+    private bool OnActionReadNext(IntPtr data)
+    {
+      ActionReadNextEventArgs e = new ActionReadNextEventArgs();
+
+      // Populate all members of "e" (ActionReadNextEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionReadNextEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionReadNextEventHandler(this, e);
+      }
+      return false;
+    }
+
+
+    public event DaliEventHandlerWithReturnType<object,ActionReadPreviousEventArgs,bool> ActionReadPrevious
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionReadPreviousEventHandler == null)
+          {
+            _accessibilityManagerActionReadPreviousEventHandler += value;
+
+            _accessibilityManagerActionReadPreviousEventCallbackDelegate = new ActionReadPreviousEventCallbackDelegate(OnActionReadPrevious);
+            this.ActionReadPreviousSignal().Connect(_accessibilityManagerActionReadPreviousEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionReadPreviousEventHandler != null)
+          {
+            this.ActionReadPreviousSignal().Disconnect(_accessibilityManagerActionReadPreviousEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionReadPreviousEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionReadPreviousSignal
+    private bool OnActionReadPrevious(IntPtr data)
+    {
+      ActionReadPreviousEventArgs e = new ActionReadPreviousEventArgs();
+
+      // Populate all members of "e" (ActionReadPreviousEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionReadPreviousEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionReadPreviousEventHandler(this, e);
+      }
+      return false;
+    }
+
+    public event DaliEventHandlerWithReturnType<object,ActionUpEventArgs,bool> ActionUp
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionUpEventHandler == null)
+          {
+            _accessibilityManagerActionUpEventHandler += value;
+
+            _accessibilityManagerActionUpEventCallbackDelegate = new ActionUpEventCallbackDelegate(OnActionUp);
+            this.ActionUpSignal().Connect(_accessibilityManagerActionUpEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionUpEventHandler != null)
+          {
+            this.ActionUpSignal().Disconnect(_accessibilityManagerActionUpEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionUpEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionUpSignal
+    private bool OnActionUp(IntPtr data)
+    {
+      ActionUpEventArgs e = new ActionUpEventArgs();
+
+      // Populate all members of "e" (ActionUpEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionUpEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionUpEventHandler(this, e);
+      }
+      return false;
+    }
+
+    public event DaliEventHandlerWithReturnType<object,ActionDownEventArgs,bool> ActionDown
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionDownEventHandler == null)
+          {
+            _accessibilityManagerActionDownEventHandler += value;
+
+            _accessibilityManagerActionDownEventCallbackDelegate = new ActionDownEventCallbackDelegate(OnActionDown);
+            this.ActionDownSignal().Connect(_accessibilityManagerActionDownEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionDownEventHandler != null)
+          {
+            this.ActionDownSignal().Disconnect(_accessibilityManagerActionDownEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionDownEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionDownSignal
+    private bool OnActionDown(IntPtr data)
+    {
+      ActionDownEventArgs e = new ActionDownEventArgs();
+
+      // Populate all members of "e" (ActionDownEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionDownEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionDownEventHandler(this, e);
+      }
+      return false;
+    }
+
+    public event DaliEventHandlerWithReturnType<object,ActionClearFocusEventArgs,bool> ActionClearFocus
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionClearFocusEventHandler == null)
+          {
+            _accessibilityManagerActionClearFocusEventHandler += value;
+
+            _accessibilityManagerActionClearFocusEventCallbackDelegate = new ActionClearFocusEventCallbackDelegate(OnActionClearFocus);
+            this.ActionClearFocusSignal().Connect(_accessibilityManagerActionClearFocusEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionClearFocusEventHandler != null)
+          {
+            this.ActionClearFocusSignal().Disconnect(_accessibilityManagerActionClearFocusEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionClearFocusEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionClearFocusSignal
+    private bool OnActionClearFocus(IntPtr data)
+    {
+      ActionClearFocusEventArgs e = new ActionClearFocusEventArgs();
+
+      // Populate all members of "e" (ActionClearFocusEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionClearFocusEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionClearFocusEventHandler(this, e);
+      }
+      return false;
+    }
+
+    public event DaliEventHandlerWithReturnType<object,ActionBackEventArgs,bool> ActionBack
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionBackEventHandler == null)
+          {
+            _accessibilityManagerActionBackEventHandler += value;
+
+            _accessibilityManagerActionBackEventCallbackDelegate = new ActionBackEventCallbackDelegate(OnActionBack);
+            this.ActionBackSignal().Connect(_accessibilityManagerActionBackEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionBackEventHandler != null)
+          {
+            this.ActionBackSignal().Disconnect(_accessibilityManagerActionBackEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionBackEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionBackSignal
+    private bool OnActionBack(IntPtr data)
+    {
+      ActionBackEventArgs e = new ActionBackEventArgs();
+
+      // Populate all members of "e" (ActionBackEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionBackEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionBackEventHandler(this, e);
+      }
+      return false;
+    }
+
+    public event DaliEventHandlerWithReturnType<object,ActionScrollUpEventArgs,bool> ActionScrollUp
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionScrollUpEventHandler == null)
+          {
+            _accessibilityManagerActionScrollUpEventHandler += value;
+
+            _accessibilityManagerActionScrollUpEventCallbackDelegate = new ActionScrollUpEventCallbackDelegate(OnActionScrollUp);
+            this.ActionScrollUpSignal().Connect(_accessibilityManagerActionScrollUpEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionScrollUpEventHandler != null)
+          {
+            this.ActionScrollUpSignal().Disconnect(_accessibilityManagerActionScrollUpEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionScrollUpEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionScrollUpSignal
+    private bool OnActionScrollUp(IntPtr data)
+    {
+      ActionScrollUpEventArgs e = new ActionScrollUpEventArgs();
+
+      // Populate all members of "e" (ActionScrollUpEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionScrollUpEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionScrollUpEventHandler(this, e);
+      }
+      return false;
+    }
+
+    public event DaliEventHandlerWithReturnType<object,ActionScrollDownEventArgs,bool> ActionScrollDown
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionScrollDownEventHandler == null)
+          {
+            _accessibilityManagerActionScrollDownEventHandler += value;
+
+            _accessibilityManagerActionScrollDownEventCallbackDelegate = new ActionScrollDownEventCallbackDelegate(OnActionScrollDown);
+            this.ActionScrollDownSignal().Connect(_accessibilityManagerActionScrollDownEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionScrollDownEventHandler != null)
+          {
+            this.ActionScrollDownSignal().Disconnect(_accessibilityManagerActionScrollDownEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionScrollDownEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionScrollDownSignal
+    private bool OnActionScrollDown(IntPtr data)
+    {
+      ActionScrollDownEventArgs e = new ActionScrollDownEventArgs();
+
+      // Populate all members of "e" (ActionScrollDownEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionScrollDownEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionScrollDownEventHandler(this, e);
+      }
+      return false;
+    }
+
+
+    public event DaliEventHandlerWithReturnType<object,ActionPageLeftEventArgs,bool> ActionPageLeft
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionPageLeftEventHandler == null)
+          {
+            _accessibilityManagerActionPageLeftEventHandler += value;
+
+            _accessibilityManagerActionPageLeftEventCallbackDelegate = new ActionPageLeftEventCallbackDelegate(OnActionPageLeft);
+            this.ActionPageLeftSignal().Connect(_accessibilityManagerActionPageLeftEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionPageLeftEventHandler != null)
+          {
+            this.ActionPageLeftSignal().Disconnect(_accessibilityManagerActionPageLeftEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionPageLeftEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionPageLeftSignal
+    private bool OnActionPageLeft(IntPtr data)
+    {
+      ActionPageLeftEventArgs e = new ActionPageLeftEventArgs();
+
+      // Populate all members of "e" (ActionPageLeftEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionPageLeftEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionPageLeftEventHandler(this, e);
+      }
+      return false;
+    }
+
+    public event DaliEventHandlerWithReturnType<object,ActionPageRightEventArgs,bool> ActionPageRight
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionPageRightEventHandler == null)
+          {
+            _accessibilityManagerActionPageRightEventHandler += value;
+
+            _accessibilityManagerActionPageRightEventCallbackDelegate = new ActionPageRightEventCallbackDelegate(OnActionPageRight);
+            this.ActionPageRightSignal().Connect(_accessibilityManagerActionPageRightEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionPageRightEventHandler != null)
+          {
+            this.ActionPageRightSignal().Disconnect(_accessibilityManagerActionPageRightEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionPageRightEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionPageRightSignal
+    private bool OnActionPageRight(IntPtr data)
+    {
+      ActionPageRightEventArgs e = new ActionPageRightEventArgs();
+
+      // Populate all members of "e" (ActionPageRightEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionPageRightEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionPageRightEventHandler(this, e);
+      }
+      return false;
+    }
+
+    public event DaliEventHandlerWithReturnType<object,ActionPageUpEventArgs, bool> ActionPageUp
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionPageUpEventHandler == null)
+          {
+            _accessibilityManagerActionPageUpEventHandler += value;
+
+            _accessibilityManagerActionPageUpEventCallbackDelegate = new ActionPageUpEventCallbackDelegate(OnActionPageUp);
+            this.ActionPageUpSignal().Connect(_accessibilityManagerActionPageUpEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionPageUpEventHandler != null)
+          {
+            this.ActionPageUpSignal().Disconnect(_accessibilityManagerActionPageUpEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionPageUpEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionPageUpSignal
+    private bool OnActionPageUp(IntPtr data)
+    {
+      ActionPageUpEventArgs e = new ActionPageUpEventArgs();
+
+      // Populate all members of "e" (ActionPageUpEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionPageUpEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionPageUpEventHandler(this, e);
+      }
+      return false;
+    }
+
+
+    public event DaliEventHandlerWithReturnType<object,ActionPageDownEventArgs,bool> ActionPageDown
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionPageDownEventHandler == null)
+          {
+            _accessibilityManagerActionPageDownEventHandler += value;
+
+            _accessibilityManagerActionPageDownEventCallbackDelegate = new ActionPageDownEventCallbackDelegate(OnActionPageDown);
+            this.ActionPageDownSignal().Connect(_accessibilityManagerActionPageDownEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionPageDownEventHandler != null)
+          {
+            this.ActionPageDownSignal().Disconnect(_accessibilityManagerActionPageDownEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionPageDownEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionPageDownSignal
+    private bool OnActionPageDown(IntPtr data)
+    {
+      ActionPageDownEventArgs e = new ActionPageDownEventArgs();
+
+      // Populate all members of "e" (ActionPageDownEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionPageDownEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionPageDownEventHandler(this, e);
+      }
+      return false;
+    }
+
+
+    public event DaliEventHandlerWithReturnType<object,ActionMoveToFirstEventArgs,bool> ActionMoveToFirst
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionMoveToFirstEventHandler == null)
+          {
+            _accessibilityManagerActionMoveToFirstEventHandler += value;
+
+            _accessibilityManagerActionMoveToFirstEventCallbackDelegate = new ActionMoveToFirstEventCallbackDelegate(OnActionMoveToFirst);
+            this.ActionMoveToFirstSignal().Connect(_accessibilityManagerActionMoveToFirstEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionMoveToFirstEventHandler != null)
+          {
+            this.ActionMoveToFirstSignal().Disconnect(_accessibilityManagerActionMoveToFirstEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionMoveToFirstEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionMoveToFirstSignal
+    private bool OnActionMoveToFirst(IntPtr data)
+    {
+      ActionMoveToFirstEventArgs e = new ActionMoveToFirstEventArgs();
+
+      // Populate all members of "e" (ActionMoveToFirstEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionMoveToFirstEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionMoveToFirstEventHandler(this, e);
+      }
+      return false;
+    }
+
+    public event DaliEventHandlerWithReturnType<object,ActionMoveToLastEventArgs,bool> ActionMoveToLast
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionMoveToLastEventHandler == null)
+          {
+            _accessibilityManagerActionMoveToLastEventHandler += value;
+
+            _accessibilityManagerActionMoveToLastEventCallbackDelegate = new ActionMoveToLastEventCallbackDelegate(OnActionMoveToLast);
+            this.ActionMoveToLastSignal().Connect(_accessibilityManagerActionMoveToLastEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionMoveToLastEventHandler != null)
+          {
+            this.ActionMoveToLastSignal().Disconnect(_accessibilityManagerActionMoveToLastEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionMoveToLastEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionMoveToLastSignal
+    private bool OnActionMoveToLast(IntPtr data)
+    {
+      ActionMoveToLastEventArgs e = new ActionMoveToLastEventArgs();
+
+      // Populate all members of "e" (ActionMoveToLastEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionMoveToLastEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionMoveToLastEventHandler(this, e);
+      }
+      return false;
+    }
+
+    public event DaliEventHandlerWithReturnType<object,ActionReadFromTopEventArgs,bool> ActionReadFromTop
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionReadFromTopEventHandler == null)
+          {
+            _accessibilityManagerActionReadFromTopEventHandler += value;
+
+            _accessibilityManagerActionReadFromTopEventCallbackDelegate = new ActionReadFromTopEventCallbackDelegate(OnActionReadFromTop);
+            this.ActionReadFromTopSignal().Connect(_accessibilityManagerActionReadFromTopEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionReadFromTopEventHandler != null)
+          {
+            this.ActionReadFromTopSignal().Disconnect(_accessibilityManagerActionReadFromTopEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionReadFromTopEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionReadFromTopSignal
+    private bool OnActionReadFromTop(IntPtr data)
+    {
+      ActionReadFromTopEventArgs e = new ActionReadFromTopEventArgs();
+
+      // Populate all members of "e" (ActionReadFromTopEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionReadFromTopEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionReadFromTopEventHandler(this, e);
+      }
+      return false;
+    }
+
+    public event DaliEventHandlerWithReturnType<object,ActionReadFromNextEventArgs,bool> ActionReadFromNext
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionReadFromNextEventHandler == null)
+          {
+            _accessibilityManagerActionReadFromNextEventHandler += value;
+
+            _accessibilityManagerActionReadFromNextEventCallbackDelegate = new ActionReadFromNextEventCallbackDelegate(OnActionReadFromNext);
+            this.ActionReadFromNextSignal().Connect(_accessibilityManagerActionReadFromNextEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionReadFromNextEventHandler != null)
+          {
+            this.ActionReadFromNextSignal().Disconnect(_accessibilityManagerActionReadFromNextEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionReadFromNextEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionReadFromNextSignal
+    private bool OnActionReadFromNext(IntPtr data)
+    {
+      ActionReadFromNextEventArgs e = new ActionReadFromNextEventArgs();
+
+      // Populate all members of "e" (ActionReadFromNextEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionReadFromNextEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionReadFromNextEventHandler(this, e);
+      }
+      return false;
+    }
+
+    public event DaliEventHandlerWithReturnType<object,ActionZoomEventArgs,bool> ActionZoom
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionZoomEventHandler == null)
+          {
+            _accessibilityManagerActionZoomEventHandler += value;
+
+            _accessibilityManagerActionZoomEventCallbackDelegate = new ActionZoomEventCallbackDelegate(OnActionZoom);
+            this.ActionZoomSignal().Connect(_accessibilityManagerActionZoomEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionZoomEventHandler != null)
+          {
+            this.ActionZoomSignal().Disconnect(_accessibilityManagerActionZoomEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionZoomEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionZoomSignal
+    private bool OnActionZoom(IntPtr data)
+    {
+      ActionZoomEventArgs e = new ActionZoomEventArgs();
+
+      // Populate all members of "e" (ActionZoomEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionZoomEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionZoomEventHandler(this, e);
+      }
+      return false;
+    }
+
+    public event DaliEventHandlerWithReturnType<object,ActionReadIndicatorInformationEventArgs,bool> ActionReadIndicatorInformation
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionReadIndicatorInformationEventHandler == null)
+          {
+            _accessibilityManagerActionReadIndicatorInformationEventHandler += value;
+
+            _accessibilityManagerActionReadIndicatorInformationEventCallbackDelegate = new ActionReadIndicatorInformationEventCallbackDelegate(OnActionReadIndicatorInformation);
+            this.ActionReadIndicatorInformationSignal().Connect(_accessibilityManagerActionReadIndicatorInformationEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionReadIndicatorInformationEventHandler != null)
+          {
+            this.ActionReadIndicatorInformationSignal().Disconnect(_accessibilityManagerActionReadIndicatorInformationEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionReadIndicatorInformationEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionReadIndicatorInformationSignal
+    private bool OnActionReadIndicatorInformation(IntPtr data)
+    {
+      ActionReadIndicatorInformationEventArgs e = new ActionReadIndicatorInformationEventArgs();
+
+      // Populate all members of "e" (ActionReadIndicatorInformationEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionReadIndicatorInformationEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionReadIndicatorInformationEventHandler(this, e);
+      }
+      return false;
+    }
+
+    public event DaliEventHandlerWithReturnType<object,ActionReadPauseResumeEventArgs,bool> ActionReadPauseResume
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionReadPauseResumeEventHandler == null)
+          {
+            _accessibilityManagerActionReadPauseResumeEventHandler += value;
+
+            _accessibilityManagerActionReadPauseResumeEventCallbackDelegate = new ActionReadPauseResumeEventCallbackDelegate(OnActionReadPauseResume);
+            this.ActionReadPauseResumeSignal().Connect(_accessibilityManagerActionReadPauseResumeEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionReadPauseResumeEventHandler != null)
+          {
+            this.ActionReadPauseResumeSignal().Disconnect(_accessibilityManagerActionReadPauseResumeEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionReadPauseResumeEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionReadPauseResumeSignal
+    private bool OnActionReadPauseResume(IntPtr data)
+    {
+      ActionReadPauseResumeEventArgs e = new ActionReadPauseResumeEventArgs();
+
+      // Populate all members of "e" (ActionReadPauseResumeEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionReadPauseResumeEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionReadPauseResumeEventHandler(this, e);
+      }
+      return false;
+    }
+
+    public event DaliEventHandlerWithReturnType<object,ActionStartStopEventArgs,bool> ActionStartStop
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionStartStopEventHandler == null)
+          {
+            _accessibilityManagerActionStartStopEventHandler += value;
+
+            _accessibilityManagerActionStartStopEventCallbackDelegate = new ActionStartStopEventCallbackDelegate(OnActionStartStop);
+            this.ActionStartStopSignal().Connect(_accessibilityManagerActionStartStopEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionStartStopEventHandler != null)
+          {
+            this.ActionStartStopSignal().Disconnect(_accessibilityManagerActionStartStopEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionStartStopEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionStartStopSignal
+    private bool OnActionStartStop(IntPtr data)
+    {
+      ActionStartStopEventArgs e = new ActionStartStopEventArgs();
+
+      // Populate all members of "e" (ActionStartStopEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(data);
+
+      if (_accessibilityManagerActionStartStopEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionStartStopEventHandler(this, e);
+      }
+      return false;
+    }
+
+/*
+    // To be replaced by a new event that takes Touch
+    public event DaliEventHandlerWithReturnType<object,ActionScrollEventArgs,bool> ActionScroll
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerActionScrollEventHandler == null)
+          {
+            _accessibilityManagerActionScrollEventHandler += value;
+
+            _accessibilityManagerActionScrollEventCallbackDelegate = new ActionScrollEventCallbackDelegate(OnActionScroll);
+            this.ActionScrollSignal().Connect(_accessibilityManagerActionScrollEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerActionScrollEventHandler != null)
+          {
+            this.ActionScrollSignal().Disconnect(_accessibilityManagerActionScrollEventCallbackDelegate);
+          }
+
+          _accessibilityManagerActionScrollEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager ActionScrollSignal
+    private bool OnActionScroll(IntPtr accessibilityManager, IntPtr touchEvent)
+    {
+      ActionScrollEventArgs e = new ActionScrollEventArgs();
+
+      // Populate all members of "e" (ActionScrollEventArgs) with real data
+      e.AccessibilityManager = AccessibilityManager.GetAccessibilityManagerFromPtr(accessibilityManager);
+      e.TouchEvent = TouchEvent.GetTouchEventFromPtr(touchEvent);
+
+      if (_accessibilityManagerActionScrollEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        return _accessibilityManagerActionScrollEventHandler(this, e);
+      }
+      return false;
+    }
+*/
+
+    public event DaliEventHandler<object,FocusChangedEventArgs> FocusChanged
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerFocusChangedEventHandler == null)
+          {
+            _accessibilityManagerFocusChangedEventHandler += value;
+
+            _accessibilityManagerFocusChangedEventCallbackDelegate = new FocusChangedEventCallbackDelegate(OnFocusChanged);
+            this.FocusChangedSignal().Connect(_accessibilityManagerFocusChangedEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerFocusChangedEventHandler != null)
+          {
+            this.FocusChangedSignal().Disconnect(_accessibilityManagerFocusChangedEventCallbackDelegate);
+          }
+
+          _accessibilityManagerFocusChangedEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager FocusChangedSignal
+    private void OnFocusChanged(IntPtr actor1, IntPtr actor2)
+    {
+      FocusChangedEventArgs e = new FocusChangedEventArgs();
+
+      // Populate all members of "e" (FocusChangedEventArgs) with real data
+      e.ActorCurrent = Actor.GetActorFromPtr(actor1);
+      e.ActorNext = Actor.GetActorFromPtr(actor2);
+
+      if (_accessibilityManagerFocusChangedEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        _accessibilityManagerFocusChangedEventHandler(this, e);
+      }
+    }
+
+    public event DaliEventHandler<object,FocusedActorActivatedEventArgs> FocusedActorActivated
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerFocusedActorActivatedEventHandler == null)
+          {
+            _accessibilityManagerFocusedActorActivatedEventHandler += value;
+
+            _accessibilityManagerFocusedActorActivatedEventCallbackDelegate = new FocusedActorActivatedEventCallbackDelegate(OnFocusedActorActivated);
+            this.FocusedActorActivatedSignal().Connect(_accessibilityManagerFocusedActorActivatedEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerFocusedActorActivatedEventHandler != null)
+          {
+            this.FocusedActorActivatedSignal().Disconnect(_accessibilityManagerFocusedActorActivatedEventCallbackDelegate);
+          }
+
+          _accessibilityManagerFocusedActorActivatedEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager FocusedActorActivatedSignal
+    private void OnFocusedActorActivated(IntPtr actor)
+    {
+      FocusedActorActivatedEventArgs e = new FocusedActorActivatedEventArgs();
+
+      // Populate all members of "e" (FocusedActorActivatedEventArgs) with real data
+      e.Actor = Actor.GetActorFromPtr(actor);
+
+      if (_accessibilityManagerFocusedActorActivatedEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        _accessibilityManagerFocusedActorActivatedEventHandler(this, e);
+      }
+    }
+
+
+    public event DaliEventHandler<object,FocusOvershotEventArgs> FocusOvershot
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_accessibilityManagerFocusOvershotEventHandler == null)
+          {
+            _accessibilityManagerFocusOvershotEventHandler += value;
+
+            _accessibilityManagerFocusOvershotEventCallbackDelegate = new FocusOvershotEventCallbackDelegate(OnFocusOvershot);
+            this.FocusOvershotSignal().Connect(_accessibilityManagerFocusOvershotEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_accessibilityManagerFocusOvershotEventHandler != null)
+          {
+            this.FocusOvershotSignal().Disconnect(_accessibilityManagerFocusOvershotEventCallbackDelegate);
+          }
+
+          _accessibilityManagerFocusOvershotEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for AccessibilityManager FocusOvershotSignal
+    private void OnFocusOvershot(IntPtr currentFocusedActor, AccessibilityManager.FocusOvershotDirection direction)
+    {
+      FocusOvershotEventArgs e = new FocusOvershotEventArgs();
+
+      // Populate all members of "e" (FocusOvershotEventArgs) with real data
+      e.CurrentFocusedActor = Actor.GetActorFromPtr(currentFocusedActor);
+      e.FocusOvershotDirection = direction;
+
+      if (_accessibilityManagerFocusOvershotEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        _accessibilityManagerFocusOvershotEventHandler(this, e);
+      }
+    }
+
+
+    public static AccessibilityManager GetAccessibilityManagerFromPtr(global::System.IntPtr cPtr) {
+      AccessibilityManager ret = new AccessibilityManager(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+
+    
+  public AccessibilityManager() : this(NDalicPINVOKE.new_AccessibilityManager(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static AccessibilityManager Get() {
+    AccessibilityManager ret = new AccessibilityManager(NDalicPINVOKE.AccessibilityManager_Get(), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetAccessibilityAttribute(Actor actor, AccessibilityManager.AccessibilityAttribute type, string text) {
+    NDalicPINVOKE.AccessibilityManager_SetAccessibilityAttribute(swigCPtr, Actor.getCPtr(actor), (int)type, text);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public string GetAccessibilityAttribute(Actor actor, AccessibilityManager.AccessibilityAttribute type) {
+    string ret = NDalicPINVOKE.AccessibilityManager_GetAccessibilityAttribute(swigCPtr, Actor.getCPtr(actor), (int)type);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetFocusOrder(Actor actor, uint order) {
+    NDalicPINVOKE.AccessibilityManager_SetFocusOrder(swigCPtr, Actor.getCPtr(actor), order);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public uint GetFocusOrder(Actor actor) {
+    uint ret = NDalicPINVOKE.AccessibilityManager_GetFocusOrder(swigCPtr, Actor.getCPtr(actor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GenerateNewFocusOrder() {
+    uint ret = NDalicPINVOKE.AccessibilityManager_GenerateNewFocusOrder(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Actor GetActorByFocusOrder(uint order) {
+    Actor ret = new Actor(NDalicPINVOKE.AccessibilityManager_GetActorByFocusOrder(swigCPtr, order), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool SetCurrentFocusActor(Actor actor) {
+    bool ret = NDalicPINVOKE.AccessibilityManager_SetCurrentFocusActor(swigCPtr, Actor.getCPtr(actor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Actor GetCurrentFocusActor() {
+    Actor ret = new Actor(NDalicPINVOKE.AccessibilityManager_GetCurrentFocusActor(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Actor GetCurrentFocusGroup() {
+    Actor ret = new Actor(NDalicPINVOKE.AccessibilityManager_GetCurrentFocusGroup(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetCurrentFocusOrder() {
+    uint ret = NDalicPINVOKE.AccessibilityManager_GetCurrentFocusOrder(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool MoveFocusForward() {
+    bool ret = NDalicPINVOKE.AccessibilityManager_MoveFocusForward(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool MoveFocusBackward() {
+    bool ret = NDalicPINVOKE.AccessibilityManager_MoveFocusBackward(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void ClearFocus() {
+    NDalicPINVOKE.AccessibilityManager_ClearFocus(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public new void Reset() {
+    NDalicPINVOKE.AccessibilityManager_Reset(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetFocusGroup(Actor actor, bool isFocusGroup) {
+    NDalicPINVOKE.AccessibilityManager_SetFocusGroup(swigCPtr, Actor.getCPtr(actor), isFocusGroup);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool IsFocusGroup(Actor actor) {
+    bool ret = NDalicPINVOKE.AccessibilityManager_IsFocusGroup(swigCPtr, Actor.getCPtr(actor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetGroupMode(bool enabled) {
+    NDalicPINVOKE.AccessibilityManager_SetGroupMode(swigCPtr, enabled);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool GetGroupMode() {
+    bool ret = NDalicPINVOKE.AccessibilityManager_GetGroupMode(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetWrapMode(bool wrapped) {
+    NDalicPINVOKE.AccessibilityManager_SetWrapMode(swigCPtr, wrapped);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool GetWrapMode() {
+    bool ret = NDalicPINVOKE.AccessibilityManager_GetWrapMode(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetFocusIndicatorActor(Actor indicator) {
+    NDalicPINVOKE.AccessibilityManager_SetFocusIndicatorActor(swigCPtr, Actor.getCPtr(indicator));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Actor GetFocusIndicatorActor() {
+    Actor ret = new Actor(NDalicPINVOKE.AccessibilityManager_GetFocusIndicatorActor(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Actor GetFocusGroup(Actor actor) {
+    Actor ret = new Actor(NDalicPINVOKE.AccessibilityManager_GetFocusGroup(swigCPtr, Actor.getCPtr(actor)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector2 GetReadPosition() {
+    Vector2 ret = new Vector2(NDalicPINVOKE.AccessibilityManager_GetReadPosition(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public FocusChangedSignal FocusChangedSignal() {
+    FocusChangedSignal ret = new FocusChangedSignal(NDalicPINVOKE.AccessibilityManager_FocusChangedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityFocusOvershotSignal FocusOvershotSignal() {
+    AccessibilityFocusOvershotSignal ret = new AccessibilityFocusOvershotSignal(NDalicPINVOKE.AccessibilityManager_FocusOvershotSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ActorSignal FocusedActorActivatedSignal() {
+    ActorSignal ret = new ActorSignal(NDalicPINVOKE.AccessibilityManager_FocusedActorActivatedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal StatusChangedSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_StatusChangedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionNextSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionNextSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionPreviousSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionPreviousSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionActivateSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionActivateSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionReadSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionReadSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionOverSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionOverSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionReadNextSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionReadNextSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionReadPreviousSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionReadPreviousSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionUpSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionUpSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionDownSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionDownSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionClearFocusSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionClearFocusSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionBackSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionBackSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionScrollUpSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionScrollUpSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionScrollDownSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionScrollDownSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionPageLeftSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionPageLeftSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionPageRightSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionPageRightSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionPageUpSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionPageUpSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionPageDownSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionPageDownSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionMoveToFirstSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionMoveToFirstSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionMoveToLastSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionMoveToLastSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionReadFromTopSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionReadFromTopSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionReadFromNextSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionReadFromNextSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionZoomSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionZoomSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionReadIndicatorInformationSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionReadIndicatorInformationSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionReadPauseResumeSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionReadPauseResumeSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AccessibilityActionSignal ActionStartStopSignal() {
+    AccessibilityActionSignal ret = new AccessibilityActionSignal(NDalicPINVOKE.AccessibilityManager_ActionStartStopSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SWIGTYPE_p_Dali__SignalT_bool_fDali__Toolkit__AccessibilityManager_R_Dali__TouchEvent_const_RF_t ActionScrollSignal() {
+    SWIGTYPE_p_Dali__SignalT_bool_fDali__Toolkit__AccessibilityManager_R_Dali__TouchEvent_const_RF_t ret = new SWIGTYPE_p_Dali__SignalT_bool_fDali__Toolkit__AccessibilityManager_R_Dali__TouchEvent_const_RF_t(NDalicPINVOKE.AccessibilityManager_ActionScrollSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum AccessibilityAttribute {
+    ACCESSIBILITY_LABEL = 0,
+    ACCESSIBILITY_TRAIT,
+    ACCESSIBILITY_VALUE,
+    ACCESSIBILITY_HINT,
+    ACCESSIBILITY_ATTRIBUTE_NUM
+  }
+
+  public enum FocusOvershotDirection {
+    OVERSHOT_PREVIOUS = -1,
+    OVERSHOT_NEXT = 1
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Actor.cs b/plugins/dali-sharp/sharp/internal/Actor.cs
new file mode 100644 (file)
index 0000000..df8d95a
--- /dev/null
@@ -0,0 +1,1597 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+    using System;
+    using System.Runtime.InteropServices;
+
+public class Actor : Handle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal Actor(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Actor_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Actor obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Actor() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_Actor(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+    public static Actor GetActorFromPtr(global::System.IntPtr cPtr) {
+      Actor ret = new Actor(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+
+    public IntPtr GetPtrfromActor ()
+    {
+      return (IntPtr)swigCPtr;
+    }
+
+    public Position CurrentPosition
+    {
+      get
+      {
+        return GetCurrentPosition();
+      }
+    }
+
+    public Size2D Size2D
+    {
+      get
+      {
+        Size temp = new Size(0.0f,0.0f,0.0f);
+        GetProperty( Actor.Property.SIZE).Get(  temp );
+        return new Size2D(temp);
+      }
+      set
+      {
+        SetProperty( Actor.Property.SIZE, new Dali.Property.Value( new Size(value) ) );
+      }
+    }
+
+    public Size CurrentSize
+    {
+      get
+      {
+        return GetCurrentSize();
+      }
+    }
+
+    public Actor Parent
+    {
+      get
+      {
+        return GetParent();
+      }
+    }
+
+    public bool Visibility
+    {
+      get
+      {
+        return IsVisible();
+      }
+    }
+
+    public float Opacity
+    {
+      get
+      {
+        float temp = 0;
+        GetProperty( Actor.Property.OPACITY ).Get( ref temp );
+        return temp;
+      }
+      set
+      {
+        SetProperty( Actor.Property.OPACITY, new Dali.Property.Value( value ) );
+      }
+    }
+
+    public Position2D Position2D
+    {
+      get
+      {
+        Position temp = new Position(0.0f,0.0f,0.0f);
+        GetProperty( Actor.Property.POSITION).Get(  temp );
+        return new Position2D(temp);
+      }
+      set
+      {
+        SetProperty( Actor.Property.POSITION, new Dali.Property.Value( new Position(value) ) );
+      }
+    }
+
+    public Vector2 ScreenPosition
+    {
+      get
+      {
+        Vector2 temp = new Vector2( 0.0f, 0.0f );
+        GetProperty( Actor.Property.SCREEN_POSITION ).Get( temp );
+        return temp;
+      }
+    }
+
+    protected bool PositionUsesAnchorPoint
+    {
+      get
+      {
+        bool temp = false;
+        GetProperty( Actor.Property.POSITION_USES_ANCHOR_POINT ).Get( ref temp );
+        return temp;
+      }
+      set
+      {
+        SetProperty( Actor.Property.POSITION_USES_ANCHOR_POINT, new Dali.Property.Value( value ) );
+      }
+    }
+
+    public bool StateFocusEnable
+    {
+      get
+      {
+        return IsKeyboardFocusable();
+      }
+      set
+      {
+        SetKeyboardFocusable(value);
+      }
+    }
+
+    public bool IsOnStage
+    {
+      get
+      {
+        return OnStage();
+      }
+    }
+
+    public int SiblingOrder
+    {
+      get
+      {
+        int temp = 0;
+        GetProperty( Actor.Property.SIBLING_ORDER ).Get( ref temp );
+        return temp;
+      }
+      set
+      {
+        SetProperty( Actor.Property.SIBLING_ORDER, new Dali.Property.Value( value ) );
+      }
+    }
+
+    public void Show()
+    {
+      SetVisible(true);
+    }
+
+    public void Hide()
+    {
+      SetVisible(false);
+    }
+
+    public void Raise()
+    {
+      NDalicPINVOKE.Raise(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+
+    public void Lower()
+    {
+      NDalicPINVOKE.Lower(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+
+    public void RaiseToTop()
+    {
+      NDalicPINVOKE.RaiseToTop(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+
+    public void LowerToBottom()
+    {
+      NDalicPINVOKE.LowerToBottom(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+
+    public void RaiseAbove(Actor target)
+    {
+      NDalicPINVOKE.RaiseAbove(swigCPtr, Actor.getCPtr(target));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+
+    public void LowerBelow(Actor target)
+    {
+      NDalicPINVOKE.RaiseAbove(swigCPtr, Actor.getCPtr(target));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_Actor_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public static readonly int SIBLING_ORDER = NDalicManualPINVOKE.Actor_Property_SIBLING_ORDER_get();
+    public static readonly int OPACITY = NDalicManualPINVOKE.Actor_Property_OPACITY_get();
+    public static readonly int SCREEN_POSITION = NDalicManualPINVOKE.Actor_Property_SCREEN_POSITION_get();
+    public static readonly int POSITION_USES_ANCHOR_POINT = NDalicManualPINVOKE.Actor_Property_POSITION_USES_ANCHOR_POINT_get();
+  
+    public Property() : this(NDalicPINVOKE.new_Actor_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int PARENT_ORIGIN = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_get();
+    public static readonly int PARENT_ORIGIN_X = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_X_get();
+    public static readonly int PARENT_ORIGIN_Y = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_Y_get();
+    public static readonly int PARENT_ORIGIN_Z = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_Z_get();
+    public static readonly int ANCHOR_POINT = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_get();
+    public static readonly int ANCHOR_POINT_X = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_X_get();
+    public static readonly int ANCHOR_POINT_Y = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_Y_get();
+    public static readonly int ANCHOR_POINT_Z = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_Z_get();
+    public static readonly int SIZE = NDalicPINVOKE.Actor_Property_SIZE_get();
+    public static readonly int SIZE_WIDTH = NDalicPINVOKE.Actor_Property_SIZE_WIDTH_get();
+    public static readonly int SIZE_HEIGHT = NDalicPINVOKE.Actor_Property_SIZE_HEIGHT_get();
+    public static readonly int SIZE_DEPTH = NDalicPINVOKE.Actor_Property_SIZE_DEPTH_get();
+    public static readonly int POSITION = NDalicPINVOKE.Actor_Property_POSITION_get();
+    public static readonly int POSITION_X = NDalicPINVOKE.Actor_Property_POSITION_X_get();
+    public static readonly int POSITION_Y = NDalicPINVOKE.Actor_Property_POSITION_Y_get();
+    public static readonly int POSITION_Z = NDalicPINVOKE.Actor_Property_POSITION_Z_get();
+    public static readonly int WORLD_POSITION = NDalicPINVOKE.Actor_Property_WORLD_POSITION_get();
+    public static readonly int WORLD_POSITION_X = NDalicPINVOKE.Actor_Property_WORLD_POSITION_X_get();
+    public static readonly int WORLD_POSITION_Y = NDalicPINVOKE.Actor_Property_WORLD_POSITION_Y_get();
+    public static readonly int WORLD_POSITION_Z = NDalicPINVOKE.Actor_Property_WORLD_POSITION_Z_get();
+    public static readonly int ORIENTATION = NDalicPINVOKE.Actor_Property_ORIENTATION_get();
+    public static readonly int WORLD_ORIENTATION = NDalicPINVOKE.Actor_Property_WORLD_ORIENTATION_get();
+    public static readonly int SCALE = NDalicPINVOKE.Actor_Property_SCALE_get();
+    public static readonly int SCALE_X = NDalicPINVOKE.Actor_Property_SCALE_X_get();
+    public static readonly int SCALE_Y = NDalicPINVOKE.Actor_Property_SCALE_Y_get();
+    public static readonly int SCALE_Z = NDalicPINVOKE.Actor_Property_SCALE_Z_get();
+    public static readonly int WORLD_SCALE = NDalicPINVOKE.Actor_Property_WORLD_SCALE_get();
+    public static readonly int VISIBLE = NDalicPINVOKE.Actor_Property_VISIBLE_get();
+    public static readonly int COLOR = NDalicPINVOKE.Actor_Property_COLOR_get();
+    public static readonly int COLOR_RED = NDalicPINVOKE.Actor_Property_COLOR_RED_get();
+    public static readonly int COLOR_GREEN = NDalicPINVOKE.Actor_Property_COLOR_GREEN_get();
+    public static readonly int COLOR_BLUE = NDalicPINVOKE.Actor_Property_COLOR_BLUE_get();
+    public static readonly int COLOR_ALPHA = NDalicPINVOKE.Actor_Property_COLOR_ALPHA_get();
+    public static readonly int WORLD_COLOR = NDalicPINVOKE.Actor_Property_WORLD_COLOR_get();
+    public static readonly int WORLD_MATRIX = NDalicPINVOKE.Actor_Property_WORLD_MATRIX_get();
+    public static readonly int NAME = NDalicPINVOKE.Actor_Property_NAME_get();
+    public static readonly int SENSITIVE = NDalicPINVOKE.Actor_Property_SENSITIVE_get();
+    public static readonly int LEAVE_REQUIRED = NDalicPINVOKE.Actor_Property_LEAVE_REQUIRED_get();
+    public static readonly int INHERIT_ORIENTATION = NDalicPINVOKE.Actor_Property_INHERIT_ORIENTATION_get();
+    public static readonly int INHERIT_SCALE = NDalicPINVOKE.Actor_Property_INHERIT_SCALE_get();
+    public static readonly int COLOR_MODE = NDalicPINVOKE.Actor_Property_COLOR_MODE_get();
+    public static readonly int POSITION_INHERITANCE = NDalicPINVOKE.Actor_Property_POSITION_INHERITANCE_get();
+    public static readonly int DRAW_MODE = NDalicPINVOKE.Actor_Property_DRAW_MODE_get();
+    public static readonly int SIZE_MODE_FACTOR = NDalicPINVOKE.Actor_Property_SIZE_MODE_FACTOR_get();
+    public static readonly int WIDTH_RESIZE_POLICY = NDalicPINVOKE.Actor_Property_WIDTH_RESIZE_POLICY_get();
+    public static readonly int HEIGHT_RESIZE_POLICY = NDalicPINVOKE.Actor_Property_HEIGHT_RESIZE_POLICY_get();
+    public static readonly int SIZE_SCALE_POLICY = NDalicPINVOKE.Actor_Property_SIZE_SCALE_POLICY_get();
+    public static readonly int WIDTH_FOR_HEIGHT = NDalicPINVOKE.Actor_Property_WIDTH_FOR_HEIGHT_get();
+    public static readonly int HEIGHT_FOR_WIDTH = NDalicPINVOKE.Actor_Property_HEIGHT_FOR_WIDTH_get();
+    public static readonly int PADDING = NDalicPINVOKE.Actor_Property_PADDING_get();
+    public static readonly int MINIMUM_SIZE = NDalicPINVOKE.Actor_Property_MINIMUM_SIZE_get();
+    public static readonly int MAXIMUM_SIZE = NDalicPINVOKE.Actor_Property_MAXIMUM_SIZE_get();
+    public static readonly int INHERIT_POSITION = NDalicPINVOKE.Actor_Property_INHERIT_POSITION_get();
+    public static readonly int CLIPPING_MODE = NDalicPINVOKE.Actor_Property_CLIPPING_MODE_get();
+  
+  }
+
+  public Actor () : this (NDalicPINVOKE.Actor_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public new static Actor DownCast(BaseHandle handle) {
+    Actor ret = new Actor(NDalicPINVOKE.Actor_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Actor(Actor copy) : this(NDalicPINVOKE.new_Actor__SWIG_1(Actor.getCPtr(copy)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Actor Assign(Actor rhs) {
+    Actor ret = new Actor(NDalicPINVOKE.Actor_Assign(swigCPtr, Actor.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public string GetName() {
+    string ret = NDalicPINVOKE.Actor_GetName(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetName(string name) {
+    NDalicPINVOKE.Actor_SetName(swigCPtr, name);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public uint GetId() {
+    uint ret = NDalicPINVOKE.Actor_GetId(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool IsRoot() {
+    bool ret = NDalicPINVOKE.Actor_IsRoot(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool OnStage() {
+    bool ret = NDalicPINVOKE.Actor_OnStage(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool IsLayer() {
+    bool ret = NDalicPINVOKE.Actor_IsLayer(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Layer GetLayer() {
+    Layer ret = new Layer(NDalicPINVOKE.Actor_GetLayer(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Add(Actor child) {
+    NDalicPINVOKE.Actor_Add(swigCPtr, Actor.getCPtr(child));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Remove(Actor child) {
+    NDalicPINVOKE.Actor_Remove(swigCPtr, Actor.getCPtr(child));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Unparent() {
+    NDalicPINVOKE.Actor_Unparent(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public uint GetChildCount() {
+    uint ret = NDalicPINVOKE.Actor_GetChildCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Actor GetChildAt(uint index) {
+    Actor ret = new Actor(NDalicPINVOKE.Actor_GetChildAt(swigCPtr, index), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Actor FindChildByName(string actorName) {
+    Actor ret = new Actor(NDalicPINVOKE.Actor_FindChildByName(swigCPtr, actorName), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Actor FindChildById(uint id) {
+    Actor ret = new Actor(NDalicPINVOKE.Actor_FindChildById(swigCPtr, id), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Actor GetParent() {
+    Actor ret = new Actor(NDalicPINVOKE.Actor_GetParent(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetParentOrigin(Vector3 origin) {
+    NDalicPINVOKE.Actor_SetParentOrigin(swigCPtr, Vector3.getCPtr(origin));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector3 GetCurrentParentOrigin() {
+    Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentParentOrigin(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetAnchorPoint(Vector3 anchorPoint) {
+    NDalicPINVOKE.Actor_SetAnchorPoint(swigCPtr, Vector3.getCPtr(anchorPoint));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector3 GetCurrentAnchorPoint() {
+    Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentAnchorPoint(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetSize(float width, float height) {
+    NDalicPINVOKE.Actor_SetSize__SWIG_0(swigCPtr, width, height);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetSize(float width, float height, float depth) {
+    NDalicPINVOKE.Actor_SetSize__SWIG_1(swigCPtr, width, height, depth);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetSize(Vector2 size) {
+    NDalicPINVOKE.Actor_SetSize__SWIG_2(swigCPtr, Vector2.getCPtr(size));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetSize(Vector3 size) {
+    NDalicPINVOKE.Actor_SetSize__SWIG_3(swigCPtr, Vector3.getCPtr(size));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector3 GetTargetSize() {
+    Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetTargetSize(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector3 GetCurrentSize() {
+    Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentSize(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector3 GetNaturalSize() {
+    Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetNaturalSize(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetPosition(float x, float y) {
+    NDalicPINVOKE.Actor_SetPosition__SWIG_0(swigCPtr, x, y);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetPosition(float x, float y, float z) {
+    NDalicPINVOKE.Actor_SetPosition__SWIG_1(swigCPtr, x, y, z);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetPosition(Vector3 position) {
+    NDalicPINVOKE.Actor_SetPosition__SWIG_2(swigCPtr, Vector3.getCPtr(position));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetX(float x) {
+    NDalicPINVOKE.Actor_SetX(swigCPtr, x);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetY(float y) {
+    NDalicPINVOKE.Actor_SetY(swigCPtr, y);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetZ(float z) {
+    NDalicPINVOKE.Actor_SetZ(swigCPtr, z);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void TranslateBy(Vector3 distance) {
+    NDalicPINVOKE.Actor_TranslateBy(swigCPtr, Vector3.getCPtr(distance));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector3 GetCurrentPosition() {
+    Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentPosition(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector3 GetCurrentWorldPosition() {
+    Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentWorldPosition(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetInheritPosition(bool inherit) {
+    NDalicPINVOKE.Actor_SetInheritPosition(swigCPtr, inherit);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PositionInheritanceMode GetPositionInheritanceMode() {
+    PositionInheritanceMode ret = (PositionInheritanceMode)NDalicPINVOKE.Actor_GetPositionInheritanceMode(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool IsPositionInherited() {
+    bool ret = NDalicPINVOKE.Actor_IsPositionInherited(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetOrientation(Degree angle, Vector3 axis) {
+    NDalicPINVOKE.Actor_SetOrientation__SWIG_0(swigCPtr, Degree.getCPtr(angle), Vector3.getCPtr(axis));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetOrientation(Radian angle, Vector3 axis) {
+    NDalicPINVOKE.Actor_SetOrientation__SWIG_1(swigCPtr, Radian.getCPtr(angle), Vector3.getCPtr(axis));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetOrientation(Rotation orientation) {
+    NDalicPINVOKE.Actor_SetOrientation__SWIG_2(swigCPtr, Rotation.getCPtr(orientation));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RotateBy(Degree angle, Vector3 axis) {
+    NDalicPINVOKE.Actor_RotateBy__SWIG_0(swigCPtr, Degree.getCPtr(angle), Vector3.getCPtr(axis));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RotateBy(Radian angle, Vector3 axis) {
+    NDalicPINVOKE.Actor_RotateBy__SWIG_1(swigCPtr, Radian.getCPtr(angle), Vector3.getCPtr(axis));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RotateBy(Rotation relativeRotation) {
+    NDalicPINVOKE.Actor_RotateBy__SWIG_2(swigCPtr, Rotation.getCPtr(relativeRotation));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Rotation GetCurrentOrientation() {
+    Rotation ret = new Rotation(NDalicPINVOKE.Actor_GetCurrentOrientation(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetInheritOrientation(bool inherit) {
+    NDalicPINVOKE.Actor_SetInheritOrientation(swigCPtr, inherit);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool IsOrientationInherited() {
+    bool ret = NDalicPINVOKE.Actor_IsOrientationInherited(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Rotation GetCurrentWorldOrientation() {
+    Rotation ret = new Rotation(NDalicPINVOKE.Actor_GetCurrentWorldOrientation(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetScale(float scale) {
+    NDalicPINVOKE.Actor_SetScale__SWIG_0(swigCPtr, scale);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetScale(float scaleX, float scaleY, float scaleZ) {
+    NDalicPINVOKE.Actor_SetScale__SWIG_1(swigCPtr, scaleX, scaleY, scaleZ);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetScale(Vector3 scale) {
+    NDalicPINVOKE.Actor_SetScale__SWIG_2(swigCPtr, Vector3.getCPtr(scale));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void ScaleBy(Vector3 relativeScale) {
+    NDalicPINVOKE.Actor_ScaleBy(swigCPtr, Vector3.getCPtr(relativeScale));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector3 GetCurrentScale() {
+    Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentScale(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector3 GetCurrentWorldScale() {
+    Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentWorldScale(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetInheritScale(bool inherit) {
+    NDalicPINVOKE.Actor_SetInheritScale(swigCPtr, inherit);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool IsScaleInherited() {
+    bool ret = NDalicPINVOKE.Actor_IsScaleInherited(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Matrix GetCurrentWorldMatrix() {
+    Matrix ret = new Matrix(NDalicPINVOKE.Actor_GetCurrentWorldMatrix(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetVisible(bool visible) {
+    NDalicPINVOKE.Actor_SetVisible(swigCPtr, visible);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool IsVisible() {
+    bool ret = NDalicPINVOKE.Actor_IsVisible(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetOpacity(float opacity) {
+    NDalicPINVOKE.Actor_SetOpacity(swigCPtr, opacity);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetCurrentOpacity() {
+    float ret = NDalicPINVOKE.Actor_GetCurrentOpacity(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetColor(Vector4 color) {
+    NDalicPINVOKE.Actor_SetColor(swigCPtr, Vector4.getCPtr(color));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector4 GetCurrentColor() {
+    Vector4 ret = new Vector4(NDalicPINVOKE.Actor_GetCurrentColor(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetColorMode(ColorMode colorMode) {
+    NDalicPINVOKE.Actor_SetColorMode(swigCPtr, (int)colorMode);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ColorMode GetColorMode() {
+    ColorMode ret = (ColorMode)NDalicPINVOKE.Actor_GetColorMode(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector4 GetCurrentWorldColor() {
+    Vector4 ret = new Vector4(NDalicPINVOKE.Actor_GetCurrentWorldColor(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetDrawMode(DrawModeType drawMode) {
+    NDalicPINVOKE.Actor_SetDrawMode(swigCPtr, (int)drawMode);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public DrawModeType GetDrawMode() {
+    DrawModeType ret = (DrawModeType)NDalicPINVOKE.Actor_GetDrawMode(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetSensitive(bool sensitive) {
+    NDalicPINVOKE.Actor_SetSensitive(swigCPtr, sensitive);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool IsSensitive() {
+    bool ret = NDalicPINVOKE.Actor_IsSensitive(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool ScreenToLocal(out float localX, out float localY, float screenX, float screenY) {
+    bool ret = NDalicPINVOKE.Actor_ScreenToLocal(swigCPtr, out localX, out localY, screenX, screenY);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetLeaveRequired(bool required) {
+    NDalicPINVOKE.Actor_SetLeaveRequired(swigCPtr, required);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool GetLeaveRequired() {
+    bool ret = NDalicPINVOKE.Actor_GetLeaveRequired(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetKeyboardFocusable(bool focusable) {
+    NDalicPINVOKE.Actor_SetKeyboardFocusable(swigCPtr, focusable);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool IsKeyboardFocusable() {
+    bool ret = NDalicPINVOKE.Actor_IsKeyboardFocusable(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetResizePolicy(ResizePolicyType policy, DimensionType dimension) {
+    NDalicPINVOKE.Actor_SetResizePolicy(swigCPtr, (int)policy, (int)dimension);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ResizePolicyType GetResizePolicy(DimensionType dimension) {
+    ResizePolicyType ret = (ResizePolicyType)NDalicPINVOKE.Actor_GetResizePolicy(swigCPtr, (int)dimension);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetSizeScalePolicy(SizeScalePolicyType policy) {
+    NDalicPINVOKE.Actor_SetSizeScalePolicy(swigCPtr, (int)policy);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public SizeScalePolicyType GetSizeScalePolicy() {
+    SizeScalePolicyType ret = (SizeScalePolicyType)NDalicPINVOKE.Actor_GetSizeScalePolicy(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetSizeModeFactor(Vector3 factor) {
+    NDalicPINVOKE.Actor_SetSizeModeFactor(swigCPtr, Vector3.getCPtr(factor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector3 GetSizeModeFactor() {
+    Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetSizeModeFactor(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float GetHeightForWidth(float width) {
+    float ret = NDalicPINVOKE.Actor_GetHeightForWidth(swigCPtr, width);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float GetWidthForHeight(float height) {
+    float ret = NDalicPINVOKE.Actor_GetWidthForHeight(swigCPtr, height);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float GetRelayoutSize(DimensionType dimension) {
+    float ret = NDalicPINVOKE.Actor_GetRelayoutSize(swigCPtr, (int)dimension);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetPadding(PaddingType padding) {
+    NDalicPINVOKE.Actor_SetPadding(swigCPtr, PaddingType.getCPtr(padding));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void GetPadding(PaddingType paddingOut) {
+    NDalicPINVOKE.Actor_GetPadding(swigCPtr, PaddingType.getCPtr(paddingOut));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetMinimumSize(Vector2 size) {
+    NDalicPINVOKE.Actor_SetMinimumSize(swigCPtr, Vector2.getCPtr(size));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector2 GetMinimumSize() {
+    Vector2 ret = new Vector2(NDalicPINVOKE.Actor_GetMinimumSize(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetMaximumSize(Vector2 size) {
+    NDalicPINVOKE.Actor_SetMaximumSize(swigCPtr, Vector2.getCPtr(size));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector2 GetMaximumSize() {
+    Vector2 ret = new Vector2(NDalicPINVOKE.Actor_GetMaximumSize(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public int GetHierarchyDepth() {
+    int ret = NDalicPINVOKE.Actor_GetHierarchyDepth(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint AddRenderer(Renderer renderer) {
+    uint ret = NDalicPINVOKE.Actor_AddRenderer(swigCPtr, Renderer.getCPtr(renderer));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetRendererCount() {
+    uint ret = NDalicPINVOKE.Actor_GetRendererCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Renderer GetRendererAt(uint index) {
+    Renderer ret = new Renderer(NDalicPINVOKE.Actor_GetRendererAt(swigCPtr, index), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void RemoveRenderer(Renderer renderer) {
+    NDalicPINVOKE.Actor_RemoveRenderer__SWIG_0(swigCPtr, Renderer.getCPtr(renderer));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RemoveRenderer(uint index) {
+    NDalicPINVOKE.Actor_RemoveRenderer__SWIG_1(swigCPtr, index);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public SWIGTYPE_p_Dali__SignalT_bool_fDali__Actor_Dali__TouchEvent_const_RF_t TouchedSignal() {
+    SWIGTYPE_p_Dali__SignalT_bool_fDali__Actor_Dali__TouchEvent_const_RF_t ret = new SWIGTYPE_p_Dali__SignalT_bool_fDali__Actor_Dali__TouchEvent_const_RF_t(NDalicPINVOKE.Actor_TouchedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ActorTouchDataSignal TouchSignal() {
+    ActorTouchDataSignal ret = new ActorTouchDataSignal(NDalicPINVOKE.Actor_TouchSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ActorHoverSignal HoveredSignal() {
+    ActorHoverSignal ret = new ActorHoverSignal(NDalicPINVOKE.Actor_HoveredSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ActorWheelSignal WheelEventSignal() {
+    ActorWheelSignal ret = new ActorWheelSignal(NDalicPINVOKE.Actor_WheelEventSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ActorSignal OnStageSignal() {
+    ActorSignal ret = new ActorSignal(NDalicPINVOKE.Actor_OnStageSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ActorSignal OffStageSignal() {
+    ActorSignal ret = new ActorSignal(NDalicPINVOKE.Actor_OffStageSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ActorSignal OnRelayoutSignal() {
+    ActorSignal ret = new ActorSignal(NDalicPINVOKE.Actor_OnRelayoutSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector3 ParentOrigin
+  {
+    get
+    {
+      Vector3 temp = new Vector3(0.0f,0.0f,0.0f);
+      GetProperty( Actor.Property.PARENT_ORIGIN).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.PARENT_ORIGIN, new Dali.Property.Value( value ) );
+    }
+  }
+  public float ParentOriginX
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Actor.Property.PARENT_ORIGIN_X).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.PARENT_ORIGIN_X, new Dali.Property.Value( value ) );
+    }
+  }
+  public float ParentOriginY
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Actor.Property.PARENT_ORIGIN_Y).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.PARENT_ORIGIN_Y, new Dali.Property.Value( value ) );
+    }
+  }
+  public float ParentOriginZ
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Actor.Property.PARENT_ORIGIN_Z).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.PARENT_ORIGIN_Z, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector3 AnchorPoint
+  {
+    get
+    {
+      Vector3 temp = new Vector3(0.0f,0.0f,0.0f);
+      GetProperty( Actor.Property.ANCHOR_POINT).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.ANCHOR_POINT, new Dali.Property.Value( value ) );
+    }
+  }
+  public float AnchorPointX
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Actor.Property.ANCHOR_POINT_X).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.ANCHOR_POINT_X, new Dali.Property.Value( value ) );
+    }
+  }
+  public float AnchorPointY
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Actor.Property.ANCHOR_POINT_Y).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.ANCHOR_POINT_Y, new Dali.Property.Value( value ) );
+    }
+  }
+  public float AnchorPointZ
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Actor.Property.ANCHOR_POINT_Z).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.ANCHOR_POINT_Z, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector3 Size
+  {
+    get
+    {
+      Vector3 temp = new Vector3(0.0f,0.0f,0.0f);
+      GetProperty( Actor.Property.SIZE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.SIZE, new Dali.Property.Value( value ) );
+    }
+  }
+  public float SizeWidth
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Actor.Property.SIZE_WIDTH).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.SIZE_WIDTH, new Dali.Property.Value( value ) );
+    }
+  }
+  public float SizeHeight
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Actor.Property.SIZE_HEIGHT).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.SIZE_HEIGHT, new Dali.Property.Value( value ) );
+    }
+  }
+  public float SizeDepth
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Actor.Property.SIZE_DEPTH).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.SIZE_DEPTH, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector3 Position
+  {
+    get
+    {
+      Vector3 temp = new Vector3(0.0f,0.0f,0.0f);
+      GetProperty( Actor.Property.POSITION).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.POSITION, new Dali.Property.Value( value ) );
+    }
+  }
+  public float PositionX
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Actor.Property.POSITION_X).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.POSITION_X, new Dali.Property.Value( value ) );
+    }
+  }
+  public float PositionY
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Actor.Property.POSITION_Y).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.POSITION_Y, new Dali.Property.Value( value ) );
+    }
+  }
+  public float PositionZ
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Actor.Property.POSITION_Z).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.POSITION_Z, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector3 WorldPosition
+  {
+    get
+    {
+      Vector3 temp = new Vector3(0.0f,0.0f,0.0f);
+      GetProperty( Actor.Property.WORLD_POSITION).Get(  temp );
+      return temp;
+    }
+}  public float WorldPositionX
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Actor.Property.WORLD_POSITION_X).Get( ref temp );
+      return temp;
+    }
+}  public float WorldPositionY
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Actor.Property.WORLD_POSITION_Y).Get( ref temp );
+      return temp;
+    }
+}  public float WorldPositionZ
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Actor.Property.WORLD_POSITION_Z).Get( ref temp );
+      return temp;
+    }
+}  public Rotation Orientation
+  {
+    get
+    {
+      Rotation temp = new Rotation();
+      GetProperty( Actor.Property.ORIENTATION).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.ORIENTATION, new Dali.Property.Value( value ) );
+    }
+  }
+  public Rotation WorldOrientation
+  {
+    get
+    {
+      Rotation temp = new Rotation();
+      GetProperty( Actor.Property.WORLD_ORIENTATION).Get(  temp );
+      return temp;
+    }
+}  public Vector3 Scale
+  {
+    get
+    {
+      Vector3 temp = new Vector3(0.0f,0.0f,0.0f);
+      GetProperty( Actor.Property.SCALE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.SCALE, new Dali.Property.Value( value ) );
+    }
+  }
+  public float ScaleX
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Actor.Property.SCALE_X).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.SCALE_X, new Dali.Property.Value( value ) );
+    }
+  }
+  public float ScaleY
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Actor.Property.SCALE_Y).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.SCALE_Y, new Dali.Property.Value( value ) );
+    }
+  }
+  public float ScaleZ
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Actor.Property.SCALE_Z).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.SCALE_Z, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector3 WorldScale
+  {
+    get
+    {
+      Vector3 temp = new Vector3(0.0f,0.0f,0.0f);
+      GetProperty( Actor.Property.WORLD_SCALE).Get(  temp );
+      return temp;
+    }
+}  public bool Visible
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( Actor.Property.VISIBLE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.VISIBLE, new Dali.Property.Value( value ) );
+    }
+  }
+  public float ColorRed
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Actor.Property.COLOR_RED).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.COLOR_RED, new Dali.Property.Value( value ) );
+    }
+  }
+  public float ColorGreen
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Actor.Property.COLOR_GREEN).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.COLOR_GREEN, new Dali.Property.Value( value ) );
+    }
+  }
+  public float ColorBlue
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Actor.Property.COLOR_BLUE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.COLOR_BLUE, new Dali.Property.Value( value ) );
+    }
+  }
+  public float ColorAlpha
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Actor.Property.COLOR_ALPHA).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.COLOR_ALPHA, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector4 WorldColor
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( Actor.Property.WORLD_COLOR).Get(  temp );
+      return temp;
+    }
+}  public Matrix WorldMatrix
+  {
+    get
+    {
+      Matrix temp = new Matrix();
+      GetProperty( Actor.Property.WORLD_MATRIX).Get(  temp );
+      return temp;
+    }
+}  public string Name
+  {
+    get
+    {
+      string temp;
+      GetProperty( Actor.Property.NAME).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.NAME, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool Sensitive
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( Actor.Property.SENSITIVE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.SENSITIVE, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool LeaveRequired
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( Actor.Property.LEAVE_REQUIRED).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.LEAVE_REQUIRED, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool InheritOrientation
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( Actor.Property.INHERIT_ORIENTATION).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.INHERIT_ORIENTATION, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool InheritScale
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( Actor.Property.INHERIT_SCALE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.INHERIT_SCALE, new Dali.Property.Value( value ) );
+    }
+  }
+  public string ColorMode
+  {
+    get
+    {
+      string temp;
+      GetProperty( Actor.Property.COLOR_MODE).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.COLOR_MODE, new Dali.Property.Value( value ) );
+    }
+  }
+  public string PositionInheritance
+  {
+    get
+    {
+      string temp;
+      GetProperty( Actor.Property.POSITION_INHERITANCE).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.POSITION_INHERITANCE, new Dali.Property.Value( value ) );
+    }
+  }
+  public string DrawMode
+  {
+    get
+    {
+      string temp;
+      GetProperty( Actor.Property.DRAW_MODE).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.DRAW_MODE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector3 SizeModeFactor
+  {
+    get
+    {
+      Vector3 temp = new Vector3(0.0f,0.0f,0.0f);
+      GetProperty( Actor.Property.SIZE_MODE_FACTOR).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.SIZE_MODE_FACTOR, new Dali.Property.Value( value ) );
+    }
+  }
+  public string WidthResizePolicy
+  {
+    get
+    {
+      string temp;
+      GetProperty( Actor.Property.WIDTH_RESIZE_POLICY).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.WIDTH_RESIZE_POLICY, new Dali.Property.Value( value ) );
+    }
+  }
+  public string HeightResizePolicy
+  {
+    get
+    {
+      string temp;
+      GetProperty( Actor.Property.HEIGHT_RESIZE_POLICY).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.HEIGHT_RESIZE_POLICY, new Dali.Property.Value( value ) );
+    }
+  }
+  public string SizeScalePolicy
+  {
+    get
+    {
+      string temp;
+      GetProperty( Actor.Property.SIZE_SCALE_POLICY).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.SIZE_SCALE_POLICY, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool WidthForHeight
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( Actor.Property.WIDTH_FOR_HEIGHT).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.WIDTH_FOR_HEIGHT, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool HeightForWidth
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( Actor.Property.HEIGHT_FOR_WIDTH).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.HEIGHT_FOR_WIDTH, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector4 Padding
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( Actor.Property.PADDING).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.PADDING, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector2 MinimumSize
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( Actor.Property.MINIMUM_SIZE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.MINIMUM_SIZE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector2 MaximumSize
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( Actor.Property.MAXIMUM_SIZE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.MAXIMUM_SIZE, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool InheritPosition
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( Actor.Property.INHERIT_POSITION).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.INHERIT_POSITION, new Dali.Property.Value( value ) );
+    }
+  }
+  public string ClippingMode
+  {
+    get
+    {
+      string temp;
+      GetProperty( Actor.Property.CLIPPING_MODE).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Actor.Property.CLIPPING_MODE, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ActorContainer.cs b/plugins/dali-sharp/sharp/internal/ActorContainer.cs
new file mode 100644 (file)
index 0000000..79944f3
--- /dev/null
@@ -0,0 +1,321 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ActorContainer : global::System.IDisposable, global::System.Collections.IEnumerable
+    , global::System.Collections.Generic.IEnumerable<Actor>
+ {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal ActorContainer(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(ActorContainer obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ActorContainer() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ActorContainer(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public ActorContainer(global::System.Collections.ICollection c) : this() {
+    if (c == null)
+      throw new global::System.ArgumentNullException("c");
+    foreach (Actor element in c) {
+      this.Add(element);
+    }
+  }
+
+  public bool IsFixedSize {
+    get {
+      return false;
+    }
+  }
+
+  public bool IsReadOnly {
+    get {
+      return false;
+    }
+  }
+
+  public Actor this[int index]  {
+    get {
+      return getitem(index);
+    }
+    set {
+      setitem(index, value);
+    }
+  }
+
+  public int Capacity {
+    get {
+      return (int)capacity();
+    }
+    set {
+      if (value < size())
+        throw new global::System.ArgumentOutOfRangeException("Capacity");
+      reserve((uint)value);
+    }
+  }
+
+  public int Count {
+    get {
+      return (int)size();
+    }
+  }
+
+  public bool IsSynchronized {
+    get {
+      return false;
+    }
+  }
+
+  public void CopyTo(Actor[] array)
+  {
+    CopyTo(0, array, 0, this.Count);
+  }
+
+  public void CopyTo(Actor[] array, int arrayIndex)
+  {
+    CopyTo(0, array, arrayIndex, this.Count);
+  }
+
+  public void CopyTo(int index, Actor[] array, int arrayIndex, int count)
+  {
+    if (array == null)
+      throw new global::System.ArgumentNullException("array");
+    if (index < 0)
+      throw new global::System.ArgumentOutOfRangeException("index", "Value is less than zero");
+    if (arrayIndex < 0)
+      throw new global::System.ArgumentOutOfRangeException("arrayIndex", "Value is less than zero");
+    if (count < 0)
+      throw new global::System.ArgumentOutOfRangeException("count", "Value is less than zero");
+    if (array.Rank > 1)
+      throw new global::System.ArgumentException("Multi dimensional array.", "array");
+    if (index+count > this.Count || arrayIndex+count > array.Length)
+      throw new global::System.ArgumentException("Number of elements to copy is too large.");
+    for (int i=0; i<count; i++)
+      array.SetValue(getitemcopy(index+i), arrayIndex+i);
+  }
+
+  global::System.Collections.Generic.IEnumerator<Actor> global::System.Collections.Generic.IEnumerable<Actor>.GetEnumerator() {
+    return new ActorContainerEnumerator(this);
+  }
+
+  global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator() {
+    return new ActorContainerEnumerator(this);
+  }
+
+  public ActorContainerEnumerator GetEnumerator() {
+    return new ActorContainerEnumerator(this);
+  }
+
+  // Type-safe enumerator
+  /// Note that the IEnumerator documentation requires an InvalidOperationException to be thrown
+  /// whenever the collection is modified. This has been done for changes in the size of the
+  /// collection but not when one of the elements of the collection is modified as it is a bit
+  /// tricky to detect unmanaged code that modifies the collection under our feet.
+  public sealed class ActorContainerEnumerator : global::System.Collections.IEnumerator
+    , global::System.Collections.Generic.IEnumerator<Actor>
+  {
+    private ActorContainer collectionRef;
+    private int currentIndex;
+    private object currentObject;
+    private int currentSize;
+
+    public ActorContainerEnumerator(ActorContainer collection) {
+      collectionRef = collection;
+      currentIndex = -1;
+      currentObject = null;
+      currentSize = collectionRef.Count;
+    }
+
+    // Type-safe iterator Current
+    public Actor Current {
+      get {
+        if (currentIndex == -1)
+          throw new global::System.InvalidOperationException("Enumeration not started.");
+        if (currentIndex > currentSize - 1)
+          throw new global::System.InvalidOperationException("Enumeration finished.");
+        if (currentObject == null)
+          throw new global::System.InvalidOperationException("Collection modified.");
+        return (Actor)currentObject;
+      }
+    }
+
+    // Type-unsafe IEnumerator.Current
+    object global::System.Collections.IEnumerator.Current {
+      get {
+        return Current;
+      }
+    }
+
+    public bool MoveNext() {
+      int size = collectionRef.Count;
+      bool moveOkay = (currentIndex+1 < size) && (size == currentSize);
+      if (moveOkay) {
+        currentIndex++;
+        currentObject = collectionRef[currentIndex];
+      } else {
+        currentObject = null;
+      }
+      return moveOkay;
+    }
+
+    public void Reset() {
+      currentIndex = -1;
+      currentObject = null;
+      if (collectionRef.Count != currentSize) {
+        throw new global::System.InvalidOperationException("Collection modified.");
+      }
+    }
+
+    public void Dispose() {
+        currentIndex = -1;
+        currentObject = null;
+    }
+  }
+
+  public void Clear() {
+    NDalicPINVOKE.ActorContainer_Clear(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Add(Actor x) {
+    NDalicPINVOKE.ActorContainer_Add(swigCPtr, Actor.getCPtr(x));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  private uint size() {
+    uint ret = NDalicPINVOKE.ActorContainer_size(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private uint capacity() {
+    uint ret = NDalicPINVOKE.ActorContainer_capacity(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private void reserve(uint n) {
+    NDalicPINVOKE.ActorContainer_reserve(swigCPtr, n);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ActorContainer() : this(NDalicPINVOKE.new_ActorContainer__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ActorContainer(ActorContainer other) : this(NDalicPINVOKE.new_ActorContainer__SWIG_1(ActorContainer.getCPtr(other)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ActorContainer(int capacity) : this(NDalicPINVOKE.new_ActorContainer__SWIG_2(capacity), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  private Actor getitemcopy(int index) {
+    Actor ret = new Actor(NDalicPINVOKE.ActorContainer_getitemcopy(swigCPtr, index), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Actor getitem(int index) {
+    Actor ret = new Actor(NDalicPINVOKE.ActorContainer_getitem(swigCPtr, index), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private void setitem(int index, Actor val) {
+    NDalicPINVOKE.ActorContainer_setitem(swigCPtr, index, Actor.getCPtr(val));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AddRange(ActorContainer values) {
+    NDalicPINVOKE.ActorContainer_AddRange(swigCPtr, ActorContainer.getCPtr(values));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ActorContainer GetRange(int index, int count) {
+    global::System.IntPtr cPtr = NDalicPINVOKE.ActorContainer_GetRange(swigCPtr, index, count);
+    ActorContainer ret = (cPtr == global::System.IntPtr.Zero) ? null : new ActorContainer(cPtr, true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Insert(int index, Actor x) {
+    NDalicPINVOKE.ActorContainer_Insert(swigCPtr, index, Actor.getCPtr(x));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void InsertRange(int index, ActorContainer values) {
+    NDalicPINVOKE.ActorContainer_InsertRange(swigCPtr, index, ActorContainer.getCPtr(values));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RemoveAt(int index) {
+    NDalicPINVOKE.ActorContainer_RemoveAt(swigCPtr, index);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RemoveRange(int index, int count) {
+    NDalicPINVOKE.ActorContainer_RemoveRange(swigCPtr, index, count);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static ActorContainer Repeat(Actor value, int count) {
+    global::System.IntPtr cPtr = NDalicPINVOKE.ActorContainer_Repeat(Actor.getCPtr(value), count);
+    ActorContainer ret = (cPtr == global::System.IntPtr.Zero) ? null : new ActorContainer(cPtr, true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Reverse() {
+    NDalicPINVOKE.ActorContainer_Reverse__SWIG_0(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Reverse(int index, int count) {
+    NDalicPINVOKE.ActorContainer_Reverse__SWIG_1(swigCPtr, index, count);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetRange(int index, ActorContainer values) {
+    NDalicPINVOKE.ActorContainer_SetRange(swigCPtr, index, ActorContainer.getCPtr(values));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ActorHoverSignal.cs b/plugins/dali-sharp/sharp/internal/ActorHoverSignal.cs
new file mode 100644 (file)
index 0000000..975bb82
--- /dev/null
@@ -0,0 +1,89 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ActorHoverSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal ActorHoverSignal(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(ActorHoverSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ActorHoverSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ActorHoverSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.ActorHoverSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.ActorHoverSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ActorHoverSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ActorHoverSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public bool Emit(Actor arg1, Hover arg2) {
+    bool ret = NDalicPINVOKE.ActorHoverSignal_Emit(swigCPtr, Actor.getCPtr(arg1), Hover.getCPtr(arg2));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ActorHoverSignal() : this(NDalicPINVOKE.new_ActorHoverSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ActorSignal.cs b/plugins/dali-sharp/sharp/internal/ActorSignal.cs
new file mode 100644 (file)
index 0000000..88ddb5c
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ActorSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal ActorSignal(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(ActorSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ActorSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ActorSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.ActorSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.ActorSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ActorSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ActorSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(Actor arg) {
+    NDalicPINVOKE.ActorSignal_Emit(swigCPtr, Actor.getCPtr(arg));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ActorSignal() : this(NDalicPINVOKE.new_ActorSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ActorTouchDataSignal.cs b/plugins/dali-sharp/sharp/internal/ActorTouchDataSignal.cs
new file mode 100644 (file)
index 0000000..a084314
--- /dev/null
@@ -0,0 +1,89 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ActorTouchDataSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal ActorTouchDataSignal(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(ActorTouchDataSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ActorTouchDataSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ActorTouchDataSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.ActorTouchDataSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.ActorTouchDataSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ActorTouchDataSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ActorTouchDataSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public bool Emit(Actor arg1, Touch arg2) {
+    bool ret = NDalicPINVOKE.ActorTouchDataSignal_Emit(swigCPtr, Actor.getCPtr(arg1), Touch.getCPtr(arg2));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ActorTouchDataSignal() : this(NDalicPINVOKE.new_ActorTouchDataSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ActorWheelSignal.cs b/plugins/dali-sharp/sharp/internal/ActorWheelSignal.cs
new file mode 100644 (file)
index 0000000..5998a64
--- /dev/null
@@ -0,0 +1,89 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ActorWheelSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal ActorWheelSignal(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(ActorWheelSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ActorWheelSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ActorWheelSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.ActorWheelSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.ActorWheelSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ActorWheelSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ActorWheelSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public bool Emit(Actor arg1, Wheel arg2) {
+    bool ret = NDalicPINVOKE.ActorWheelSignal_Emit(swigCPtr, Actor.getCPtr(arg1), Wheel.getCPtr(arg2));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ActorWheelSignal() : this(NDalicPINVOKE.new_ActorWheelSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/AlignType.cs b/plugins/dali-sharp/sharp/internal/AlignType.cs
new file mode 100644 (file)
index 0000000..5c2eb6e
--- /dev/null
@@ -0,0 +1,25 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum AlignType {
+  TOP_BEGIN = 0,
+  TOP_CENTER,
+  TOP_END,
+  CENTER_BEGIN,
+  CENTER,
+  CENTER_END,
+  BOTTOM_BEGIN,
+  BOTTOM_CENTER,
+  BOTTOM_END
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Alignment.cs b/plugins/dali-sharp/sharp/internal/Alignment.cs
new file mode 100644 (file)
index 0000000..e2567e0
--- /dev/null
@@ -0,0 +1,233 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+internal class Alignment : View {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal Alignment(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Alignment_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Alignment obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Alignment() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_Alignment(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public class Padding : global::System.IDisposable {
+    private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+    protected bool swigCMemOwn;
+  
+    internal Padding(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(Padding obj) {
+      return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+    }
+  
+    ~Padding() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_Alignment_Padding(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Padding() : this(NDalicPINVOKE.new_Alignment_Padding__SWIG_0(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public Padding(float l, float r, float t, float b) : this(NDalicPINVOKE.new_Alignment_Padding__SWIG_1(l, r, t, b), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public float left {
+      set {
+        NDalicPINVOKE.Alignment_Padding_left_set(swigCPtr, value);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      } 
+      get {
+        float ret = NDalicPINVOKE.Alignment_Padding_left_get(swigCPtr);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      } 
+    }
+  
+    public float right {
+      set {
+        NDalicPINVOKE.Alignment_Padding_right_set(swigCPtr, value);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      } 
+      get {
+        float ret = NDalicPINVOKE.Alignment_Padding_right_get(swigCPtr);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      } 
+    }
+  
+    public float top {
+      set {
+        NDalicPINVOKE.Alignment_Padding_top_set(swigCPtr, value);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      } 
+      get {
+        float ret = NDalicPINVOKE.Alignment_Padding_top_get(swigCPtr);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      } 
+    }
+  
+    public float bottom {
+      set {
+        NDalicPINVOKE.Alignment_Padding_bottom_set(swigCPtr, value);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      } 
+      get {
+        float ret = NDalicPINVOKE.Alignment_Padding_bottom_get(swigCPtr);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      } 
+    }
+  
+  }
+
+  public Alignment (Alignment.Type horizontal, Alignment.Type vertical) : this (NDalicPINVOKE.Alignment_New__SWIG_0((int)horizontal, (int)vertical), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public Alignment (Alignment.Type horizontal) : this (NDalicPINVOKE.Alignment_New__SWIG_1((int)horizontal), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public Alignment () : this (NDalicPINVOKE.Alignment_New__SWIG_2(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public Alignment(Alignment alignment) : this(NDalicPINVOKE.new_Alignment__SWIG_1(Alignment.getCPtr(alignment)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public new static Alignment DownCast(BaseHandle handle) {
+    Alignment ret = new Alignment(NDalicPINVOKE.Alignment_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetAlignmentType(Alignment.Type type) {
+    NDalicPINVOKE.Alignment_SetAlignmentType(swigCPtr, (int)type);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Alignment.Type GetAlignmentType() {
+    Alignment.Type ret = (Alignment.Type)NDalicPINVOKE.Alignment_GetAlignmentType(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetScaling(Alignment.Scaling scaling) {
+    NDalicPINVOKE.Alignment_SetScaling(swigCPtr, (int)scaling);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Alignment.Scaling GetScaling() {
+    Alignment.Scaling ret = (Alignment.Scaling)NDalicPINVOKE.Alignment_GetScaling(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetPadding(Alignment.Padding padding) {
+    NDalicPINVOKE.Alignment_SetPadding(swigCPtr, Alignment.Padding.getCPtr(padding));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Alignment.Padding GetPadding() {
+    Alignment.Padding ret = new Alignment.Padding(NDalicPINVOKE.Alignment_GetPadding(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Alignment Assign(Alignment alignment) {
+    Alignment ret = new Alignment(NDalicPINVOKE.Alignment_Assign(swigCPtr, Alignment.getCPtr(alignment)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum Type {
+    HorizontalLeft = 1,
+    HorizontalCenter = 2,
+    HorizontalRight = 4,
+    VerticalTop = 8,
+    VerticalCenter = 16,
+    VerticalBottom = 32
+  }
+
+  public enum Scaling {
+    ScaleNone,
+    ScaleToFill,
+    ScaleToFitKeepAspect,
+    ScaleToFillKeepAspect,
+    ShrinkToFit,
+    ShrinkToFitKeepAspect
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/AlphaFunction.cs b/plugins/dali-sharp/sharp/internal/AlphaFunction.cs
new file mode 100644 (file)
index 0000000..cafca8d
--- /dev/null
@@ -0,0 +1,120 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class AlphaFunction : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  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;
+  }
+
+  ~AlphaFunction() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public AlphaFunction(System.Delegate func) : this(NDalicPINVOKE.new_AlphaFunction__SWIG_2(SWIGTYPE_p_f_float__float.getCPtr(new SWIGTYPE_p_f_float__float(System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func), true))), true)
+  {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public AlphaFunction() : this(NDalicPINVOKE.new_AlphaFunction__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public AlphaFunction(AlphaFunction.BuiltinFunction function) : this(NDalicPINVOKE.new_AlphaFunction__SWIG_1((int)function), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public 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();
+  }
+
+  public AlphaFunction(Vector2 controlPoint0, Vector2 controlPoint1) : this(NDalicPINVOKE.new_AlphaFunction__SWIG_3(Vector2.getCPtr(controlPoint0), Vector2.getCPtr(controlPoint1)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector4 GetBezierControlPoints() {
+    Vector4 ret = new Vector4(NDalicPINVOKE.AlphaFunction_GetBezierControlPoints(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public 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;
+  }
+
+  public AlphaFunction.BuiltinFunction GetBuiltinFunction() {
+    AlphaFunction.BuiltinFunction ret = (AlphaFunction.BuiltinFunction)NDalicPINVOKE.AlphaFunction_GetBuiltinFunction(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AlphaFunction.Mode GetMode() {
+    AlphaFunction.Mode ret = (AlphaFunction.Mode)NDalicPINVOKE.AlphaFunction_GetMode(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum BuiltinFunction {
+    Default,
+    Linear,
+    Reverse,
+    EaseInSquare,
+    EaseOutSquare,
+    EaseIn,
+    EaseOut,
+    EaseInOut,
+    EaseInSine,
+    EaseOutSine,
+    EaseInOutSine,
+    Bounce,
+    Sin,
+    EaseOutBack,
+    Count
+  }
+
+  public enum Mode {
+    CustomFunction = 1,
+    Bezier
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/AngleAxis.cs b/plugins/dali-sharp/sharp/internal/AngleAxis.cs
new file mode 100644 (file)
index 0000000..2da0c64
--- /dev/null
@@ -0,0 +1,85 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class AngleAxis : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal AngleAxis(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(AngleAxis obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~AngleAxis() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_AngleAxis(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public AngleAxis() : this(NDalicPINVOKE.new_AngleAxis__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public AngleAxis(Radian initialAngle, Vector3 initialAxis) : this(NDalicPINVOKE.new_AngleAxis__SWIG_1(Radian.getCPtr(initialAngle), Vector3.getCPtr(initialAxis)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Radian angle {
+    set {
+      NDalicPINVOKE.AngleAxis_angle_set(swigCPtr, Radian.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.AngleAxis_angle_get(swigCPtr);
+      Radian ret = (cPtr == global::System.IntPtr.Zero) ? null : new Radian(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public Vector3 axis {
+    set {
+      NDalicPINVOKE.AngleAxis_axis_set(swigCPtr, Vector3.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.AngleAxis_axis_get(swigCPtr);
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/AngleThresholdPair.cs b/plugins/dali-sharp/sharp/internal/AngleThresholdPair.cs
new file mode 100644 (file)
index 0000000..8cce262
--- /dev/null
@@ -0,0 +1,83 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class AngleThresholdPair : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal AngleThresholdPair(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(AngleThresholdPair obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~AngleThresholdPair() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_AngleThresholdPair(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+  public AngleThresholdPair() : this(NDalicPINVOKE.new_AngleThresholdPair__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public AngleThresholdPair(Radian t, Radian u) : this(NDalicPINVOKE.new_AngleThresholdPair__SWIG_1(Radian.getCPtr(t), Radian.getCPtr(u)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public AngleThresholdPair(AngleThresholdPair p) : this(NDalicPINVOKE.new_AngleThresholdPair__SWIG_2(AngleThresholdPair.getCPtr(p)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Radian first {
+    set {
+      NDalicPINVOKE.AngleThresholdPair_first_set(swigCPtr, Radian.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.AngleThresholdPair_first_get(swigCPtr);
+      Radian ret = (cPtr == global::System.IntPtr.Zero) ? null : new Radian(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public Radian second {
+    set {
+      NDalicPINVOKE.AngleThresholdPair_second_set(swigCPtr, Radian.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.AngleThresholdPair_second_get(swigCPtr);
+      Radian ret = (cPtr == global::System.IntPtr.Zero) ? null : new Radian(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/AnimatablePropertyComponentRegistration.cs b/plugins/dali-sharp/sharp/internal/AnimatablePropertyComponentRegistration.cs
new file mode 100644 (file)
index 0000000..4132ae1
--- /dev/null
@@ -0,0 +1,55 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class AnimatablePropertyComponentRegistration : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal AnimatablePropertyComponentRegistration(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(AnimatablePropertyComponentRegistration obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~AnimatablePropertyComponentRegistration() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_AnimatablePropertyComponentRegistration(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public AnimatablePropertyComponentRegistration(TypeRegistration registered, string name, int index, int baseIndex, uint componentIndex) : this(NDalicPINVOKE.new_AnimatablePropertyComponentRegistration(TypeRegistration.getCPtr(registered), name, index, baseIndex, componentIndex), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/AnimatablePropertyRegistration.cs b/plugins/dali-sharp/sharp/internal/AnimatablePropertyRegistration.cs
new file mode 100644 (file)
index 0000000..a3f9f85
--- /dev/null
@@ -0,0 +1,59 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class AnimatablePropertyRegistration : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal AnimatablePropertyRegistration(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(AnimatablePropertyRegistration obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~AnimatablePropertyRegistration() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_AnimatablePropertyRegistration(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public AnimatablePropertyRegistration(TypeRegistration registered, string name, int index, Property.Type type) : this(NDalicPINVOKE.new_AnimatablePropertyRegistration__SWIG_0(TypeRegistration.getCPtr(registered), name, index, (int)type), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public AnimatablePropertyRegistration(TypeRegistration registered, string name, int index, Property.Value value) : this(NDalicPINVOKE.new_AnimatablePropertyRegistration__SWIG_1(TypeRegistration.getCPtr(registered), name, index, Property.Value.getCPtr(value)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Animation.cs b/plugins/dali-sharp/sharp/internal/Animation.cs
new file mode 100644 (file)
index 0000000..0c42191
--- /dev/null
@@ -0,0 +1,793 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+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);
+  }
+
+  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;
+  }
+
+  ~Animation() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+
+    private EventCallbackDelegateType1<IntPtr> _animationFinishedEventCallbackDelegate;
+    private event EventHandler _animationFinishedEventHandler;
+
+    /**
+      * @brief Event for Finished signal which can be used to subscribe/unsubscribe the event handler
+      * Finished signal is emitted when an Animation's animations have finished.
+      */
+    public event EventHandler Finished
+    {
+      add
+      {
+        lock(this)
+        {
+          _animationFinishedEventHandler += value;
+          _animationFinishedEventCallbackDelegate = OnFinished;
+          this.FinishedSignal().Connect(_animationFinishedEventCallbackDelegate);
+        }
+      }
+      remove
+      {
+        lock(this)
+        {
+          if (_animationFinishedEventHandler != null)
+          {
+            this.FinishedSignal().Disconnect(_animationFinishedEventCallbackDelegate);
+          }
+          _animationFinishedEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for Animation FinishedSignal
+    private void OnFinished(IntPtr data)
+    {
+      if (_animationFinishedEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        _animationFinishedEventHandler(this, null);
+      }
+    }
+
+  public static Animation GetAnimationFromPtr(global::System.IntPtr cPtr) {
+    Animation ret = new Animation(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private float MilliSecondsToSeconds( int millisec )
+  {
+    return (float)millisec / 1000.0f;
+  }
+
+  private int SecondsToMilliSeconds( float sec )
+  {
+    return (int)( sec * 1000 );
+  }
+
+  public int Duration
+  {
+    set
+    {
+      SetDuration( MilliSecondsToSeconds( value ) );
+    }
+    get
+    {
+      return SecondsToMilliSeconds( GetDuration() );
+    }
+  }
+
+  public AlphaFunction DefaultAlphaFunction
+  {
+    set
+    {
+       SetDefaultAlphaFunction(value);
+    }
+    get
+    {
+       AlphaFunction ret = GetDefaultAlphaFunction();
+       return ret;
+    }
+  }
+
+  public Animation.State Status
+  {
+    get
+    {
+       return GetState();
+    }
+  }
+
+  public int LoopCount
+  {
+    set
+    {
+      SetLoopCount(value);
+    }
+    get
+    {
+      int ret = GetLoopCount();
+      return ret;
+    }
+  }
+
+  public bool Looping
+  {
+    set
+    {
+      SetLooping(value);
+    }
+    get
+    {
+      bool ret = IsLooping();
+      return ret;
+    }
+  }
+
+  public Animation.EndActions EndAction
+  {
+    set
+    {
+      SetEndAction(value);
+    }
+    get
+    {
+      return GetEndAction();
+    }
+  }
+
+  public void Stop(Animation.EndActions action) 
+  {
+    SetEndAction(action);
+    NDalicPINVOKE.Animation_Stop(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public int StartTime { set; get; }
+  public int EndTime { set; get; }
+  public string TargetProperty { set; get; }
+  public object Destination { set; get; }
+  public Dali.AlphaFunction AlphaFunction { set; get; }
+
+
+  public void AnimateBy(Actor target)
+  {
+    string _str1 = TargetProperty.Substring(0, 1);
+    string _str2 = TargetProperty.Substring(1);
+    string _str = _str1.ToLower() + _str2;
+
+    dynamic obj = (object)Destination;
+
+    if( this.AlphaFunction != null )
+    {
+      if( this.StartTime == 0 && this.EndTime == 0 )
+      {
+        AnimateBy(new Property(target, _str), new Property.Value(obj), this.AlphaFunction );
+      }
+      else
+      {
+        Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+        AnimateBy(new Property(target, _str), new Property.Value(obj), this.AlphaFunction, time );
+      }
+    }
+    else
+    {
+      if( this.StartTime == 0 && this.EndTime == 0 )
+      {
+        AnimateBy(new Property(target, _str), new Property.Value(obj) );
+      }
+      else
+      {
+        Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+        AnimateBy(new Property(target, _str), new Property.Value(obj), time );
+      }
+    }
+  }
+
+  public void AnimateBy(Actor target, string propertyIndex)
+  {
+    string _str1 = propertyIndex.Substring(0, 1);
+    string _str2 = propertyIndex.Substring(1);
+    string _str = _str1.ToLower() + _str2;
+
+    dynamic obj = (object)Destination;
+
+    if( this.AlphaFunction != null )
+    {
+      if( this.StartTime == 0 && this.EndTime == 0 )
+      {
+        AnimateBy(new Property(target, _str), new Property.Value(obj), this.AlphaFunction );
+      }
+      else
+      {
+        Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+        AnimateBy(new Property(target, _str), new Property.Value(obj), this.AlphaFunction, time );
+      }
+    }
+    else
+    {
+      if( this.StartTime == 0 && this.EndTime == 0 )
+      {
+        AnimateBy(new Property(target, _str), new Property.Value(obj) );
+      }
+      else
+      {
+        Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+        AnimateBy(new Property(target, _str), new Property.Value(obj), time );
+      }
+    }
+  }
+
+  public void AnimateBy(Actor target, string propertyIndex, object relativeValue)
+  {
+    string _str1 = propertyIndex.Substring(0, 1);
+    string _str2 = propertyIndex.Substring(1);
+    string _str = _str1.ToLower() + _str2;
+
+    dynamic obj = (object)relativeValue;
+
+    if( this.AlphaFunction != null )
+    {
+      if( this.StartTime == 0 && this.EndTime == 0 )
+      {
+        AnimateBy(new Property(target, _str), new Property.Value(obj), this.AlphaFunction );
+      }
+      else
+      {
+        Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+        AnimateBy(new Property(target, _str), new Property.Value(obj), this.AlphaFunction, time );
+      }
+    }
+    else
+    {
+      if( this.StartTime == 0 && this.EndTime == 0 )
+      {
+        AnimateBy(new Property(target, _str), new Property.Value(obj) );
+      }
+      else
+      {
+        Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+        AnimateBy(new Property(target, _str), new Property.Value(obj), time );
+      }
+    }
+  }
+
+  public void AnimateTo(Actor target)
+  {
+    string _str1 = TargetProperty.Substring(0, 1);
+    string _str2 = TargetProperty.Substring(1);
+    string _str = _str1.ToLower() + _str2;
+
+    dynamic obj = (object)Destination;
+
+    if( this.AlphaFunction != null )
+    {
+      if( this.StartTime == 0 && this.EndTime == 0 )
+      {
+        AnimateTo(new Property(target, _str), new Property.Value(obj), this.AlphaFunction );
+      }
+      else
+      {
+        Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+        AnimateTo(new Property(target, _str), new Property.Value(obj), this.AlphaFunction, time );
+      }
+    }
+    else
+    {
+      if( this.StartTime == 0 && this.EndTime == 0 )
+      {
+        AnimateTo(new Property(target, _str), new Property.Value(obj) );
+      }
+      else
+      {
+        Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+        AnimateTo(new Property(target, _str), new Property.Value(obj), time );
+      }
+    }
+  }
+
+  public void AnimateTo(Actor target, string propertyIndex)
+  {
+    string _str1 = propertyIndex.Substring(0, 1);
+    string _str2 = propertyIndex.Substring(1);
+    string _str = _str1.ToLower() + _str2;
+
+    dynamic obj = (object)Destination;
+
+    if( this.AlphaFunction != null )
+    {
+      if( this.StartTime == 0 && this.EndTime == 0 )
+      {
+        AnimateTo(new Property(target, _str), new Property.Value(obj), this.AlphaFunction );
+      }
+      else
+      {
+        Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+        AnimateTo(new Property(target, _str), new Property.Value(obj), this.AlphaFunction, time );
+      }
+    }
+    else
+    {
+      if( this.StartTime == 0 && this.EndTime == 0 )
+      {
+        AnimateTo(new Property(target, _str), new Property.Value(obj) );
+      }
+      else
+      {
+        Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+        AnimateTo(new Property(target, _str), new Property.Value(obj), time );
+      }
+    }
+  }
+
+  public void AnimateTo(Actor target, string propertyIndex, object destinationValue)
+  {
+    string _str1 = propertyIndex.Substring(0, 1);
+    string _str2 = propertyIndex.Substring(1);
+    string _str = _str1.ToLower() + _str2;
+
+    dynamic obj = (object)destinationValue;
+
+    if( this.AlphaFunction != null )
+    {
+      if( this.StartTime == 0 && this.EndTime == 0 )
+      {
+        AnimateTo(new Property(target, _str), new Property.Value(obj), this.AlphaFunction );
+      }
+      else
+      {
+        Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+        AnimateTo(new Property(target, _str), new Property.Value(obj), this.AlphaFunction, time );
+      }
+    }
+    else
+    {
+      if( this.StartTime == 0 && this.EndTime == 0 )
+      {
+        AnimateTo(new Property(target, _str), new Property.Value(obj) );
+      }
+      else
+      {
+        Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+        AnimateTo(new Property(target, _str), new Property.Value(obj), time );
+      }
+    }
+  }
+
+  public void AnimateBetween(Actor target, KeyFrames keyFrames)
+  {
+    string _str1 = TargetProperty.Substring(0, 1);
+    string _str2 = TargetProperty.Substring(1);
+    string _str = _str1.ToLower() + _str2;
+
+
+    if( this.AlphaFunction != null )
+    {
+      if( this.StartTime == 0 && this.EndTime == 0 )
+      {
+        AnimateBetween(new Property(target, _str), keyFrames, this.AlphaFunction);
+      }
+      else
+      {
+        Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+        AnimateBetween(new Property(target, _str), keyFrames, this.AlphaFunction, time);
+      }
+    }
+    else
+    {
+      if( this.StartTime == 0 && this.EndTime == 0 )
+      {
+        AnimateBetween(new Property(target, _str), keyFrames);
+      }
+      else
+      {
+        Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+        AnimateBetween(new Property(target, _str), keyFrames, time);
+      }
+    }
+  }
+
+  public void AnimateBetween(Actor target, KeyFrames keyFrames, Animation.Interpolation interpolation)
+  {
+    string _str1 = TargetProperty.Substring(0, 1);
+    string _str2 = TargetProperty.Substring(1);
+    string _str = _str1.ToLower() + _str2;
+
+
+    if( this.AlphaFunction != null )
+    {
+      if( this.StartTime == 0 && this.EndTime == 0 )
+      {
+        AnimateBetween(new Property(target, _str), keyFrames, this.AlphaFunction, interpolation);
+      }
+      else
+      {
+        Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+        AnimateBetween(new Property(target, _str), keyFrames, this.AlphaFunction, time, interpolation);
+      }
+    }
+    else
+    {
+      if( this.StartTime == 0 && this.EndTime == 0 )
+      {
+        AnimateBetween(new Property(target, _str), keyFrames, interpolation);
+      }
+      else
+      {
+        Dali.TimePeriod time = new Dali.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
+        AnimateBetween(new Property(target, _str), keyFrames, time, interpolation);
+      }
+    }
+  }
+
+
+  /**
+   * @brief Create an initialized Animation.
+   *
+   * The animation will not loop.
+   * The default end action is "Bake".
+   * The default Alpha function is linear.
+   * @since 1.0.0
+   * @param [in] durationmSeconds The duration in milli seconds (int).
+   * @return A handle to a newly allocated Dali resource.
+   * @pre DurationmSeconds must be greater than zero.
+   */
+  public Animation (int durationmSeconds) : this (NDalicPINVOKE.Animation_New((float)durationmSeconds/1000.0f), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Animation () : this (NDalicPINVOKE.Animation_New( 0.0f ), true ) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+  
+
+  public Animation (float durationSeconds) : this (NDalicPINVOKE.Animation_New(durationSeconds), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public static Animation DownCast(BaseHandle handle) {
+    Animation ret = new Animation(NDalicPINVOKE.Animation_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Animation(Animation handle) : this(NDalicPINVOKE.new_Animation__SWIG_1(Animation.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Animation Assign(Animation rhs) {
+    Animation ret = new Animation(NDalicPINVOKE.Animation_Assign(swigCPtr, Animation.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetDuration(float seconds) {
+    NDalicPINVOKE.Animation_SetDuration(swigCPtr, seconds);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetDuration() {
+    float ret = NDalicPINVOKE.Animation_GetDuration(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetLooping(bool looping) {
+    NDalicPINVOKE.Animation_SetLooping(swigCPtr, looping);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetLoopCount(int count) {
+    NDalicPINVOKE.Animation_SetLoopCount(swigCPtr, count);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public int GetLoopCount() {
+    int ret = NDalicPINVOKE.Animation_GetLoopCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public int GetCurrentLoop() {
+    int ret = NDalicPINVOKE.Animation_GetCurrentLoop(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool IsLooping() {
+    bool ret = NDalicPINVOKE.Animation_IsLooping(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetEndAction(Animation.EndActions action) {
+    NDalicPINVOKE.Animation_SetEndAction(swigCPtr, (int)action);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Animation.EndActions GetEndAction() {
+    Animation.EndActions ret = (Animation.EndActions)NDalicPINVOKE.Animation_GetEndAction(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetDisconnectAction(Animation.EndActions disconnectAction) {
+    NDalicPINVOKE.Animation_SetDisconnectAction(swigCPtr, (int)disconnectAction);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Animation.EndActions GetDisconnectAction() {
+    Animation.EndActions ret = (Animation.EndActions)NDalicPINVOKE.Animation_GetDisconnectAction(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetDefaultAlphaFunction(AlphaFunction alpha) {
+    NDalicPINVOKE.Animation_SetDefaultAlphaFunction(swigCPtr, AlphaFunction.getCPtr(alpha));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public AlphaFunction GetDefaultAlphaFunction() {
+    AlphaFunction ret = new AlphaFunction(NDalicPINVOKE.Animation_GetDefaultAlphaFunction(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetCurrentProgress(float progress) {
+    NDalicPINVOKE.Animation_SetCurrentProgress(swigCPtr, progress);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetCurrentProgress() {
+    float ret = NDalicPINVOKE.Animation_GetCurrentProgress(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetSpeedFactor(float factor) {
+    NDalicPINVOKE.Animation_SetSpeedFactor(swigCPtr, factor);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetSpeedFactor() {
+    float ret = NDalicPINVOKE.Animation_GetSpeedFactor(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetPlayRange(Vector2 range) {
+    NDalicPINVOKE.Animation_SetPlayRange(swigCPtr, Vector2.getCPtr(range));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector2 GetPlayRange() {
+    Vector2 ret = new Vector2(NDalicPINVOKE.Animation_GetPlayRange(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Play() {
+    NDalicPINVOKE.Animation_Play(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void PlayFrom(float progress) {
+    NDalicPINVOKE.Animation_PlayFrom(swigCPtr, progress);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Pause() {
+    NDalicPINVOKE.Animation_Pause(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Animation.State GetState() {
+    Animation.State ret = (Animation.State)NDalicPINVOKE.Animation_GetState(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Stop() {
+    NDalicPINVOKE.Animation_Stop(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Clear() {
+    NDalicPINVOKE.Animation_Clear(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public AnimationSignal FinishedSignal() {
+    AnimationSignal ret = new AnimationSignal(NDalicPINVOKE.Animation_FinishedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void AnimateBy(Property target, Property.Value relativeValue) {
+    NDalicPINVOKE.Animation_AnimateBy__SWIG_0(swigCPtr, Property.getCPtr(target), Property.Value.getCPtr(relativeValue));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AnimateBy(Property target, Property.Value relativeValue, AlphaFunction alpha) {
+    NDalicPINVOKE.Animation_AnimateBy__SWIG_1(swigCPtr, Property.getCPtr(target), Property.Value.getCPtr(relativeValue), AlphaFunction.getCPtr(alpha));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AnimateBy(Property target, Property.Value relativeValue, TimePeriod period) {
+    NDalicPINVOKE.Animation_AnimateBy__SWIG_2(swigCPtr, Property.getCPtr(target), Property.Value.getCPtr(relativeValue), TimePeriod.getCPtr(period));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AnimateBy(Property target, Property.Value relativeValue, AlphaFunction alpha, TimePeriod period) {
+    NDalicPINVOKE.Animation_AnimateBy__SWIG_3(swigCPtr, Property.getCPtr(target), Property.Value.getCPtr(relativeValue), AlphaFunction.getCPtr(alpha), TimePeriod.getCPtr(period));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AnimateTo(Property target, Property.Value destinationValue) {
+    NDalicPINVOKE.Animation_AnimateTo__SWIG_0(swigCPtr, Property.getCPtr(target), Property.Value.getCPtr(destinationValue));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AnimateTo(Property target, Property.Value destinationValue, AlphaFunction alpha) {
+    NDalicPINVOKE.Animation_AnimateTo__SWIG_1(swigCPtr, Property.getCPtr(target), Property.Value.getCPtr(destinationValue), AlphaFunction.getCPtr(alpha));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AnimateTo(Property target, Property.Value destinationValue, TimePeriod period) {
+    NDalicPINVOKE.Animation_AnimateTo__SWIG_2(swigCPtr, Property.getCPtr(target), Property.Value.getCPtr(destinationValue), TimePeriod.getCPtr(period));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AnimateTo(Property target, Property.Value destinationValue, AlphaFunction alpha, TimePeriod period) {
+    NDalicPINVOKE.Animation_AnimateTo__SWIG_3(swigCPtr, Property.getCPtr(target), Property.Value.getCPtr(destinationValue), AlphaFunction.getCPtr(alpha), TimePeriod.getCPtr(period));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AnimateBetween(Property target, KeyFrames keyFrames) {
+    NDalicPINVOKE.Animation_AnimateBetween__SWIG_0(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AnimateBetween(Property target, KeyFrames keyFrames, Animation.Interpolation interpolation) {
+    NDalicPINVOKE.Animation_AnimateBetween__SWIG_1(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), (int)interpolation);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AnimateBetween(Property target, KeyFrames keyFrames, AlphaFunction alpha) {
+    NDalicPINVOKE.Animation_AnimateBetween__SWIG_2(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), AlphaFunction.getCPtr(alpha));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AnimateBetween(Property target, KeyFrames keyFrames, AlphaFunction alpha, Animation.Interpolation interpolation) {
+    NDalicPINVOKE.Animation_AnimateBetween__SWIG_3(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), AlphaFunction.getCPtr(alpha), (int)interpolation);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AnimateBetween(Property target, KeyFrames keyFrames, TimePeriod period) {
+    NDalicPINVOKE.Animation_AnimateBetween__SWIG_4(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), TimePeriod.getCPtr(period));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AnimateBetween(Property target, KeyFrames keyFrames, TimePeriod period, Animation.Interpolation interpolation) {
+    NDalicPINVOKE.Animation_AnimateBetween__SWIG_5(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), TimePeriod.getCPtr(period), (int)interpolation);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AnimateBetween(Property target, KeyFrames keyFrames, AlphaFunction alpha, TimePeriod period) {
+    NDalicPINVOKE.Animation_AnimateBetween__SWIG_6(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), AlphaFunction.getCPtr(alpha), TimePeriod.getCPtr(period));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AnimateBetween(Property target, KeyFrames keyFrames, AlphaFunction alpha, TimePeriod period, Animation.Interpolation interpolation) {
+    NDalicPINVOKE.Animation_AnimateBetween__SWIG_7(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), AlphaFunction.getCPtr(alpha), TimePeriod.getCPtr(period), (int)interpolation);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Animate(Actor actor, Path path, Vector3 forward) {
+    NDalicPINVOKE.Animation_Animate__SWIG_0(swigCPtr, Actor.getCPtr(actor), Path.getCPtr(path), Vector3.getCPtr(forward));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Animate(Actor actor, Path path, Vector3 forward, AlphaFunction alpha) {
+    NDalicPINVOKE.Animation_Animate__SWIG_1(swigCPtr, Actor.getCPtr(actor), Path.getCPtr(path), Vector3.getCPtr(forward), AlphaFunction.getCPtr(alpha));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Animate(Actor actor, Path path, Vector3 forward, TimePeriod period) {
+    NDalicPINVOKE.Animation_Animate__SWIG_2(swigCPtr, Actor.getCPtr(actor), Path.getCPtr(path), Vector3.getCPtr(forward), TimePeriod.getCPtr(period));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Animate(Actor actor, Path path, Vector3 forward, AlphaFunction alpha, TimePeriod period) {
+    NDalicPINVOKE.Animation_Animate__SWIG_3(swigCPtr, Actor.getCPtr(actor), Path.getCPtr(path), Vector3.getCPtr(forward), AlphaFunction.getCPtr(alpha), TimePeriod.getCPtr(period));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Show(Actor actor, float delaySeconds) {
+    NDalicPINVOKE.Animation_Show(swigCPtr, Actor.getCPtr(actor), delaySeconds);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Hide(Actor actor, float delaySeconds) {
+    NDalicPINVOKE.Animation_Hide(swigCPtr, Actor.getCPtr(actor), delaySeconds);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public enum EndActions {
+    Cancel,
+    Discard,
+    StopFinal
+  }
+
+  public enum Interpolation {
+    Linear,
+    Cubic
+  }
+
+  public enum State {
+    Stopped,
+    Playing,
+    Paused
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/AnimationSignal.cs b/plugins/dali-sharp/sharp/internal/AnimationSignal.cs
new file mode 100644 (file)
index 0000000..5e3d5a5
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class AnimationSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal AnimationSignal(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(AnimationSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~AnimationSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_AnimationSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.AnimationSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.AnimationSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.AnimationSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.AnimationSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(Animation arg) {
+    NDalicPINVOKE.AnimationSignal_Emit(swigCPtr, Animation.getCPtr(arg));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public AnimationSignal() : this(NDalicPINVOKE.new_AnimationSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Any.cs b/plugins/dali-sharp/sharp/internal/Any.cs
new file mode 100644 (file)
index 0000000..b60b9f9
--- /dev/null
@@ -0,0 +1,171 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Any : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal Any(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(Any obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Any() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_Any(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public Any() : this(NDalicPINVOKE.new_Any__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static void AssertAlways(string assertMessage) {
+    NDalicPINVOKE.Any_AssertAlways(assertMessage);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Any(Any any) : this(NDalicPINVOKE.new_Any__SWIG_2(Any.getCPtr(any)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Any Assign(Any any) {
+    Any ret = new Any(NDalicPINVOKE.Any_Assign(swigCPtr, Any.getCPtr(any)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SWIGTYPE_p_std__type_info GetType() {
+    SWIGTYPE_p_std__type_info ret = new SWIGTYPE_p_std__type_info(NDalicPINVOKE.Any_GetType(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.Any_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public class AnyContainerBase : global::System.IDisposable {
+    private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+    protected bool swigCMemOwn;
+  
+    internal AnyContainerBase(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(AnyContainerBase obj) {
+      return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+    }
+  
+    ~AnyContainerBase() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_Any_AnyContainerBase(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public AnyContainerBase(SWIGTYPE_p_std__type_info type, SWIGTYPE_p_f_r_q_const__Dali__Any__AnyContainerBase__p_Dali__Any__AnyContainerBase cloneFunc, SWIGTYPE_p_f_p_q_const__Dali__Any__AnyContainerBase__void deleteFunc) : this(NDalicPINVOKE.new_Any_AnyContainerBase(SWIGTYPE_p_std__type_info.getCPtr(type), SWIGTYPE_p_f_r_q_const__Dali__Any__AnyContainerBase__p_Dali__Any__AnyContainerBase.getCPtr(cloneFunc), SWIGTYPE_p_f_p_q_const__Dali__Any__AnyContainerBase__void.getCPtr(deleteFunc)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public SWIGTYPE_p_std__type_info GetType() {
+      SWIGTYPE_p_std__type_info ret = new SWIGTYPE_p_std__type_info(NDalicPINVOKE.Any_AnyContainerBase_GetType(swigCPtr), false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public SWIGTYPE_p_std__type_info mType {
+      get {
+        SWIGTYPE_p_std__type_info ret = new SWIGTYPE_p_std__type_info(NDalicPINVOKE.Any_AnyContainerBase_mType_get(swigCPtr), false);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      } 
+    }
+  
+    public SWIGTYPE_p_f_r_q_const__Dali__Any__AnyContainerBase__p_Dali__Any__AnyContainerBase mCloneFunc {
+      set {
+        NDalicPINVOKE.Any_AnyContainerBase_mCloneFunc_set(swigCPtr, SWIGTYPE_p_f_r_q_const__Dali__Any__AnyContainerBase__p_Dali__Any__AnyContainerBase.getCPtr(value));
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      } 
+      get {
+        global::System.IntPtr cPtr = NDalicPINVOKE.Any_AnyContainerBase_mCloneFunc_get(swigCPtr);
+        SWIGTYPE_p_f_r_q_const__Dali__Any__AnyContainerBase__p_Dali__Any__AnyContainerBase ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_r_q_const__Dali__Any__AnyContainerBase__p_Dali__Any__AnyContainerBase(cPtr, false);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      } 
+    }
+  
+    public SWIGTYPE_p_f_p_q_const__Dali__Any__AnyContainerBase__void mDeleteFunc {
+      set {
+        NDalicPINVOKE.Any_AnyContainerBase_mDeleteFunc_set(swigCPtr, SWIGTYPE_p_f_p_q_const__Dali__Any__AnyContainerBase__void.getCPtr(value));
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      } 
+      get {
+        global::System.IntPtr cPtr = NDalicPINVOKE.Any_AnyContainerBase_mDeleteFunc_get(swigCPtr);
+        SWIGTYPE_p_f_p_q_const__Dali__Any__AnyContainerBase__void ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_q_const__Dali__Any__AnyContainerBase__void(cPtr, false);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      } 
+    }
+  
+  }
+
+  public Any.AnyContainerBase mContainer {
+    set {
+      NDalicPINVOKE.Any_mContainer_set(swigCPtr, Any.AnyContainerBase.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Any_mContainer_get(swigCPtr);
+      Any.AnyContainerBase ret = (cPtr == global::System.IntPtr.Zero) ? null : new Any.AnyContainerBase(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Application.cs b/plugins/dali-sharp/sharp/internal/Application.cs
new file mode 100644 (file)
index 0000000..ad3c0be
--- /dev/null
@@ -0,0 +1,1240 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+    using System;
+    using System.Runtime.InteropServices;
+
+    /**
+      * @brief Event arguments that passed via NUIApplicationInit signal
+      *
+      */
+    public class NUIApplicationInitEventArgs : EventArgs
+    {
+    private Application _application;
+
+      /**
+        * @brief Application - is the application that is being initialized
+        *
+        */
+    public Application Application
+      {
+        get
+        {
+          return _application;
+        }
+        set
+        {
+          _application = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via NUIApplicationTerminate signal
+      *
+      */
+    public class NUIApplicationTerminateEventArgs : EventArgs
+    {
+    private Application _application;
+      /**
+        * @brief Application - is the application that is being Terminated
+        *
+        */
+    public Application Application
+      {
+        get
+        {
+          return _application;
+        }
+        set
+        {
+          _application = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via NUIApplicationPause signal
+      *
+      */
+    public class NUIApplicationPauseEventArgs : EventArgs
+    {
+    private Application _application;
+      /**
+        * @brief Application - is the application that is being Paused
+        *
+        */
+    public Application Application
+      {
+        get
+        {
+          return _application;
+        }
+        set
+        {
+          _application = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via NUIApplicationResume signal
+      *
+      */
+    public class NUIApplicationResumeEventArgs : EventArgs
+    {
+    private Application _application;
+      /**
+        * @brief Application - is the application that is being Resumed
+        *
+        */
+    public Application Application
+      {
+        get
+        {
+          return _application;
+        }
+        set
+        {
+          _application = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via NUIApplicationReset signal
+      *
+      */
+    public class NUIApplicationResetEventArgs : EventArgs
+    {
+    private Application _application;
+      /**
+        * @brief Application - is the application that is being Reset
+        *
+        */
+    public Application Application
+      {
+        get
+        {
+          return _application;
+        }
+        set
+        {
+          _application = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via NUIApplicationResize signal
+      *
+      */
+    public class NUIApplicationResizeEventArgs : EventArgs
+    {
+    private Application _application;
+      /**
+        * @brief Application - is the application that is being Resized
+        *
+        */
+    public Application Application
+      {
+        get
+        {
+          return _application;
+        }
+        set
+        {
+          _application = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via NUIApplicationLanguageChanged signal
+      *
+      */
+    public class NUIApplicationLanguageChangedEventArgs : EventArgs
+    {
+    private Application _application;
+      /**
+        * @brief Application - is the application that is being affected with Device's language change
+        *
+        */
+    public Application Application
+      {
+        get
+        {
+          return _application;
+        }
+        set
+        {
+          _application = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via NUIApplicationRegionChanged signal
+      *
+      */
+    public class NUIApplicationRegionChangedEventArgs : EventArgs
+    {
+    private Application _application;
+      /**
+        * @brief Application - is the application that is being affected with Device's region change
+        *
+        */
+    public Application Application
+      {
+        get
+        {
+          return _application;
+        }
+        set
+        {
+          _application = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via NUIApplicationBatteryLow signal
+      *
+      */
+    public class NUIApplicationBatteryLowEventArgs : EventArgs
+    {
+    private Application _application;
+      /**
+        * @brief Application - is the application that is being affected when the battery level of the device is low
+        *
+        */
+    public Application Application
+      {
+        get
+        {
+          return _application;
+        }
+        set
+        {
+          _application = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via NUIApplicationMemoryLow signal
+      *
+      */
+    public class NUIApplicationMemoryLowEventArgs : EventArgs
+    {
+    private Application _application;
+      /**
+        * @brief Application - is the application that is being affected when the memory level of the device is low
+        *
+        */
+    public Application Application
+      {
+        get
+        {
+          return _application;
+        }
+        set
+        {
+          _application = value;
+        }
+      }
+    }
+
+    /**
+      * @brief Event arguments that passed via NUIApplicationAppControl         signal
+      *
+      */
+    public class NUIApplicationAppControlEventArgs : EventArgs
+    {
+    private Application _application;
+    private IntPtr _voidp;
+      /**
+        * @brief Application - is the application that is receiving the launch request from another application
+        *
+        */
+    public Application Application
+      {
+        get
+        {
+          return _application;
+        }
+        set
+        {
+          _application = value;
+        }
+      }
+      /**
+        * @brief VoidP - contains the information about why the application is launched
+        *
+        */
+    public IntPtr VoidP
+      {
+        get
+        {
+          return _voidp;
+        }
+        set
+        {
+          _voidp = value;
+        }
+      }
+    }
+
+public class Application : BaseHandle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal Application(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Application_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Application obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Application() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_Application(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate void NUIApplicationInitEventCallbackDelegate(IntPtr application);
+    private DaliEventHandler<object,NUIApplicationInitEventArgs> _applicationInitEventHandler;
+    private NUIApplicationInitEventCallbackDelegate _applicationInitEventCallbackDelegate;
+
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate void NUIApplicationTerminateEventCallbackDelegate(IntPtr application);
+    private DaliEventHandler<object,NUIApplicationTerminateEventArgs> _applicationTerminateEventHandler;
+    private NUIApplicationTerminateEventCallbackDelegate _applicationTerminateEventCallbackDelegate;
+
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate void NUIApplicationPauseEventCallbackDelegate(IntPtr application);
+    private DaliEventHandler<object,NUIApplicationPauseEventArgs> _applicationPauseEventHandler;
+    private NUIApplicationPauseEventCallbackDelegate _applicationPauseEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate void NUIApplicationResumeEventCallbackDelegate(IntPtr application);
+    private DaliEventHandler<object,NUIApplicationResumeEventArgs> _applicationResumeEventHandler;
+    private NUIApplicationResumeEventCallbackDelegate _applicationResumeEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate void NUIApplicationResetEventCallbackDelegate(IntPtr application);
+    private DaliEventHandler<object,NUIApplicationResetEventArgs> _applicationResetEventHandler;
+    private NUIApplicationResetEventCallbackDelegate _applicationResetEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate void NUIApplicationResizeEventCallbackDelegate(IntPtr application);
+    private DaliEventHandler<object,NUIApplicationResizeEventArgs> _applicationResizeEventHandler;
+    private NUIApplicationResizeEventCallbackDelegate _applicationResizeEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate void NUIApplicationLanguageChangedEventCallbackDelegate(IntPtr application);
+    private DaliEventHandler<object,NUIApplicationLanguageChangedEventArgs> _applicationLanguageChangedEventHandler;
+    private NUIApplicationLanguageChangedEventCallbackDelegate _applicationLanguageChangedEventCallbackDelegate;
+
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate void NUIApplicationRegionChangedEventCallbackDelegate(IntPtr application);
+    private DaliEventHandler<object,NUIApplicationRegionChangedEventArgs> _applicationRegionChangedEventHandler;
+    private NUIApplicationRegionChangedEventCallbackDelegate _applicationRegionChangedEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate void NUIApplicationBatteryLowEventCallbackDelegate(IntPtr application);
+    private DaliEventHandler<object,NUIApplicationBatteryLowEventArgs> _applicationBatteryLowEventHandler;
+    private NUIApplicationBatteryLowEventCallbackDelegate _applicationBatteryLowEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate void NUIApplicationMemoryLowEventCallbackDelegate(IntPtr application);
+    private DaliEventHandler<object,NUIApplicationMemoryLowEventArgs> _applicationMemoryLowEventHandler;
+    private NUIApplicationMemoryLowEventCallbackDelegate _applicationMemoryLowEventCallbackDelegate;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate void NUIApplicationAppControlEventCallbackDelegate(IntPtr application, IntPtr voidp);
+    private DaliEventHandler<object,NUIApplicationAppControlEventArgs> _applicationAppControlEventHandler;
+    private NUIApplicationAppControlEventCallbackDelegate _applicationAppControlEventCallbackDelegate;
+
+    /**
+      * @brief Event for Initialized signal which can be used to subscribe/unsubscribe the event handler
+      * (in the type of NUIApplicationInitEventHandler - DaliEventHandler<object,NUIApplicationInitEventArgs>)
+      *  provided by the user. Initialized signal is emitted when application is initialised
+      */
+    public event DaliEventHandler<object,NUIApplicationInitEventArgs> Initialized
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_applicationInitEventHandler == null)
+          {
+            _applicationInitEventHandler += value;
+
+            _applicationInitEventCallbackDelegate = new NUIApplicationInitEventCallbackDelegate(OnApplicationInit);
+            this.InitSignal().Connect(_applicationInitEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_applicationInitEventHandler != null)
+          {
+            this.InitSignal().Disconnect(_applicationInitEventCallbackDelegate);
+          }
+
+          _applicationInitEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for Application InitSignal
+    private void OnApplicationInit(IntPtr data)
+    {
+      // Initialize DisposeQueue Singleton class. This is also required to create DisposeQueue on main thread.
+      DisposeQueue.Instance.Initialize();
+
+      NUIApplicationInitEventArgs e = new NUIApplicationInitEventArgs();
+
+      // Populate all members of "e" (NUIApplicationInitEventArgs) with real data
+      e.Application = Application.GetApplicationFromPtr(data);
+
+      if (_applicationInitEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        _applicationInitEventHandler(this, e);
+      }
+    }
+
+    /**
+      * @brief Event for Terminated signal which can be used to subscribe/unsubscribe the event handler
+      * (in the type of NUIApplicationTerminateEventHandler-DaliEventHandler<object,NUIApplicationTerminateEventArgs>)
+      *  provided by the user. Terminated signal is emitted when application is terminated
+      */
+    public event DaliEventHandler<object,NUIApplicationTerminateEventArgs> Terminated
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_applicationTerminateEventHandler == null)
+          {
+            _applicationTerminateEventHandler += value;
+
+            _applicationTerminateEventCallbackDelegate = new NUIApplicationTerminateEventCallbackDelegate(OnNUIApplicationTerminate);
+            this.TerminateSignal().Connect(_applicationTerminateEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_applicationTerminateEventHandler != null)
+          {
+            this.TerminateSignal().Disconnect(_applicationTerminateEventCallbackDelegate);
+          }
+
+          _applicationTerminateEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for Application TerminateSignal
+    private void OnNUIApplicationTerminate(IntPtr data)
+    {
+      NUIApplicationTerminateEventArgs e = new NUIApplicationTerminateEventArgs();
+
+      // Populate all members of "e" (NUIApplicationTerminateEventArgs) with real data
+      e.Application = Application.GetApplicationFromPtr(data);
+
+      if (_applicationTerminateEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        _applicationTerminateEventHandler(this, e);
+      }
+    }
+
+    /**
+      * @brief Event for Paused signal which can be used to subscribe/unsubscribe the event handler
+      * (in the type of NUIApplicationPauseEventHandler-DaliEventHandler<object,NUIApplicationPauseEventArgs>)
+      * provided by the user. Paused signal is emitted when application is paused
+      */
+    public event DaliEventHandler<object,NUIApplicationPauseEventArgs> Paused
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_applicationPauseEventHandler == null)
+          {
+            _applicationPauseEventHandler += value;
+
+            _applicationPauseEventCallbackDelegate = new NUIApplicationPauseEventCallbackDelegate(OnNUIApplicationPause);
+            this.PauseSignal().Connect(_applicationPauseEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_applicationPauseEventHandler != null)
+          {
+            this.PauseSignal().Disconnect(_applicationPauseEventCallbackDelegate);
+          }
+
+          _applicationPauseEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for Application PauseSignal
+    private void OnNUIApplicationPause(IntPtr data)
+    {
+      NUIApplicationPauseEventArgs e = new NUIApplicationPauseEventArgs();
+
+      // Populate all members of "e" (NUIApplicationPauseEventArgs) with real data
+      e.Application = Application.GetApplicationFromPtr(data);
+
+      if (_applicationPauseEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        _applicationPauseEventHandler(this, e);
+      }
+    }
+
+    /**
+      * @brief Event for Resumed signal which can be used to subscribe/unsubscribe the event handler
+      * (in the type of NUIApplicationResumeEventHandler-DaliEventHandler<object,NUIApplicationResumeEventArgs>)
+      *  provided by the user. Resumed signal is emitted when application is resumed
+      */
+    public event DaliEventHandler<object,NUIApplicationResumeEventArgs> Resumed
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_applicationResumeEventHandler == null)
+          {
+            _applicationResumeEventHandler += value;
+
+            _applicationResumeEventCallbackDelegate = new NUIApplicationResumeEventCallbackDelegate(OnNUIApplicationResume);
+            this.ResumeSignal().Connect(_applicationResumeEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_applicationResumeEventHandler != null)
+          {
+            this.ResumeSignal().Disconnect(_applicationResumeEventCallbackDelegate);
+          }
+
+          _applicationResumeEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for Application ResumeSignal
+    private void OnNUIApplicationResume(IntPtr data)
+    {
+      NUIApplicationResumeEventArgs e = new NUIApplicationResumeEventArgs();
+
+      // Populate all members of "e" (NUIApplicationResumeEventArgs) with real data
+      e.Application = Application.GetApplicationFromPtr(data);
+
+      if (_applicationResumeEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        _applicationResumeEventHandler(this, e);
+      }
+    }
+
+    /**
+      * @brief Event for Reset signal which can be used to subscribe/unsubscribe the event handler
+      * (in the type of NUIApplicationResetEventHandler-DaliEventHandler<object,NUIApplicationResetEventArgs>)
+      *  provided by the user. Reset signal is emitted when application is reset
+      */
+    public event DaliEventHandler<object,NUIApplicationResetEventArgs> Reset
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_applicationResetEventHandler == null)
+          {
+            _applicationResetEventHandler += value;
+
+            _applicationResetEventCallbackDelegate = new NUIApplicationResetEventCallbackDelegate(OnNUIApplicationReset);
+            this.ResetSignal().Connect(_applicationResetEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_applicationResetEventHandler != null)
+          {
+            this.ResetSignal().Disconnect(_applicationResetEventCallbackDelegate);
+          }
+
+          _applicationResetEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for Application ResetSignal
+    private void OnNUIApplicationReset(IntPtr data)
+    {
+      NUIApplicationResetEventArgs e = new NUIApplicationResetEventArgs();
+
+      // Populate all members of "e" (NUIApplicationResetEventArgs) with real data
+      e.Application = Application.GetApplicationFromPtr(data);
+
+      if (_applicationResetEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        _applicationResetEventHandler(this, e);
+      }
+    }
+
+    /**
+      * @brief Event for Resized signal which can be used to subscribe/unsubscribe the event handler
+      * (in the type of NUIApplicationResizeEventHandler-DaliEventHandler<object,NUIApplicationResizeEventArgs>)
+      *  provided by the user. Resized signal is emitted when application is resized
+      */
+    public event DaliEventHandler<object,NUIApplicationResizeEventArgs> Resized
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_applicationResizeEventHandler == null)
+          {
+            _applicationResizeEventHandler += value;
+
+            _applicationResizeEventCallbackDelegate = new NUIApplicationResizeEventCallbackDelegate(OnNUIApplicationResize);
+            this.ResizeSignal().Connect(_applicationResizeEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_applicationResizeEventHandler != null)
+          {
+            this.ResizeSignal().Disconnect(_applicationResizeEventCallbackDelegate);
+          }
+
+          _applicationResizeEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for Application ResizeSignal
+    private void OnNUIApplicationResize(IntPtr data)
+    {
+      NUIApplicationResizeEventArgs e = new NUIApplicationResizeEventArgs();
+
+      // Populate all members of "e" (NUIApplicationResizeEventArgs) with real data
+      e.Application = Application.GetApplicationFromPtr(data);
+
+      if (_applicationResizeEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        _applicationResizeEventHandler(this, e);
+      }
+    }
+
+    /**
+      * @brief Event for LanguageChanged signal which can be used to subscribe/unsubscribe the event handler
+      * (in the type of NUIApplicationLanguageChangedEventHandler-DaliEventHandler<object,NUIApplicationLanguageChangedEventArgs>)
+      *  provided by the user. LanguageChanged signal is emitted when the region of the device is changed.
+      */
+    public event DaliEventHandler<object,NUIApplicationLanguageChangedEventArgs> LanguageChanged
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_applicationLanguageChangedEventHandler == null)
+          {
+            _applicationLanguageChangedEventHandler += value;
+
+            _applicationLanguageChangedEventCallbackDelegate = new NUIApplicationLanguageChangedEventCallbackDelegate(OnNUIApplicationLanguageChanged);
+            this.LanguageChangedSignal().Connect(_applicationLanguageChangedEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_applicationLanguageChangedEventHandler != null)
+          {
+            this.LanguageChangedSignal().Disconnect(_applicationLanguageChangedEventCallbackDelegate);
+          }
+
+          _applicationLanguageChangedEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for Application LanguageChangedSignal
+    private void OnNUIApplicationLanguageChanged(IntPtr data)
+    {
+      NUIApplicationLanguageChangedEventArgs e = new NUIApplicationLanguageChangedEventArgs();
+
+      // Populate all members of "e" (NUIApplicationLanguageChangedEventArgs) with real data
+      e.Application = Application.GetApplicationFromPtr(data);
+
+      if (_applicationLanguageChangedEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        _applicationLanguageChangedEventHandler(this, e);
+      }
+    }
+
+    /**
+      * @brief Event for RegionChanged signal which can be used to subscribe/unsubscribe the event handler
+      * (in the type of NUIApplicationRegionChangedEventHandler-DaliEventHandler<object,NUIApplicationRegionChangedEventArgs>)
+      *  provided by the user. RegionChanged signal is emitted when the region of the device is changed.
+      */
+    public event DaliEventHandler<object,NUIApplicationRegionChangedEventArgs> RegionChanged
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_applicationRegionChangedEventHandler == null)
+          {
+            _applicationRegionChangedEventHandler += value;
+
+            _applicationRegionChangedEventCallbackDelegate = new NUIApplicationRegionChangedEventCallbackDelegate(OnNUIApplicationRegionChanged);
+            this.RegionChangedSignal().Connect(_applicationRegionChangedEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_applicationRegionChangedEventHandler != null)
+          {
+            this.RegionChangedSignal().Disconnect(_applicationRegionChangedEventCallbackDelegate);
+          }
+
+          _applicationRegionChangedEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for Application RegionChangedSignal
+    private void OnNUIApplicationRegionChanged(IntPtr data)
+    {
+      NUIApplicationRegionChangedEventArgs e = new NUIApplicationRegionChangedEventArgs();
+
+      // Populate all members of "e" (NUIApplicationRegionChangedEventArgs) with real data
+      e.Application = Application.GetApplicationFromPtr(data);
+
+      if (_applicationRegionChangedEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        _applicationRegionChangedEventHandler(this, e);
+      }
+    }
+
+    /**
+      * @brief Event for BatteryLow signal which can be used to subscribe/unsubscribe the event handler
+      * (in the type of NUIApplicationBatteryLowEventHandler-DaliEventHandler<object,NUIApplicationBatteryLowEventArgs>) 
+      * provided by the user. BatteryLow signal is emitted when the battery level of the device is low.
+      */
+    public event DaliEventHandler<object,NUIApplicationBatteryLowEventArgs> BatteryLow
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_applicationBatteryLowEventHandler == null)
+          {
+            _applicationBatteryLowEventHandler += value;
+
+            _applicationBatteryLowEventCallbackDelegate = new NUIApplicationBatteryLowEventCallbackDelegate(OnNUIApplicationBatteryLow);
+            this.BatteryLowSignal().Connect(_applicationBatteryLowEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_applicationBatteryLowEventHandler != null)
+          {
+            this.BatteryLowSignal().Disconnect(_applicationBatteryLowEventCallbackDelegate);
+          }
+
+          _applicationBatteryLowEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for Application BatteryLowSignal
+    private void OnNUIApplicationBatteryLow(IntPtr data)
+    {
+      NUIApplicationBatteryLowEventArgs e = new NUIApplicationBatteryLowEventArgs();
+
+      // Populate all members of "e" (NUIApplicationBatteryLowEventArgs) with real data
+      e.Application = Application.GetApplicationFromPtr(data);
+
+      if (_applicationBatteryLowEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        _applicationBatteryLowEventHandler(this, e);
+      }
+    }
+
+    /**
+      * @brief Event for MemoryLow signal which can be used to subscribe/unsubscribe the event handler
+      * (in the type of NUIApplicationMemoryLowEventHandler-DaliEventHandler<object,NUIApplicationMemoryLowEventArgs>)
+      *  provided by the user. MemoryLow signal is emitted when the memory level of the device is low.
+      */
+    public event DaliEventHandler<object,NUIApplicationMemoryLowEventArgs> MemoryLow
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_applicationMemoryLowEventHandler == null)
+          {
+            _applicationMemoryLowEventHandler += value;
+
+            _applicationMemoryLowEventCallbackDelegate = new NUIApplicationMemoryLowEventCallbackDelegate(OnNUIApplicationMemoryLow);
+            this.MemoryLowSignal().Connect(_applicationMemoryLowEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_applicationMemoryLowEventHandler != null)
+          {
+            this.MemoryLowSignal().Disconnect(_applicationMemoryLowEventCallbackDelegate);
+          }
+
+          _applicationMemoryLowEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for Application MemoryLowSignal
+    private void OnNUIApplicationMemoryLow(IntPtr data)
+    {
+      NUIApplicationMemoryLowEventArgs e = new NUIApplicationMemoryLowEventArgs();
+
+      // Populate all members of "e" (NUIApplicationMemoryLowEventArgs) with real data
+      e.Application = Application.GetApplicationFromPtr(data);
+
+      if (_applicationMemoryLowEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        _applicationMemoryLowEventHandler(this, e);
+      }
+    }
+
+    /**
+      * @brief Event for AppControl signal which can be used to subscribe/unsubscribe the event handler
+      * (in the type of NUIApplicationAppControlEventHandler-DaliEventHandler<object,NUIApplicationAppControlEventArgs>)
+      *  provided by the user. AppControl signal is emitted when another application sends a launch request to the application.
+      */
+    public event DaliEventHandler<object,NUIApplicationAppControlEventArgs> AppControl
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_applicationAppControlEventHandler == null)
+          {
+            _applicationAppControlEventHandler += value;
+
+            _applicationAppControlEventCallbackDelegate = new NUIApplicationAppControlEventCallbackDelegate(OnNUIApplicationAppControl);
+            this.AppControlSignal().Connect(_applicationAppControlEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_applicationAppControlEventHandler != null)
+          {
+            this.AppControlSignal().Disconnect(_applicationAppControlEventCallbackDelegate);
+          }
+
+          _applicationAppControlEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for Application AppControlSignal
+    private void OnNUIApplicationAppControl(IntPtr application, IntPtr voidp)
+    {
+      NUIApplicationAppControlEventArgs e = new NUIApplicationAppControlEventArgs();
+
+      // Populate all members of "e" (NUIApplicationAppControlEventArgs) with real data
+      e.Application = Application.GetApplicationFromPtr(application);
+      e.VoidP = voidp;
+
+      if (_applicationAppControlEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        _applicationAppControlEventHandler(this, e);
+      }
+    }
+
+    private static Application _instance; // singleton
+
+    public delegate void InitDelegate();
+
+    public delegate void TerminateDelegate();
+
+    public delegate void PauseDelegate();
+
+    public delegate void ResumeDelegate();
+
+    public delegate void ResizeDelegate();
+
+    public delegate void AppControlDelegate();
+
+    public delegate void LanguageChangedDelegate();
+
+    public delegate void RegionChangedDelegate();
+
+    public delegate void BatteryLowDelegate();
+
+    public delegate void MemoryLowDelegate();
+
+    [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
+    internal delegate void InitDelegateInternal();
+
+    [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
+    internal delegate void TerminateDelegateInternal();
+
+    [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
+    internal delegate void PauseDelegateInternal();
+
+    [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
+    internal delegate void ResumeDelegateInternal();
+
+    [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
+    internal delegate void ResizeDelegateInternal();
+
+    [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
+    internal delegate void AppControlDelegateInternal();
+
+    [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
+    internal delegate void LanguageChangedDelegateInternal();
+
+    [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
+    internal delegate void RegionChangedDelegateInternal();
+
+    [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
+    internal delegate void BatteryLowDelegateInternal();
+
+    [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
+    internal delegate void MemoryLowDelegateInternal();
+
+    static void Initialize()
+    {
+      //       instance.InitDelegate();
+    }
+
+    public static Application Instance
+    {
+       get
+       {
+            return _instance;
+       }
+    }
+
+    public static Application GetApplicationFromPtr(global::System.IntPtr cPtr) {
+      Application ret = new Application(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+
+    internal void SetupDelegates() {
+      InitDelegateInternal initializeCallback = new InitDelegateInternal( Initialize );
+      System.Console.WriteLine( "InitSignal connection count");
+
+      this.InitSignal().Connect( initializeCallback );
+      //Console.WriteLine( "InitSignal connection count = " + app.InitSignal().GetConnectionCount() );
+    }
+
+    public static Application NewApplication() {
+     _instance = NewApplication("", Application.WINDOW_MODE.OPAQUE);
+     return _instance;
+    }
+
+    public static Application NewApplication(string stylesheet) {
+      _instance = NewApplication(stylesheet, Application.WINDOW_MODE.OPAQUE);
+      return _instance;
+    }
+
+    public static Application NewApplication(string stylesheet, Application.WINDOW_MODE windowMode) {
+
+      // register all Views with the type registry, so that can be created / styled via JSON
+      ViewRegistryHelper.Initialize();
+
+      Application ret = New(1, stylesheet, windowMode);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+      // we've got an application now connect the signals
+      ret.SetupDelegates();
+      // set the singleton
+      _instance = ret;
+      return ret;
+    }
+
+    
+  
+  /**
+  * Outer::outer_method(int)
+  */
+  public static Application New() {
+    Application ret = new Application(NDalicPINVOKE.Application_New__SWIG_0(), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static Application New(int argc) {
+    Application ret = new Application(NDalicPINVOKE.Application_New__SWIG_1(argc), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static Application New(int argc, string stylesheet) {
+    Application ret = new Application(NDalicPINVOKE.Application_New__SWIG_2(argc, stylesheet), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static Application New(int argc, string stylesheet, Application.WINDOW_MODE windowMode) {
+    Application ret = new Application(NDalicPINVOKE.Application_New__SWIG_3(argc, stylesheet, (int)windowMode), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Application() : this(NDalicPINVOKE.new_Application__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Application(Application application) : this(NDalicPINVOKE.new_Application__SWIG_1(Application.getCPtr(application)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Application Assign(Application application) {
+    Application ret = new Application(NDalicPINVOKE.Application_Assign(swigCPtr, Application.getCPtr(application)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void MainLoop() {
+    NDalicPINVOKE.Application_MainLoop__SWIG_0(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void MainLoop(SWIGTYPE_p_Configuration__ContextLoss configuration) {
+    NDalicPINVOKE.Application_MainLoop__SWIG_1(swigCPtr, SWIGTYPE_p_Configuration__ContextLoss.getCPtr(configuration));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Lower() {
+    NDalicPINVOKE.Application_Lower(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Quit() {
+    NDalicPINVOKE.Application_Quit(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool AddIdle(SWIGTYPE_p_Dali__CallbackBase callback) {
+    bool ret = NDalicPINVOKE.Application_AddIdle(swigCPtr, SWIGTYPE_p_Dali__CallbackBase.getCPtr(callback));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Window GetWindow() {
+    Window ret = new Window(NDalicPINVOKE.Application_GetWindow(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void ReplaceWindow(Rectangle windowPosition, string name) {
+    NDalicPINVOKE.Application_ReplaceWindow(swigCPtr, Rectangle.getCPtr(windowPosition), name);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static string GetResourcePath() {
+    string ret = NDalicPINVOKE.Application_GetResourcePath();
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetViewMode(ViewMode viewMode) {
+    NDalicPINVOKE.Application_SetViewMode(swigCPtr, (int)viewMode);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public 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 ApplicationSignal InitSignal() {
+    ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_InitSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ApplicationSignal TerminateSignal() {
+    ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_TerminateSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ApplicationSignal PauseSignal() {
+    ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_PauseSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ApplicationSignal ResumeSignal() {
+    ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_ResumeSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ApplicationSignal ResetSignal() {
+    ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_ResetSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ApplicationSignal ResizeSignal() {
+    ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_ResizeSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ApplicationControlSignal AppControlSignal() {
+    ApplicationControlSignal ret = new ApplicationControlSignal(NDalicPINVOKE.Application_AppControlSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ApplicationSignal LanguageChangedSignal() {
+    ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_LanguageChangedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ApplicationSignal RegionChangedSignal() {
+    ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_RegionChangedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ApplicationSignal BatteryLowSignal() {
+    ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_BatteryLowSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ApplicationSignal MemoryLowSignal() {
+    ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_MemoryLowSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum WINDOW_MODE {
+    OPAQUE = 0,
+    TRANSPARENT = 1
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ApplicationControlSignal.cs b/plugins/dali-sharp/sharp/internal/ApplicationControlSignal.cs
new file mode 100644 (file)
index 0000000..1a246aa
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ApplicationControlSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal ApplicationControlSignal(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(ApplicationControlSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ApplicationControlSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ApplicationControlSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.ApplicationControlSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.ApplicationControlSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ApplicationControlSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ApplicationControlSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(Application arg1, System.IntPtr arg2) {
+    NDalicPINVOKE.ApplicationControlSignal_Emit(swigCPtr, Application.getCPtr(arg1), arg2);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ApplicationControlSignal() : this(NDalicPINVOKE.new_ApplicationControlSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ApplicationExtensions.cs b/plugins/dali-sharp/sharp/internal/ApplicationExtensions.cs
new file mode 100644 (file)
index 0000000..611f6e7
--- /dev/null
@@ -0,0 +1,84 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ApplicationExtensions : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal ApplicationExtensions(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(ApplicationExtensions obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ApplicationExtensions() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ApplicationExtensions(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public ApplicationExtensions() : this(NDalicPINVOKE.new_ApplicationExtensions__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ApplicationExtensions(Application application) : this(NDalicPINVOKE.new_ApplicationExtensions__SWIG_1(Application.getCPtr(application)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Init() {
+    NDalicPINVOKE.ApplicationExtensions_Init(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Terminate() {
+    NDalicPINVOKE.ApplicationExtensions_Terminate(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Pause() {
+    NDalicPINVOKE.ApplicationExtensions_Pause(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Resume() {
+    NDalicPINVOKE.ApplicationExtensions_Resume(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void LanguageChange() {
+    NDalicPINVOKE.ApplicationExtensions_LanguageChange(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ApplicationSignal.cs b/plugins/dali-sharp/sharp/internal/ApplicationSignal.cs
new file mode 100644 (file)
index 0000000..902281f
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ApplicationSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal ApplicationSignal(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(ApplicationSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ApplicationSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ApplicationSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.ApplicationSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.ApplicationSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ApplicationSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ApplicationSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(Application arg) {
+    NDalicPINVOKE.ApplicationSignal_Emit(swigCPtr, Application.getCPtr(arg));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ApplicationSignal() : this(NDalicPINVOKE.new_ApplicationSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/AsyncImageLoader.cs b/plugins/dali-sharp/sharp/internal/AsyncImageLoader.cs
new file mode 100644 (file)
index 0000000..b411cf1
--- /dev/null
@@ -0,0 +1,125 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class AsyncImageLoader : BaseHandle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal AsyncImageLoader(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.AsyncImageLoader_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(AsyncImageLoader obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~AsyncImageLoader() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_AsyncImageLoader(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public AsyncImageLoader () : this (NDalicPINVOKE.AsyncImageLoader_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public AsyncImageLoader(AsyncImageLoader handle) : this(NDalicPINVOKE.new_AsyncImageLoader__SWIG_1(AsyncImageLoader.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public AsyncImageLoader Assign(AsyncImageLoader handle) {
+    AsyncImageLoader ret = new AsyncImageLoader(NDalicPINVOKE.AsyncImageLoader_Assign(swigCPtr, AsyncImageLoader.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static AsyncImageLoader DownCast(BaseHandle handle) {
+    AsyncImageLoader ret = new AsyncImageLoader(NDalicPINVOKE.AsyncImageLoader_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint Load(string url) {
+    uint ret = NDalicPINVOKE.AsyncImageLoader_Load__SWIG_0(swigCPtr, url);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint Load(string url, Uint16Pair dimensions) {
+    uint ret = NDalicPINVOKE.AsyncImageLoader_Load__SWIG_1(swigCPtr, url, Uint16Pair.getCPtr(dimensions));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint Load(string url, Uint16Pair dimensions, FittingModeType fittingMode, SamplingModeType samplingMode, bool orientationCorrection) {
+    uint ret = NDalicPINVOKE.AsyncImageLoader_Load__SWIG_2(swigCPtr, url, Uint16Pair.getCPtr(dimensions), (int)fittingMode, (int)samplingMode, orientationCorrection);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool Cancel(uint loadingTaskId) {
+    bool ret = NDalicPINVOKE.AsyncImageLoader_Cancel(swigCPtr, loadingTaskId);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void CancelAll() {
+    NDalicPINVOKE.AsyncImageLoader_CancelAll(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public SWIGTYPE_p_Dali__SignalT_void_fuint32_t_Dali__PixelDataF_t ImageLoadedSignal() {
+    SWIGTYPE_p_Dali__SignalT_void_fuint32_t_Dali__PixelDataF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fuint32_t_Dali__PixelDataF_t(NDalicPINVOKE.AsyncImageLoader_ImageLoadedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AsyncImageLoader(SWIGTYPE_p_Dali__Toolkit__Internal__AsyncImageLoader impl) : this(NDalicPINVOKE.new_AsyncImageLoader__SWIG_2(SWIGTYPE_p_Dali__Toolkit__Internal__AsyncImageLoader.getCPtr(impl)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/BaseHandle.cs b/plugins/dali-sharp/sharp/internal/BaseHandle.cs
new file mode 100644 (file)
index 0000000..d571764
--- /dev/null
@@ -0,0 +1,241 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class BaseHandle : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal BaseHandle(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(BaseHandle obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~BaseHandle() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_BaseHandle(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+
+  // Returns the bool value true to indicate that an operand is true and returns false otherwise.
+  public static bool operator true(BaseHandle handle)
+  {
+    // if the C# object is null, return false
+    if( BaseHandle.ReferenceEquals( handle, null ) )
+    {
+      return false;
+    }
+    // returns true if the handle has a body, false otherwise
+    return handle.HasBody();
+  }
+
+  // Returns the bool false  to indicate that an operand is false and returns true otherwise.
+  public static bool operator false(BaseHandle  handle)
+  {
+    // if the C# object is null, return true
+    if( BaseHandle.ReferenceEquals( handle, null ) )
+    {
+      return true;
+    }
+    return !handle.HasBody();
+  }
+
+  // Explicit conversion from Handle to bool.
+  public static explicit operator bool(BaseHandle handle)
+  {
+     // if the C# object is null, return false
+    if( BaseHandle.ReferenceEquals( handle, null ) )
+    {
+      return false;
+    }
+    // returns true if the handle has a body, false otherwise
+    return handle.HasBody();
+  }
+
+  // Equality operator
+  public static bool operator == (BaseHandle x, BaseHandle y)
+  {
+    // if the C# objects are the same return true
+    if(  BaseHandle.ReferenceEquals( x, y ) )
+    {
+      return true;
+    }
+    if ( !BaseHandle.ReferenceEquals( x, null ) && !BaseHandle.ReferenceEquals( y, null ) )
+    {
+      // drop into native code to see if both handles point to the same body
+      return x.IsEqual( y) ;
+    }
+    return false;
+
+  }
+
+  // Inequality operator. Returns Null if either operand is Null
+  public static bool operator !=(BaseHandle x, BaseHandle y)
+  {
+    return !(x==y);
+  }
+
+  // Logical AND operator for &&
+  // It's possible when doing a && this function (opBitwiseAnd) is never called due
+  // to short circuiting. E.g.
+  // If you perform x && y What actually is called is
+  // BaseHandle.op_False( x ) ? BaseHandle.op_True( x ) : BaseHandle.opTrue( BaseHandle.opBitwiseAnd(x,y) )
+  //
+  public static BaseHandle operator &(BaseHandle x, BaseHandle y)
+  {
+    if( x == y )
+    {
+      return x;
+    }
+    return null;
+  }
+
+  // Logical OR operator for ||
+  // It's possible when doing a || this function (opBitwiseOr) is never called due
+  // to short circuiting. E.g.
+  // If you perform x || y What actually is called is
+  // BaseHandle.op_True( x ) ? BaseHandle.op_True( x ) : BaseHandle.opTrue( BaseHandle.opBitwiseOr(x,y) )
+  public static BaseHandle operator |(BaseHandle x, BaseHandle y)
+  {
+    if ( !BaseHandle.ReferenceEquals( x, null ) || !BaseHandle.ReferenceEquals( y, null ) )
+    {
+       if( x.HasBody() )
+       {
+         return x;
+       }
+       if( y.HasBody() )
+       {
+         return y;
+       }
+       return null;
+    }
+    return null;
+  }
+
+  // Logical ! operator
+  public static bool operator !(BaseHandle x)
+  {
+    // if the C# object is null, return true
+    if( BaseHandle.ReferenceEquals( x, null ) )
+    {
+      return true;
+    }
+    if( x.HasBody() )
+    {
+      return false;
+    }
+    return true;
+  }
+
+
+  public BaseHandle(BaseObject handle) : this(NDalicPINVOKE.new_BaseHandle__SWIG_0(BaseObject.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public BaseHandle() : this(NDalicPINVOKE.new_BaseHandle__SWIG_1(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public BaseHandle(BaseHandle handle) : this(NDalicPINVOKE.new_BaseHandle__SWIG_2(BaseHandle.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public BaseHandle Assign(BaseHandle rhs) {
+    BaseHandle ret = new BaseHandle(NDalicPINVOKE.BaseHandle_Assign(swigCPtr, BaseHandle.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool DoAction(string actionName, Property.Map attributes) {
+    bool ret = NDalicPINVOKE.BaseHandle_DoAction(swigCPtr, actionName, Property.Map.getCPtr(attributes));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public string GetTypeName() {
+    string ret = NDalicPINVOKE.BaseHandle_GetTypeName(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool GetTypeInfo(TypeInfo info) {
+    bool ret = NDalicPINVOKE.BaseHandle_GetTypeInfo(swigCPtr, TypeInfo.getCPtr(info));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public BaseObject GetBaseObject() {
+    BaseObject ret = new BaseObject(NDalicPINVOKE.BaseHandle_GetBaseObject__SWIG_0(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Reset() {
+    NDalicPINVOKE.BaseHandle_Reset(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool EqualTo(BaseHandle rhs) {
+    bool ret = NDalicPINVOKE.BaseHandle_EqualTo(swigCPtr, BaseHandle.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool NotEqualTo(BaseHandle rhs) {
+    bool ret = NDalicPINVOKE.BaseHandle_NotEqualTo(swigCPtr, BaseHandle.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public 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;
+  }
+
+  public bool HasBody() {
+    bool ret = NDalicPINVOKE.BaseHandle_HasBody(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool IsEqual(BaseHandle rhs) {
+    bool ret = NDalicPINVOKE.BaseHandle_IsEqual(swigCPtr, BaseHandle.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/BaseObject.cs b/plugins/dali-sharp/sharp/internal/BaseObject.cs
new file mode 100644 (file)
index 0000000..cbec751
--- /dev/null
@@ -0,0 +1,64 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class BaseObject : RefObject {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal BaseObject(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.BaseObject_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(BaseObject obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  public override void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          throw new global::System.MethodAccessException("C++ destructor does not have public access");
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+  public bool DoAction(string actionName, Property.Map attributes) {
+    bool ret = NDalicPINVOKE.BaseObject_DoAction(swigCPtr, actionName, Property.Map.getCPtr(attributes));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public string GetTypeName() {
+    string ret = NDalicPINVOKE.BaseObject_GetTypeName(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool GetTypeInfo(TypeInfo info) {
+    bool ret = NDalicPINVOKE.BaseObject_GetTypeInfo(swigCPtr, TypeInfo.getCPtr(info));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool DoConnectSignal(ConnectionTrackerInterface connectionTracker, string signalName, SWIGTYPE_p_FunctorDelegate functorDelegate) {
+    bool ret = NDalicPINVOKE.BaseObject_DoConnectSignal(swigCPtr, ConnectionTrackerInterface.getCPtr(connectionTracker), signalName, SWIGTYPE_p_FunctorDelegate.getCPtr(functorDelegate));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/BlendEquationType.cs b/plugins/dali-sharp/sharp/internal/BlendEquationType.cs
new file mode 100644 (file)
index 0000000..00af026
--- /dev/null
@@ -0,0 +1,19 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum BlendEquationType {
+  ADD = 0x8006,
+  SUBTRACT = 0x800A,
+  REVERSE_SUBTRACT = 0x800B
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/BlendFactorType.cs b/plugins/dali-sharp/sharp/internal/BlendFactorType.cs
new file mode 100644 (file)
index 0000000..357dc9c
--- /dev/null
@@ -0,0 +1,31 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum BlendFactorType {
+  ZERO = 0,
+  ONE = 1,
+  SRC_COLOR = 0x0300,
+  ONE_MINUS_SRC_COLOR = 0x0301,
+  SRC_ALPHA = 0x0302,
+  ONE_MINUS_SRC_ALPHA = 0x0303,
+  DST_ALPHA = 0x0304,
+  ONE_MINUS_DST_ALPHA = 0x0305,
+  DST_COLOR = 0x0306,
+  ONE_MINUS_DST_COLOR = 0x0307,
+  SRC_ALPHA_SATURATE = 0x0308,
+  CONSTANT_COLOR = 0x8001,
+  ONE_MINUS_CONSTANT_COLOR = 0x8002,
+  CONSTANT_ALPHA = 0x8003,
+  ONE_MINUS_CONSTANT_ALPHA = 0x8004
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/BlendModeType.cs b/plugins/dali-sharp/sharp/internal/BlendModeType.cs
new file mode 100644 (file)
index 0000000..c3bdf26
--- /dev/null
@@ -0,0 +1,19 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum BlendModeType {
+  OFF,
+  AUTO,
+  ON
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/BufferImage.cs b/plugins/dali-sharp/sharp/internal/BufferImage.cs
new file mode 100644 (file)
index 0000000..dc825f5
--- /dev/null
@@ -0,0 +1,149 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class BufferImage : Image {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal BufferImage(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.BufferImage_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(BufferImage obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~BufferImage() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_BufferImage(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public BufferImage (uint width, uint height, PixelFormat pixelformat) : this (NDalicPINVOKE.BufferImage_New__SWIG_0(width, height, (int)pixelformat), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public BufferImage (uint width, uint height) : this (NDalicPINVOKE.BufferImage_New__SWIG_1(width, height), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public BufferImage (byte[] pixelBuffer, uint width, uint height, PixelFormat pixelFormat, uint stride) : this (NDalicPINVOKE.BufferImage_New__SWIG_2(pixelBuffer, width, height, (int)pixelFormat, stride), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public BufferImage (byte[] pixelBuffer, uint width, uint height, PixelFormat pixelFormat) : this (NDalicPINVOKE.BufferImage_New__SWIG_3(pixelBuffer, width, height, (int)pixelFormat), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public BufferImage (byte[] pixelBuffer, uint width, uint height) : this (NDalicPINVOKE.BufferImage_New__SWIG_4(pixelBuffer, width, height), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public new static BufferImage DownCast(BaseHandle handle) {
+    BufferImage ret = new BufferImage(NDalicPINVOKE.BufferImage_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public BufferImage(BufferImage handle) : this(NDalicPINVOKE.new_BufferImage__SWIG_1(BufferImage.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public BufferImage Assign(BufferImage rhs) {
+    BufferImage ret = new BufferImage(NDalicPINVOKE.BufferImage_Assign(swigCPtr, BufferImage.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static BufferImage WHITE() {
+    BufferImage ret = new BufferImage(NDalicPINVOKE.BufferImage_WHITE(), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SWIGTYPE_p_unsigned_char GetBuffer() {
+    global::System.IntPtr cPtr = NDalicPINVOKE.BufferImage_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;
+  }
+
+  public uint GetBufferSize() {
+    uint ret = NDalicPINVOKE.BufferImage_GetBufferSize(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetBufferStride() {
+    uint ret = NDalicPINVOKE.BufferImage_GetBufferStride(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public PixelFormat GetPixelFormat() {
+    PixelFormat ret = (PixelFormat)NDalicPINVOKE.BufferImage_GetPixelFormat(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Update() {
+    NDalicPINVOKE.BufferImage_Update__SWIG_0(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Update(SWIGTYPE_p_Dali__RectT_unsigned_int_t updateArea) {
+    NDalicPINVOKE.BufferImage_Update__SWIG_1(swigCPtr, SWIGTYPE_p_Dali__RectT_unsigned_int_t.getCPtr(updateArea));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool IsDataExternal() {
+    bool ret = NDalicPINVOKE.BufferImage_IsDataExternal(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Builder.cs b/plugins/dali-sharp/sharp/internal/Builder.cs
new file mode 100644 (file)
index 0000000..1da5ab3
--- /dev/null
@@ -0,0 +1,286 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+    using System;
+    using System.Runtime.InteropServices;
+
+
+public class Builder : BaseHandle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal Builder(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Builder_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Builder obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Builder() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_Builder(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+    public class QuitEventArgs : EventArgs
+    {
+    }
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate void QuitEventCallbackDelegate();
+    private DaliEventHandler<object,QuitEventArgs> _builderQuitEventHandler;
+    private QuitEventCallbackDelegate _builderQuitEventCallbackDelegate;
+
+    public event DaliEventHandler<object,QuitEventArgs> Quit
+    {
+      add
+      {
+        lock(this)
+        {
+          // Restricted to only one listener
+          if (_builderQuitEventHandler == null)
+          {
+            _builderQuitEventHandler += value;
+
+            _builderQuitEventCallbackDelegate = new QuitEventCallbackDelegate(OnQuit);
+            this.QuitSignal().Connect(_builderQuitEventCallbackDelegate);
+          }
+        }
+      }
+
+      remove
+      {
+        lock(this)
+        {
+          if (_builderQuitEventHandler != null)
+          {
+            this.QuitSignal().Disconnect(_builderQuitEventCallbackDelegate);
+          }
+
+          _builderQuitEventHandler -= value;
+        }
+      }
+    }
+
+    // Callback for Builder QuitSignal
+    private void OnQuit()
+    {
+      QuitEventArgs e = new QuitEventArgs();
+
+      if (_builderQuitEventHandler != null)
+      {
+        //here we send all data to user event handlers
+        _builderQuitEventHandler(this, e);
+      }
+    }
+
+    ///
+  public void LoadFromFile( string fileName )
+  {
+    try
+    {
+      string json = System.IO.File.ReadAllText( fileName );
+      if( json.Length > 0 )
+      {
+        LoadFromString( json );
+      }
+      else
+      {
+        throw new global::System.InvalidOperationException("Failed to load file " +fileName);
+
+      }
+    }
+    catch ( System.Exception e)
+    {
+      throw new global::System.InvalidOperationException("Failed to parse " +fileName);
+    }
+  }
+
+
+    
+  public Builder () : this (NDalicPINVOKE.Builder_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public void LoadFromString(string data, Builder.UIFormat format) {
+    NDalicPINVOKE.Builder_LoadFromString__SWIG_0(swigCPtr, data, (int)format);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void LoadFromString(string data) {
+    NDalicPINVOKE.Builder_LoadFromString__SWIG_1(swigCPtr, data);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AddConstants(Property.Map map) {
+    NDalicPINVOKE.Builder_AddConstants(swigCPtr, Property.Map.getCPtr(map));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AddConstant(string key, Property.Value value) {
+    NDalicPINVOKE.Builder_AddConstant(swigCPtr, key, Property.Value.getCPtr(value));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Property.Map GetConstants() {
+    Property.Map ret = new Property.Map(NDalicPINVOKE.Builder_GetConstants(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Property.Value GetConstant(string key) {
+    Property.Value ret = new Property.Value(NDalicPINVOKE.Builder_GetConstant(swigCPtr, key), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Animation CreateAnimation(string animationName) {
+    Animation ret = new Animation(NDalicPINVOKE.Builder_CreateAnimation__SWIG_0(swigCPtr, animationName), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Animation CreateAnimation(string animationName, Property.Map map) {
+    Animation ret = new Animation(NDalicPINVOKE.Builder_CreateAnimation__SWIG_1(swigCPtr, animationName, Property.Map.getCPtr(map)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Animation CreateAnimation(string animationName, Actor sourceActor) {
+    Animation ret = new Animation(NDalicPINVOKE.Builder_CreateAnimation__SWIG_2(swigCPtr, animationName, Actor.getCPtr(sourceActor)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Animation CreateAnimation(string animationName, Property.Map map, Actor sourceActor) {
+    Animation ret = new Animation(NDalicPINVOKE.Builder_CreateAnimation__SWIG_3(swigCPtr, animationName, Property.Map.getCPtr(map), Actor.getCPtr(sourceActor)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public BaseHandle Create(string templateName) {
+    BaseHandle ret = new BaseHandle(NDalicPINVOKE.Builder_Create__SWIG_0(swigCPtr, templateName), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public BaseHandle Create(string templateName, Property.Map map) {
+    BaseHandle ret = new BaseHandle(NDalicPINVOKE.Builder_Create__SWIG_1(swigCPtr, templateName, Property.Map.getCPtr(map)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public BaseHandle CreateFromJson(string json) {
+    BaseHandle ret = new BaseHandle(NDalicPINVOKE.Builder_CreateFromJson(swigCPtr, json), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool ApplyStyle(string styleName, Handle handle) {
+    bool ret = NDalicPINVOKE.Builder_ApplyStyle(swigCPtr, styleName, Handle.getCPtr(handle));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool ApplyFromJson(Handle handle, string json) {
+    bool ret = NDalicPINVOKE.Builder_ApplyFromJson(swigCPtr, Handle.getCPtr(handle), json);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void AddActors(Actor toActor) {
+    NDalicPINVOKE.Builder_AddActors__SWIG_0(swigCPtr, Actor.getCPtr(toActor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AddActors(string sectionName, Actor toActor) {
+    NDalicPINVOKE.Builder_AddActors__SWIG_1(swigCPtr, sectionName, Actor.getCPtr(toActor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void CreateRenderTask(string name) {
+    NDalicPINVOKE.Builder_CreateRenderTask(swigCPtr, name);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public FrameBufferImage GetFrameBufferImage(string name) {
+    FrameBufferImage ret = new FrameBufferImage(NDalicPINVOKE.Builder_GetFrameBufferImage(swigCPtr, name), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Path GetPath(string name) {
+    Path ret = new Path(NDalicPINVOKE.Builder_GetPath(swigCPtr, name), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public PathConstrainer GetPathConstrainer(string pathConstrainerName) {
+    PathConstrainer ret = new PathConstrainer(NDalicPINVOKE.Builder_GetPathConstrainer(swigCPtr, pathConstrainerName), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public LinearConstrainer GetLinearConstrainer(string linearConstrainerName) {
+    LinearConstrainer ret = new LinearConstrainer(NDalicPINVOKE.Builder_GetLinearConstrainer(swigCPtr, linearConstrainerName), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public VoidSignal QuitSignal() {
+    VoidSignal ret = new VoidSignal(NDalicPINVOKE.Builder_QuitSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum UIFormat {
+    JSON
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Button.cs b/plugins/dali-sharp/sharp/internal/Button.cs
new file mode 100644 (file)
index 0000000..81aa7db
--- /dev/null
@@ -0,0 +1,848 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class Button : View {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal Button(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Button_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Button obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Button() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_Button(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+public class ClickedEventArgs : EventArgs
+{
+   private Button _button;
+
+   public Button Button
+   {
+      get
+      {
+         return _button;
+      }
+      set
+      {
+         _button = value;
+      }
+   }
+}
+
+public class PressedEventArgs : EventArgs
+{
+   private Button _button;
+
+   public Button Button
+   {
+      get
+      {
+         return _button;
+      }
+      set
+      {
+         _button = value;
+      }
+   }
+}
+
+public class ReleasedEventArgs : EventArgs
+{
+   private Button _button;
+
+   public Button Button
+   {
+      get
+      {
+         return _button;
+      }
+      set
+      {
+         _button = value;
+      }
+   }
+}
+
+public class StateChangedEventArgs : EventArgs
+{
+   private Button _button;
+
+   public Button Button
+   {
+      get
+      {
+         return _button;
+      }
+      set
+      {
+         _button = value;
+      }
+   }
+}
+
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate bool ClickedCallbackDelegate(global::System.IntPtr data);
+  private DaliEventHandlerWithReturnType<object,ClickedEventArgs,bool> _buttonClickedEventHandler;
+  private ClickedCallbackDelegate _buttonClickedCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate bool PressedCallbackDelegate(global::System.IntPtr data);
+  private DaliEventHandlerWithReturnType<object,PressedEventArgs,bool> _buttonPressedEventHandler;
+  private PressedCallbackDelegate _buttonPressedCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate bool ReleasedCallbackDelegate(global::System.IntPtr data);
+  private DaliEventHandlerWithReturnType<object,ReleasedEventArgs,bool>  _buttonReleasedEventHandler;
+  private ReleasedCallbackDelegate _buttonReleasedCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate bool StateChangedCallbackDelegate(global::System.IntPtr data);
+  private DaliEventHandlerWithReturnType<object,StateChangedEventArgs,bool> _buttonStateChangedEventHandler;
+  private StateChangedCallbackDelegate _buttonStateChangedCallbackDelegate;
+
+
+  public event DaliEventHandlerWithReturnType<object,ClickedEventArgs,bool> Clicked
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_buttonClickedEventHandler == null)
+           {
+              _buttonClickedEventHandler += value;
+
+              _buttonClickedCallbackDelegate = new ClickedCallbackDelegate(OnClicked);
+              this.ClickedSignal().Connect(_buttonClickedCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_buttonClickedEventHandler != null)
+           {
+               this.ClickedSignal().Disconnect(_buttonClickedCallbackDelegate);
+           }
+
+           _buttonClickedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for button click signal
+  private bool OnClicked (IntPtr data)
+  {
+     ClickedEventArgs e = new ClickedEventArgs();
+
+     e.Button = Button.GetButtonFromPtr(data);
+
+     if (_buttonClickedEventHandler != null)
+     {
+        //here we send all data to user event handlers
+        return _buttonClickedEventHandler(this, e);
+     }
+     return false;
+  }
+
+
+  public event DaliEventHandlerWithReturnType<object,PressedEventArgs,bool> Pressed
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_buttonPressedEventHandler == null)
+           {
+              _buttonPressedEventHandler += value;
+
+              _buttonPressedCallbackDelegate = new PressedCallbackDelegate(OnPressed);
+              this.PressedSignal().Connect(_buttonPressedCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_buttonPressedEventHandler != null)
+           {
+               this.PressedSignal().Disconnect(_buttonPressedCallbackDelegate);
+           }
+
+           _buttonPressedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for button click signal
+  private bool OnPressed (IntPtr data)
+  {
+     PressedEventArgs e = new PressedEventArgs();
+
+     e.Button = Button.GetButtonFromPtr(data);
+
+     if (_buttonPressedEventHandler != null)
+     {
+        //here we send all data to user event handlers
+       return _buttonPressedEventHandler(this, e);
+     }
+     return false;
+  }
+
+
+  public event DaliEventHandlerWithReturnType<object,ReleasedEventArgs,bool> Released
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_buttonReleasedEventHandler == null)
+           {
+              _buttonReleasedEventHandler += value;
+
+              _buttonReleasedCallbackDelegate = new ReleasedCallbackDelegate(OnReleased);
+              this.ReleasedSignal().Connect(_buttonReleasedCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_buttonReleasedEventHandler != null)
+           {
+               this.ReleasedSignal().Disconnect(_buttonReleasedCallbackDelegate);
+           }
+
+           _buttonReleasedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for button click signal
+  private bool OnReleased (IntPtr data)
+  {
+     ReleasedEventArgs e = new ReleasedEventArgs();
+
+     e.Button = Button.GetButtonFromPtr(data);
+
+     if (_buttonReleasedEventHandler != null)
+     {
+        //here we send all data to user event handlers
+       return _buttonReleasedEventHandler(this, e);
+     }
+     return false;
+  }
+
+
+  public event DaliEventHandlerWithReturnType<object,StateChangedEventArgs,bool> StateChanged
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_buttonStateChangedEventHandler == null)
+           {
+              _buttonStateChangedEventHandler += value;
+
+              _buttonStateChangedCallbackDelegate = new StateChangedCallbackDelegate(OnStateChanged);
+              this.StateChangedSignal().Connect(_buttonStateChangedCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_buttonStateChangedEventHandler != null)
+           {
+               this.StateChangedSignal().Disconnect(_buttonStateChangedCallbackDelegate);
+           }
+
+           _buttonStateChangedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for button click signal
+  private bool OnStateChanged (IntPtr data)
+  {
+     StateChangedEventArgs e = new StateChangedEventArgs();
+
+     e.Button = Button.GetButtonFromPtr(data);
+
+     if (_buttonStateChangedEventHandler != null)
+     {
+        //here we send all data to user event handlers
+       return _buttonStateChangedEventHandler(this, e);
+     }
+     return false;
+  }
+
+ public static Button GetButtonFromPtr(global::System.IntPtr cPtr) {
+    Button ret = new Button(cPtr, false);
+   if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Dali.Property.Map UnselectedVisual
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( Button.Property.UNSELECTED_VISUAL).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Button.Property.UNSELECTED_VISUAL, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public Dali.Property.Map SelectedVisual
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( Button.Property.SELECTED_VISUAL).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Button.Property.SELECTED_VISUAL, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public Dali.Property.Map DisabledSelectedVisual
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( Button.Property.DISABLED_SELECTED_VISUAL).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Button.Property.DISABLED_SELECTED_VISUAL, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public Dali.Property.Map DisabledUnselectedVisual
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( Button.Property.DISABLED_UNSELECTED_VISUAL).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Button.Property.DISABLED_UNSELECTED_VISUAL, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public Dali.Property.Map UnselectedBackgroundVisual
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( Button.Property.UNSELECTED_BACKGROUND_VISUAL).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Button.Property.UNSELECTED_BACKGROUND_VISUAL, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public Dali.Property.Map SelectedBackgroundVisual
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( Button.Property.SELECTED_BACKGROUND_VISUAL).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Button.Property.SELECTED_BACKGROUND_VISUAL, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public Dali.Property.Map DisabledUnselectedBackgroundVisual
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( Button.Property.DISABLED_UNSELECTED_BACKGROUND_VISUAL).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Button.Property.DISABLED_UNSELECTED_BACKGROUND_VISUAL, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public Dali.Property.Map DisabledSelectedBackgroundVisual
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( Button.Property.DISABLED_SELECTED_BACKGROUND_VISUAL).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Button.Property.DISABLED_SELECTED_BACKGROUND_VISUAL, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public string LabelRelativeAlignment
+  {
+    get
+    {
+      string temp;
+      GetProperty( Button.Property.LABEL_RELATIVE_ALIGNMENT).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Button.Property.LABEL_RELATIVE_ALIGNMENT, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public Vector4 LabelPadding
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( Button.Property.LABEL_PADDING).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Button.Property.LABEL_PADDING, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public Vector4 VisualPadding
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( Button.Property.VISUAL_PADDING).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Button.Property.VISUAL_PADDING, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_Button_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public static readonly int UNSELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_UNSELECTED_VISUAL_get();
+    public static readonly int SELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_SELECTED_VISUAL_get();
+    public static readonly int DISABLED_SELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_SELECTED_VISUAL_get();
+    public static readonly int DISABLED_UNSELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_UNSELECTED_VISUAL_get();
+    public static readonly int UNSELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_UNSELECTED_BACKGROUND_VISUAL_get();
+    public static readonly int SELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_SELECTED_BACKGROUND_VISUAL_get();
+    public static readonly int DISABLED_UNSELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_UNSELECTED_BACKGROUND_VISUAL_get();
+    public static readonly int DISABLED_SELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_SELECTED_BACKGROUND_VISUAL_get();
+    public static readonly int LABEL_RELATIVE_ALIGNMENT = NDalicManualPINVOKE.Button_Property_LABEL_RELATIVE_ALIGNMENT_get();
+    public static readonly int LABEL_PADDING = NDalicManualPINVOKE.Button_Property_LABEL_PADDING_get();
+    public static readonly int VISUAL_PADDING = NDalicManualPINVOKE.Button_Property_VISUAL_PADDING_get();
+  
+    public Property() : this(NDalicPINVOKE.new_Button_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int DISABLED = NDalicPINVOKE.Button_Property_DISABLED_get();
+    public static readonly int AUTO_REPEATING = NDalicPINVOKE.Button_Property_AUTO_REPEATING_get();
+    public static readonly int INITIAL_AUTO_REPEATING_DELAY = NDalicPINVOKE.Button_Property_INITIAL_AUTO_REPEATING_DELAY_get();
+    public static readonly int NEXT_AUTO_REPEATING_DELAY = NDalicPINVOKE.Button_Property_NEXT_AUTO_REPEATING_DELAY_get();
+    public static readonly int TOGGLABLE = NDalicPINVOKE.Button_Property_TOGGLABLE_get();
+    public static readonly int SELECTED = NDalicPINVOKE.Button_Property_SELECTED_get();
+    public static readonly int UNSELECTED_STATE_IMAGE = NDalicPINVOKE.Button_Property_UNSELECTED_STATE_IMAGE_get();
+    public static readonly int SELECTED_STATE_IMAGE = NDalicPINVOKE.Button_Property_SELECTED_STATE_IMAGE_get();
+    public static readonly int DISABLED_STATE_IMAGE = NDalicPINVOKE.Button_Property_DISABLED_STATE_IMAGE_get();
+    public static readonly int UNSELECTED_COLOR = NDalicPINVOKE.Button_Property_UNSELECTED_COLOR_get();
+    public static readonly int SELECTED_COLOR = NDalicPINVOKE.Button_Property_SELECTED_COLOR_get();
+    public static readonly int LABEL = NDalicPINVOKE.Button_Property_LABEL_get();
+    public static readonly int LABEL_TEXT = NDalicPINVOKE.Button_Property_LABEL_TEXT_get();
+  
+  }
+
+  public Button() : this(NDalicPINVOKE.new_Button__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Button(Button button) : this(NDalicPINVOKE.new_Button__SWIG_1(Button.getCPtr(button)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Button Assign(Button button) {
+    Button ret = new Button(NDalicPINVOKE.Button_Assign(swigCPtr, Button.getCPtr(button)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static Button DownCast(BaseHandle handle) {
+    Button ret = new Button(NDalicPINVOKE.Button_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool IsDisabled() {
+    bool ret = NDalicPINVOKE.Button_IsDisabled(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool IsAutoRepeating() {
+    bool ret = NDalicPINVOKE.Button_IsAutoRepeating(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float GetInitialAutoRepeatingDelay() {
+    float ret = NDalicPINVOKE.Button_GetInitialAutoRepeatingDelay(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float GetNextAutoRepeatingDelay() {
+    float ret = NDalicPINVOKE.Button_GetNextAutoRepeatingDelay(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool IsTogglableButton() {
+    bool ret = NDalicPINVOKE.Button_IsTogglableButton(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool IsSelected() {
+    bool ret = NDalicPINVOKE.Button_IsSelected(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float GetAnimationTime() {
+    float ret = NDalicPINVOKE.Button_GetAnimationTime(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public string GetLabelText() {
+    string ret = NDalicPINVOKE.Button_GetLabelText(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetLabel(Actor label) {
+    NDalicPINVOKE.Button_SetLabel(swigCPtr, Actor.getCPtr(label));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetButtonImage(Image image) {
+    NDalicPINVOKE.Button_SetButtonImage(swigCPtr, Image.getCPtr(image));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetSelectedImage(Image image) {
+    NDalicPINVOKE.Button_SetSelectedImage(swigCPtr, Image.getCPtr(image));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Actor GetButtonImage() {
+    Actor ret = new Actor(NDalicPINVOKE.Button_GetButtonImage(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Actor GetSelectedImage() {
+    Actor ret = new Actor(NDalicPINVOKE.Button_GetSelectedImage(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ButtonSignal PressedSignal() {
+    ButtonSignal ret = new ButtonSignal(NDalicPINVOKE.Button_PressedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ButtonSignal ReleasedSignal() {
+    ButtonSignal ret = new ButtonSignal(NDalicPINVOKE.Button_ReleasedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ButtonSignal ClickedSignal() {
+    ButtonSignal ret = new ButtonSignal(NDalicPINVOKE.Button_ClickedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ButtonSignal StateChangedSignal() {
+    ButtonSignal ret = new ButtonSignal(NDalicPINVOKE.Button_StateChangedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum PropertyRange {
+    PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+    PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000
+  }
+
+  public bool Disabled
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( Button.Property.DISABLED).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Button.Property.DISABLED, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool AutoRepeating
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( Button.Property.AUTO_REPEATING).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Button.Property.AUTO_REPEATING, new Dali.Property.Value( value ) );
+    }
+  }
+  public float InitialAutoRepeatingDelay
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Button.Property.INITIAL_AUTO_REPEATING_DELAY).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Button.Property.INITIAL_AUTO_REPEATING_DELAY, new Dali.Property.Value( value ) );
+    }
+  }
+  public float NextAutoRepeatingDelay
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Button.Property.NEXT_AUTO_REPEATING_DELAY).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Button.Property.NEXT_AUTO_REPEATING_DELAY, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool Togglable
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( Button.Property.TOGGLABLE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Button.Property.TOGGLABLE, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool Selected
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( Button.Property.SELECTED).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Button.Property.SELECTED, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map UnselectedStateImage
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( Button.Property.UNSELECTED_STATE_IMAGE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Button.Property.UNSELECTED_STATE_IMAGE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map SelectedStateImage
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( Button.Property.SELECTED_STATE_IMAGE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Button.Property.SELECTED_STATE_IMAGE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map DisabledStateImage
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( Button.Property.DISABLED_STATE_IMAGE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Button.Property.DISABLED_STATE_IMAGE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector4 UnselectedColor
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( Button.Property.UNSELECTED_COLOR).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Button.Property.UNSELECTED_COLOR, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector4 SelectedColor
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( Button.Property.SELECTED_COLOR).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Button.Property.SELECTED_COLOR, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map Label
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( Button.Property.LABEL).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Button.Property.LABEL, new Dali.Property.Value( value ) );
+    }
+  }
+  public string LabelText
+  {
+    get
+    {
+      string temp;
+      GetProperty( Button.Property.LABEL_TEXT).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Button.Property.LABEL_TEXT, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
\ No newline at end of file
diff --git a/plugins/dali-sharp/sharp/internal/ButtonSignal.cs b/plugins/dali-sharp/sharp/internal/ButtonSignal.cs
new file mode 100644 (file)
index 0000000..eb90e3c
--- /dev/null
@@ -0,0 +1,89 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ButtonSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal ButtonSignal(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(ButtonSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ButtonSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ButtonSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.ButtonSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.ButtonSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ButtonSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ButtonSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public bool Emit(Button arg) {
+    bool ret = NDalicPINVOKE.ButtonSignal_Emit(swigCPtr, Button.getCPtr(arg));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ButtonSignal() : this(NDalicPINVOKE.new_ButtonSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/CameraActor.cs b/plugins/dali-sharp/sharp/internal/CameraActor.cs
new file mode 100644 (file)
index 0000000..8b02e1a
--- /dev/null
@@ -0,0 +1,417 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class CameraActor : Actor {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal CameraActor(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.CameraActor_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CameraActor obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~CameraActor() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_CameraActor(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_CameraActor_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_CameraActor_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int TYPE = NDalicPINVOKE.CameraActor_Property_TYPE_get();
+    public static readonly int PROJECTION_MODE = NDalicPINVOKE.CameraActor_Property_PROJECTION_MODE_get();
+    public static readonly int FIELD_OF_VIEW = NDalicPINVOKE.CameraActor_Property_FIELD_OF_VIEW_get();
+    public static readonly int ASPECT_RATIO = NDalicPINVOKE.CameraActor_Property_ASPECT_RATIO_get();
+    public static readonly int NEAR_PLANE_DISTANCE = NDalicPINVOKE.CameraActor_Property_NEAR_PLANE_DISTANCE_get();
+    public static readonly int FAR_PLANE_DISTANCE = NDalicPINVOKE.CameraActor_Property_FAR_PLANE_DISTANCE_get();
+    public static readonly int LEFT_PLANE_DISTANCE = NDalicPINVOKE.CameraActor_Property_LEFT_PLANE_DISTANCE_get();
+    public static readonly int RIGHT_PLANE_DISTANCE = NDalicPINVOKE.CameraActor_Property_RIGHT_PLANE_DISTANCE_get();
+    public static readonly int TOP_PLANE_DISTANCE = NDalicPINVOKE.CameraActor_Property_TOP_PLANE_DISTANCE_get();
+    public static readonly int BOTTOM_PLANE_DISTANCE = NDalicPINVOKE.CameraActor_Property_BOTTOM_PLANE_DISTANCE_get();
+    public static readonly int TARGET_POSITION = NDalicPINVOKE.CameraActor_Property_TARGET_POSITION_get();
+    public static readonly int PROJECTION_MATRIX = NDalicPINVOKE.CameraActor_Property_PROJECTION_MATRIX_get();
+    public static readonly int VIEW_MATRIX = NDalicPINVOKE.CameraActor_Property_VIEW_MATRIX_get();
+    public static readonly int INVERT_Y_AXIS = NDalicPINVOKE.CameraActor_Property_INVERT_Y_AXIS_get();
+  
+  }
+
+  public CameraActor () : this (NDalicPINVOKE.CameraActor_New__SWIG_0(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public CameraActor (Vector2 size) : this (NDalicPINVOKE.CameraActor_New__SWIG_1(Vector2.getCPtr(size)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public new static CameraActor DownCast(BaseHandle handle) {
+    CameraActor ret = new CameraActor(NDalicPINVOKE.CameraActor_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public CameraActor(CameraActor copy) : this(NDalicPINVOKE.new_CameraActor__SWIG_1(CameraActor.getCPtr(copy)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public CameraActor Assign(CameraActor rhs) {
+    CameraActor ret = new CameraActor(NDalicPINVOKE.CameraActor_Assign(swigCPtr, CameraActor.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetType(CameraType type) {
+    NDalicPINVOKE.CameraActor_SetType(swigCPtr, (int)type);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public CameraType GetType() {
+    CameraType ret = (CameraType)NDalicPINVOKE.CameraActor_GetType(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetProjectionMode(ProjectionMode mode) {
+    NDalicPINVOKE.CameraActor_SetProjectionMode(swigCPtr, (int)mode);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ProjectionMode GetProjectionMode() {
+    ProjectionMode ret = (ProjectionMode)NDalicPINVOKE.CameraActor_GetProjectionMode(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetFieldOfView(float fieldOfView) {
+    NDalicPINVOKE.CameraActor_SetFieldOfView(swigCPtr, fieldOfView);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetFieldOfView() {
+    float ret = NDalicPINVOKE.CameraActor_GetFieldOfView(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetAspectRatio(float aspectRatio) {
+    NDalicPINVOKE.CameraActor_SetAspectRatio(swigCPtr, aspectRatio);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetAspectRatio() {
+    float ret = NDalicPINVOKE.CameraActor_GetAspectRatio(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetNearClippingPlane(float nearClippingPlane) {
+    NDalicPINVOKE.CameraActor_SetNearClippingPlane(swigCPtr, nearClippingPlane);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetNearClippingPlane() {
+    float ret = NDalicPINVOKE.CameraActor_GetNearClippingPlane(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetFarClippingPlane(float farClippingPlane) {
+    NDalicPINVOKE.CameraActor_SetFarClippingPlane(swigCPtr, farClippingPlane);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetFarClippingPlane() {
+    float ret = NDalicPINVOKE.CameraActor_GetFarClippingPlane(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetTargetPosition(Vector3 targetPosition) {
+    NDalicPINVOKE.CameraActor_SetTargetPosition(swigCPtr, Vector3.getCPtr(targetPosition));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector3 GetTargetPosition() {
+    Vector3 ret = new Vector3(NDalicPINVOKE.CameraActor_GetTargetPosition(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetInvertYAxis(bool invertYAxis) {
+    NDalicPINVOKE.CameraActor_SetInvertYAxis(swigCPtr, invertYAxis);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool GetInvertYAxis() {
+    bool ret = NDalicPINVOKE.CameraActor_GetInvertYAxis(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetPerspectiveProjection(Vector2 size) {
+    NDalicPINVOKE.CameraActor_SetPerspectiveProjection(swigCPtr, Vector2.getCPtr(size));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetOrthographicProjection(Vector2 size) {
+    NDalicPINVOKE.CameraActor_SetOrthographicProjection__SWIG_0(swigCPtr, Vector2.getCPtr(size));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetOrthographicProjection(float left, float right, float top, float bottom, float near, float far) {
+    NDalicPINVOKE.CameraActor_SetOrthographicProjection__SWIG_1(swigCPtr, left, right, top, bottom, near, far);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public string Type
+  {
+    get
+    {
+      string temp;
+      GetProperty( CameraActor.Property.TYPE).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( CameraActor.Property.TYPE, new Dali.Property.Value( value ) );
+    }
+  }
+  public string ProjectionMode
+  {
+    get
+    {
+      string temp;
+      GetProperty( CameraActor.Property.PROJECTION_MODE).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( CameraActor.Property.PROJECTION_MODE, new Dali.Property.Value( value ) );
+    }
+  }
+  public float FieldOfView
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( CameraActor.Property.FIELD_OF_VIEW).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( CameraActor.Property.FIELD_OF_VIEW, new Dali.Property.Value( value ) );
+    }
+  }
+  public float AspectRatio
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( CameraActor.Property.ASPECT_RATIO).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( CameraActor.Property.ASPECT_RATIO, new Dali.Property.Value( value ) );
+    }
+  }
+  public float NearPlaneDistance
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( CameraActor.Property.NEAR_PLANE_DISTANCE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( CameraActor.Property.NEAR_PLANE_DISTANCE, new Dali.Property.Value( value ) );
+    }
+  }
+  public float FarPlaneDistance
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( CameraActor.Property.FAR_PLANE_DISTANCE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( CameraActor.Property.FAR_PLANE_DISTANCE, new Dali.Property.Value( value ) );
+    }
+  }
+  public float LeftPlaneDistance
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( CameraActor.Property.LEFT_PLANE_DISTANCE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( CameraActor.Property.LEFT_PLANE_DISTANCE, new Dali.Property.Value( value ) );
+    }
+  }
+  public float RightPlaneDistance
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( CameraActor.Property.RIGHT_PLANE_DISTANCE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( CameraActor.Property.RIGHT_PLANE_DISTANCE, new Dali.Property.Value( value ) );
+    }
+  }
+  public float TopPlaneDistance
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( CameraActor.Property.TOP_PLANE_DISTANCE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( CameraActor.Property.TOP_PLANE_DISTANCE, new Dali.Property.Value( value ) );
+    }
+  }
+  public float BottomPlaneDistance
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( CameraActor.Property.BOTTOM_PLANE_DISTANCE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( CameraActor.Property.BOTTOM_PLANE_DISTANCE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector3 TargetPosition
+  {
+    get
+    {
+      Vector3 temp = new Vector3(0.0f,0.0f,0.0f);
+      GetProperty( CameraActor.Property.TARGET_POSITION).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( CameraActor.Property.TARGET_POSITION, new Dali.Property.Value( value ) );
+    }
+  }
+  public Matrix ProjectionMatrix
+  {
+    get
+    {
+      Matrix temp = new Matrix();
+      GetProperty( CameraActor.Property.PROJECTION_MATRIX).Get(  temp );
+      return temp;
+    }
+}  public Matrix ViewMatrix
+  {
+    get
+    {
+      Matrix temp = new Matrix();
+      GetProperty( CameraActor.Property.VIEW_MATRIX).Get(  temp );
+      return temp;
+    }
+}  public bool InvertYAxis
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( CameraActor.Property.INVERT_Y_AXIS).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( CameraActor.Property.INVERT_Y_AXIS, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/CameraType.cs b/plugins/dali-sharp/sharp/internal/CameraType.cs
new file mode 100644 (file)
index 0000000..f57da90
--- /dev/null
@@ -0,0 +1,18 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum CameraType {
+  FREE_LOOK,
+  LOOK_AT_TARGET
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/CheckBoxButton.cs b/plugins/dali-sharp/sharp/internal/CheckBoxButton.cs
new file mode 100644 (file)
index 0000000..0d5dfda
--- /dev/null
@@ -0,0 +1,86 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class CheckBoxButton : Button {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal CheckBoxButton(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.CheckBoxButton_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CheckBoxButton obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~CheckBoxButton() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_CheckBoxButton(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public CheckBoxButton () : this (NDalicPINVOKE.CheckBoxButton_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public CheckBoxButton(CheckBoxButton checkBox) : this(NDalicPINVOKE.new_CheckBoxButton__SWIG_1(CheckBoxButton.getCPtr(checkBox)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public CheckBoxButton Assign(CheckBoxButton checkBox) {
+    CheckBoxButton ret = new CheckBoxButton(NDalicPINVOKE.CheckBoxButton_Assign(swigCPtr, CheckBoxButton.getCPtr(checkBox)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static CheckBoxButton DownCast(BaseHandle handle) {
+    CheckBoxButton ret = new CheckBoxButton(NDalicPINVOKE.CheckBoxButton_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ChildPropertyRegistration.cs b/plugins/dali-sharp/sharp/internal/ChildPropertyRegistration.cs
new file mode 100644 (file)
index 0000000..3091aac
--- /dev/null
@@ -0,0 +1,55 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ChildPropertyRegistration : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal ChildPropertyRegistration(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(ChildPropertyRegistration obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ChildPropertyRegistration() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ChildPropertyRegistration(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public ChildPropertyRegistration(TypeRegistration registered, string name, int index, Property.Type type) : this(NDalicPINVOKE.new_ChildPropertyRegistration(TypeRegistration.getCPtr(registered), name, index, (int)type), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ClampState.cs b/plugins/dali-sharp/sharp/internal/ClampState.cs
new file mode 100644 (file)
index 0000000..60693be
--- /dev/null
@@ -0,0 +1,19 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum ClampState {
+  NotClamped,
+  ClampedToMin,
+  ClampedToMax
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ClampState2D.cs b/plugins/dali-sharp/sharp/internal/ClampState2D.cs
new file mode 100644 (file)
index 0000000..44f3163
--- /dev/null
@@ -0,0 +1,79 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ClampState2D : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal ClampState2D(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(ClampState2D obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ClampState2D() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ClampState2D(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public ClampState x {
+    set {
+      NDalicPINVOKE.ClampState2D_x_set(swigCPtr, (int)value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      ClampState ret = (ClampState)NDalicPINVOKE.ClampState2D_x_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public ClampState y {
+    set {
+      NDalicPINVOKE.ClampState2D_y_set(swigCPtr, (int)value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      ClampState ret = (ClampState)NDalicPINVOKE.ClampState2D_y_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public ClampState2D() : this(NDalicPINVOKE.new_ClampState2D(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ClippingModeType.cs b/plugins/dali-sharp/sharp/internal/ClippingModeType.cs
new file mode 100644 (file)
index 0000000..3578a02
--- /dev/null
@@ -0,0 +1,18 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum ClippingModeType {
+  DISABLED,
+  CLIP_CHILDREN
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Color.cs b/plugins/dali-sharp/sharp/internal/Color.cs
new file mode 100755 (executable)
index 0000000..ca0dd01
--- /dev/null
@@ -0,0 +1,357 @@
+/*
+ * 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 Dali {
+
+using System;
+
+public class Color : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal Color(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(Color obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Color() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public static Color operator+(Color arg1, Color arg2) {
+    return arg1.Add(arg2);
+  }
+
+  public static Color operator-(Color arg1, Color arg2) {
+    return arg1.Subtract(arg2);
+  }
+
+  public static Color operator-(Color arg1) {
+    return arg1.Subtract();
+  }
+
+  public static Color operator*(Color arg1, Color arg2) {
+    return arg1.Multiply(arg2);
+  }
+
+  public static Color operator*(Color arg1, float arg2) {
+    return arg1.Multiply(arg2);
+  }
+
+  public static Color operator/(Color arg1, Color arg2) {
+    return arg1.Divide(arg2);
+  }
+
+  public static Color operator/(Color arg1, float arg2) {
+    return arg1.Divide(arg2);
+  }
+
+
+  public float this[uint index]
+  {
+    get
+    {
+      return ValueOfIndex(index);
+    }
+  }
+
+  public static Color GetColorFromPtr(global::System.IntPtr cPtr) {
+    Color ret = new Color(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+       return ret;
+  }
+
+
+  public Color() : this(NDalicPINVOKE.new_Vector4__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Color(float r, float g, float b, float a) : this(NDalicPINVOKE.new_Vector4__SWIG_1(r, g, b, a), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Color(float[] array) : this(NDalicPINVOKE.new_Vector4__SWIG_2(array), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  private Color Add(Color rhs) {
+    Color ret = new Color(NDalicPINVOKE.Vector4_Add(swigCPtr, Color.getCPtr(rhs)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Color AddAssign(Vector4 rhs) {
+    Color ret = new Color(NDalicPINVOKE.Vector4_AddAssign(swigCPtr, Color.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Color Subtract(Color rhs) {
+    Color ret = new Color(NDalicPINVOKE.Vector4_Subtract__SWIG_0(swigCPtr, Color.getCPtr(rhs)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Color SubtractAssign(Color rhs) {
+    Color ret = new Color(NDalicPINVOKE.Vector4_SubtractAssign(swigCPtr, Color.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Color Multiply(Color rhs) {
+    Color ret = new Color(NDalicPINVOKE.Vector4_Multiply__SWIG_0(swigCPtr, Color.getCPtr(rhs)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Color Multiply(float rhs) {
+    Color ret = new Color(NDalicPINVOKE.Vector4_Multiply__SWIG_1(swigCPtr, rhs), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Color MultiplyAssign(Color rhs) {
+    Color ret = new Color(NDalicPINVOKE.Vector4_MultiplyAssign__SWIG_0(swigCPtr, Color.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Color MultiplyAssign(float rhs) {
+    Color ret = new Color(NDalicPINVOKE.Vector4_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Color Divide(Vector4 rhs) {
+    Color ret = new Color(NDalicPINVOKE.Vector4_Divide__SWIG_0(swigCPtr, Color.getCPtr(rhs)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Color Divide(float rhs) {
+    Color ret = new Color(NDalicPINVOKE.Vector4_Divide__SWIG_1(swigCPtr, rhs), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Color DivideAssign(Color rhs) {
+    Color ret = new Color(NDalicPINVOKE.Vector4_DivideAssign__SWIG_0(swigCPtr, Color.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Color DivideAssign(float rhs) {
+    Color ret = new Color(NDalicPINVOKE.Vector4_DivideAssign__SWIG_1(swigCPtr, rhs), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Color Subtract() {
+    Color ret = new Color(NDalicPINVOKE.Vector4_Subtract__SWIG_1(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  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;
+  }
+
+  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);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  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;
+    }
+  }
+
+  public float G {
+    set {
+      NDalicPINVOKE.Vector4_g_set(swigCPtr, 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;
+    }
+  }
+
+  public float B {
+    set {
+      NDalicPINVOKE.Vector4_b_set(swigCPtr, 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;
+    }
+  }
+
+  public float A {
+    set {
+      NDalicPINVOKE.Vector4_a_set(swigCPtr, 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;
+    }
+  }
+
+  public static Color Black {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.BLACK_get();
+      Color ret = (cPtr == global::System.IntPtr.Zero) ? null : new Color(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  }
+
+  public static Color White {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.WHITE_get();
+      Color ret = (cPtr == global::System.IntPtr.Zero) ? null : new Color(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  }
+
+  public static Color Red {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.RED_get();
+      Color ret = (cPtr == global::System.IntPtr.Zero) ? null : new Color(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  }
+
+  public static Color Green {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.GREEN_get();
+      Color ret = (cPtr == global::System.IntPtr.Zero) ? null : new Color(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  }
+
+  public static Color Blue {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.BLUE_get();
+      Color ret = (cPtr == global::System.IntPtr.Zero) ? null : new Color(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  }
+
+  public static Color Yellow {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.YELLOW_get();
+      Color ret = (cPtr == global::System.IntPtr.Zero) ? null : new Color(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  }
+
+  public static Color Magenta {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.MAGENTA_get();
+      Color ret = (cPtr == global::System.IntPtr.Zero) ? null : new Color(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  }
+
+  public static Color Cyan {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.CYAN_get();
+      Color ret = (cPtr == global::System.IntPtr.Zero) ? null : new Color(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  }
+
+  public static Color Transparent {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.TRANSPARENT_get();
+      Color ret = (cPtr == global::System.IntPtr.Zero) ? null : new Color(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  }
+
+  public static implicit operator Vector4(Color color)
+  {
+    return new Vector4(color.R, color.G, color.B, color.A);
+  }
+
+  public static implicit operator Color(Vector4 vec)
+  {
+    return new Color(vec.r, vec.g, vec.b, vec.a);
+  }
+
+}
+
+}
+
+
diff --git a/plugins/dali-sharp/sharp/internal/ColorMode.cs b/plugins/dali-sharp/sharp/internal/ColorMode.cs
new file mode 100644 (file)
index 0000000..aa0125b
--- /dev/null
@@ -0,0 +1,20 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum ColorMode {
+  USE_OWN_COLOR,
+  USE_PARENT_COLOR,
+  USE_OWN_MULTIPLY_PARENT_COLOR,
+  USE_OWN_MULTIPLY_PARENT_ALPHA
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ConnectionTracker.cs b/plugins/dali-sharp/sharp/internal/ConnectionTracker.cs
new file mode 100644 (file)
index 0000000..e167ae9
--- /dev/null
@@ -0,0 +1,71 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ConnectionTracker : ConnectionTrackerInterface {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal ConnectionTracker(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ConnectionTracker_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ConnectionTracker obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ConnectionTracker() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ConnectionTracker(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public void DisconnectAll() {
+    NDalicPINVOKE.ConnectionTracker_DisconnectAll(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual void SignalConnected(SlotObserver slotObserver, SWIGTYPE_p_Dali__CallbackBase callback) {
+    NDalicPINVOKE.ConnectionTracker_SignalConnected(swigCPtr, SlotObserver.getCPtr(slotObserver), SWIGTYPE_p_Dali__CallbackBase.getCPtr(callback));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual void SignalDisconnected(SlotObserver slotObserver, SWIGTYPE_p_Dali__CallbackBase callback) {
+    NDalicPINVOKE.ConnectionTracker_SignalDisconnected(swigCPtr, SlotObserver.getCPtr(slotObserver), SWIGTYPE_p_Dali__CallbackBase.getCPtr(callback));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.ConnectionTracker_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ConnectionTrackerInterface.cs b/plugins/dali-sharp/sharp/internal/ConnectionTrackerInterface.cs
new file mode 100644 (file)
index 0000000..cfc92a4
--- /dev/null
@@ -0,0 +1,55 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ConnectionTrackerInterface : SignalObserver {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal ConnectionTrackerInterface(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ConnectionTrackerInterface_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ConnectionTrackerInterface obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ConnectionTrackerInterface() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ConnectionTrackerInterface(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public virtual void SignalConnected(SlotObserver slotObserver, SWIGTYPE_p_CallbackBase callback) {
+    NDalicPINVOKE.ConnectionTrackerInterface_SignalConnected(swigCPtr, SlotObserver.getCPtr(slotObserver), SWIGTYPE_p_CallbackBase.getCPtr(callback));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ControlKeySignal.cs b/plugins/dali-sharp/sharp/internal/ControlKeySignal.cs
new file mode 100644 (file)
index 0000000..95bf65d
--- /dev/null
@@ -0,0 +1,89 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ControlKeySignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal ControlKeySignal(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(ControlKeySignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ControlKeySignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ControlKeySignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.ControlKeySignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.ControlKeySignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ControlKeySignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ControlKeySignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public bool Emit(View arg1, Key arg2) {
+    bool ret = NDalicPINVOKE.ControlKeySignal_Emit(swigCPtr, View.getCPtr(arg1), Key.getCPtr(arg2));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ControlKeySignal() : this(NDalicPINVOKE.new_ControlKeySignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ControlOrientationType.cs b/plugins/dali-sharp/sharp/internal/ControlOrientationType.cs
new file mode 100644 (file)
index 0000000..211e9cf
--- /dev/null
@@ -0,0 +1,20 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum ControlOrientationType {
+  Up,
+  Left,
+  Down,
+  Right
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/CustomActor.cs b/plugins/dali-sharp/sharp/internal/CustomActor.cs
new file mode 100644 (file)
index 0000000..53eacc2
--- /dev/null
@@ -0,0 +1,80 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class CustomActor : Actor {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal CustomActor(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.CustomActor_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CustomActor obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~CustomActor() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_CustomActor(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public CustomActor() : this(NDalicPINVOKE.new_CustomActor__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public new static CustomActor DownCast(BaseHandle handle) {
+    CustomActor ret = new CustomActor(NDalicPINVOKE.CustomActor_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public CustomActorImpl GetImplementation() {
+    CustomActorImpl ret = new CustomActorImpl(NDalicPINVOKE.CustomActor_GetImplementation(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public CustomActor(CustomActorImpl implementation) : this(NDalicPINVOKE.new_CustomActor__SWIG_1(CustomActorImpl.getCPtr(implementation)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public CustomActor(CustomActor copy) : this(NDalicPINVOKE.new_CustomActor__SWIG_2(CustomActor.getCPtr(copy)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public CustomActor Assign(CustomActor rhs) {
+    CustomActor ret = new CustomActor(NDalicPINVOKE.CustomActor_Assign(swigCPtr, CustomActor.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/CustomActorImpl.cs b/plugins/dali-sharp/sharp/internal/CustomActorImpl.cs
new file mode 100644 (file)
index 0000000..e8502a4
--- /dev/null
@@ -0,0 +1,185 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class CustomActorImpl : RefObject {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal CustomActorImpl(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.CustomActorImpl_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CustomActorImpl obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  public override void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          throw new global::System.MethodAccessException("C++ destructor does not have public access");
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+  public CustomActor Self() {
+    CustomActor ret = new CustomActor(NDalicPINVOKE.CustomActorImpl_Self(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual void OnStageConnection(int depth) {
+    NDalicPINVOKE.CustomActorImpl_OnStageConnection(swigCPtr, depth);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual void OnStageDisconnection() {
+    NDalicPINVOKE.CustomActorImpl_OnStageDisconnection(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual void OnChildAdd(Actor child) {
+    NDalicPINVOKE.CustomActorImpl_OnChildAdd(swigCPtr, Actor.getCPtr(child));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual void OnChildRemove(Actor child) {
+    NDalicPINVOKE.CustomActorImpl_OnChildRemove(swigCPtr, Actor.getCPtr(child));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual void OnPropertySet(int index, Property.Value propertyValue) {
+    NDalicPINVOKE.CustomActorImpl_OnPropertySet(swigCPtr, index, Property.Value.getCPtr(propertyValue));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual void OnSizeSet(Vector3 targetSize) {
+    NDalicPINVOKE.CustomActorImpl_OnSizeSet(swigCPtr, Vector3.getCPtr(targetSize));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual void OnSizeAnimation(Animation animation, Vector3 targetSize) {
+    NDalicPINVOKE.CustomActorImpl_OnSizeAnimation(swigCPtr, Animation.getCPtr(animation), Vector3.getCPtr(targetSize));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual bool OnTouchEvent(SWIGTYPE_p_Dali__TouchEvent arg0) {
+    bool ret = NDalicPINVOKE.CustomActorImpl_OnTouchEvent(swigCPtr, SWIGTYPE_p_Dali__TouchEvent.getCPtr(arg0));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual bool OnHoverEvent(Hover arg0) {
+    bool ret = NDalicPINVOKE.CustomActorImpl_OnHoverEvent(swigCPtr, Hover.getCPtr(arg0));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual bool OnKeyEvent(Key arg0) {
+    bool ret = NDalicPINVOKE.CustomActorImpl_OnKeyEvent(swigCPtr, Key.getCPtr(arg0));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual bool OnWheelEvent(Wheel arg0) {
+    bool ret = NDalicPINVOKE.CustomActorImpl_OnWheelEvent(swigCPtr, Wheel.getCPtr(arg0));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual void OnRelayout(Vector2 size, RelayoutContainer container) {
+    NDalicPINVOKE.CustomActorImpl_OnRelayout(swigCPtr, Vector2.getCPtr(size), RelayoutContainer.getCPtr(container));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual void OnSetResizePolicy(ResizePolicyType policy, DimensionType dimension) {
+    NDalicPINVOKE.CustomActorImpl_OnSetResizePolicy(swigCPtr, (int)policy, (int)dimension);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual Vector3 GetNaturalSize() {
+    Vector3 ret = new Vector3(NDalicPINVOKE.CustomActorImpl_GetNaturalSize(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual float CalculateChildSize(Actor child, DimensionType dimension) {
+    float ret = NDalicPINVOKE.CustomActorImpl_CalculateChildSize(swigCPtr, Actor.getCPtr(child), (int)dimension);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual float GetHeightForWidth(float width) {
+    float ret = NDalicPINVOKE.CustomActorImpl_GetHeightForWidth(swigCPtr, width);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual float GetWidthForHeight(float height) {
+    float ret = NDalicPINVOKE.CustomActorImpl_GetWidthForHeight(swigCPtr, height);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual bool RelayoutDependentOnChildren(DimensionType dimension) {
+    bool ret = NDalicPINVOKE.CustomActorImpl_RelayoutDependentOnChildren__SWIG_0(swigCPtr, (int)dimension);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual bool RelayoutDependentOnChildren() {
+    bool ret = NDalicPINVOKE.CustomActorImpl_RelayoutDependentOnChildren__SWIG_1(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual void OnCalculateRelayoutSize(DimensionType dimension) {
+    NDalicPINVOKE.CustomActorImpl_OnCalculateRelayoutSize(swigCPtr, (int)dimension);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual void OnLayoutNegotiated(float size, DimensionType dimension) {
+    NDalicPINVOKE.CustomActorImpl_OnLayoutNegotiated(swigCPtr, size, (int)dimension);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool RequiresTouchEvents() {
+    bool ret = NDalicPINVOKE.CustomActorImpl_RequiresTouchEvents(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool RequiresHoverEvents() {
+    bool ret = NDalicPINVOKE.CustomActorImpl_RequiresHoverEvents(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool RequiresWheelEvents() {
+    bool ret = NDalicPINVOKE.CustomActorImpl_RequiresWheelEvents(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool IsRelayoutEnabled() {
+    bool ret = NDalicPINVOKE.CustomActorImpl_IsRelayoutEnabled(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/CustomAlgorithmInterface.cs b/plugins/dali-sharp/sharp/internal/CustomAlgorithmInterface.cs
new file mode 100644 (file)
index 0000000..4cf224d
--- /dev/null
@@ -0,0 +1,83 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class CustomAlgorithmInterface : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal CustomAlgorithmInterface(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(CustomAlgorithmInterface obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~CustomAlgorithmInterface() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_CustomAlgorithmInterface(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public virtual Actor GetNextFocusableActor(Actor current, Actor proposed, View.KeyboardFocus.Direction direction) {
+    Actor ret = new Actor(NDalicPINVOKE.CustomAlgorithmInterface_GetNextFocusableActor(swigCPtr, Actor.getCPtr(current), Actor.getCPtr(proposed), (int)direction), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public CustomAlgorithmInterface() : this(NDalicPINVOKE.new_CustomAlgorithmInterface(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    SwigDirectorConnect();
+  }
+
+  private void SwigDirectorConnect() {
+    if (SwigDerivedClassHasMethod("GetNextFocusableActor", swigMethodTypes0))
+      swigDelegate0 = new SwigDelegateCustomAlgorithmInterface_0(SwigDirectorGetNextFocusableActor);
+    NDalicPINVOKE.CustomAlgorithmInterface_director_connect(swigCPtr, swigDelegate0);
+  }
+
+  private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes) {
+    global::System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(methodName, global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance, null, methodTypes, null);
+    bool hasDerivedMethod = methodInfo.DeclaringType.IsSubclassOf(typeof(CustomAlgorithmInterface));
+    return hasDerivedMethod;
+  }
+
+  private global::System.IntPtr SwigDirectorGetNextFocusableActor(global::System.IntPtr current, global::System.IntPtr proposed, int direction) {
+    return Actor.getCPtr(GetNextFocusableActor(new Actor(current, true), new Actor(proposed, true), (View.KeyboardFocus.Direction)direction)).Handle;
+  }
+
+  public delegate global::System.IntPtr SwigDelegateCustomAlgorithmInterface_0(global::System.IntPtr current, global::System.IntPtr proposed, int direction);
+
+  private SwigDelegateCustomAlgorithmInterface_0 swigDelegate0;
+
+  private static global::System.Type[] swigMethodTypes0 = new global::System.Type[] { typeof(Actor), typeof(Actor), typeof(View.KeyboardFocus.Direction) };
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/CustomView.cs b/plugins/dali-sharp/sharp/internal/CustomView.cs
new file mode 100644 (file)
index 0000000..5d21371
--- /dev/null
@@ -0,0 +1,819 @@
+/*
+ * 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 Dali
+{
+    public class CustomView : ViewWrapper
+    {
+        public CustomView(string typeName, ViewWrapperImpl.CustomViewBehaviour behaviour) : base(typeName, new ViewWrapperImpl(behaviour))
+        {
+            // Registering CustomView virtual functions to viewWrapperImpl delegates.
+            viewWrapperImpl.OnStageConnection = new ViewWrapperImpl.OnStageConnectionDelegate(OnStageConnection);
+            viewWrapperImpl.OnStageDisconnection = new ViewWrapperImpl.OnStageDisconnectionDelegate(OnStageDisconnection);
+            viewWrapperImpl.OnChildAdd = new ViewWrapperImpl.OnChildAddDelegate(OnChildAdd);
+            viewWrapperImpl.OnChildRemove = new ViewWrapperImpl.OnChildRemoveDelegate(OnChildRemove);
+            viewWrapperImpl.OnPropertySet = new ViewWrapperImpl.OnPropertySetDelegate(OnPropertySet);
+            viewWrapperImpl.OnSizeSet = new ViewWrapperImpl.OnSizeSetDelegate(OnSizeSet);
+            viewWrapperImpl.OnSizeAnimation = new ViewWrapperImpl.OnSizeAnimationDelegate(OnSizeAnimation);
+            viewWrapperImpl.OnTouch = new ViewWrapperImpl.OnTouchDelegate(OnTouch);
+            viewWrapperImpl.OnHover = new ViewWrapperImpl.OnHoverDelegate(OnHover);
+            viewWrapperImpl.OnKey = new ViewWrapperImpl.OnKeyDelegate(OnKey);
+            viewWrapperImpl.OnWheel = new ViewWrapperImpl.OnWheelDelegate(OnWheel);
+            viewWrapperImpl.OnRelayout = new ViewWrapperImpl.OnRelayoutDelegate(OnRelayout);
+            viewWrapperImpl.OnSetResizePolicy = new ViewWrapperImpl.OnSetResizePolicyDelegate(OnSetResizePolicy);
+            viewWrapperImpl.GetNaturalSize = new ViewWrapperImpl.GetNaturalSizeDelegate(GetNaturalSize);
+            viewWrapperImpl.CalculateChildSize = new ViewWrapperImpl.CalculateChildSizeDelegate(CalculateChildSize);
+            viewWrapperImpl.GetHeightForWidth = new ViewWrapperImpl.GetHeightForWidthDelegate(GetHeightForWidth);
+            viewWrapperImpl.GetWidthForHeight = new ViewWrapperImpl.GetWidthForHeightDelegate(GetWidthForHeight);
+            viewWrapperImpl.RelayoutDependentOnChildrenDimension = new ViewWrapperImpl.RelayoutDependentOnChildrenDimensionDelegate(RelayoutDependentOnChildren);
+            viewWrapperImpl.RelayoutDependentOnChildren = new ViewWrapperImpl.RelayoutDependentOnChildrenDelegate(RelayoutDependentOnChildren);
+            viewWrapperImpl.OnCalculateRelayoutSize = new ViewWrapperImpl.OnCalculateRelayoutSizeDelegate(OnCalculateRelayoutSize);
+            viewWrapperImpl.OnLayoutNegotiated = new ViewWrapperImpl.OnLayoutNegotiatedDelegate(OnLayoutNegotiated);
+            viewWrapperImpl.OnControlChildAdd = new ViewWrapperImpl.OnControlChildAddDelegate(OnControlChildAdd);
+            viewWrapperImpl.OnControlChildRemove = new ViewWrapperImpl.OnControlChildRemoveDelegate(OnControlChildRemove);
+            viewWrapperImpl.OnStyleChange = new ViewWrapperImpl.OnStyleChangeDelegate(OnStyleChange);
+            viewWrapperImpl.OnAccessibilityActivated = new ViewWrapperImpl.OnAccessibilityActivatedDelegate(OnAccessibilityActivated);
+            viewWrapperImpl.OnAccessibilityPan = new ViewWrapperImpl.OnAccessibilityPanDelegate(OnAccessibilityPan);
+            viewWrapperImpl.OnAccessibilityTouch = new ViewWrapperImpl.OnAccessibilityTouchDelegate(OnAccessibilityTouch);
+            viewWrapperImpl.OnAccessibilityValueChange = new ViewWrapperImpl.OnAccessibilityValueChangeDelegate(OnAccessibilityValueChange);
+            viewWrapperImpl.OnAccessibilityZoom = new ViewWrapperImpl.OnAccessibilityZoomDelegate(OnAccessibilityZoom);
+            viewWrapperImpl.OnKeyInputFocusGained = new ViewWrapperImpl.OnKeyInputFocusGainedDelegate(OnKeyInputFocusGained);
+            viewWrapperImpl.OnKeyInputFocusLost = new ViewWrapperImpl.OnKeyInputFocusLostDelegate(OnKeyInputFocusLost);
+            viewWrapperImpl.GetNextKeyboardFocusableActor = new ViewWrapperImpl.GetNextKeyboardFocusableActorDelegate(GetNextKeyboardFocusableActor);
+            viewWrapperImpl.OnKeyboardFocusChangeCommitted = new ViewWrapperImpl.OnKeyboardFocusChangeCommittedDelegate(OnKeyboardFocusChangeCommitted);
+            viewWrapperImpl.OnKeyboardEnter = new ViewWrapperImpl.OnKeyboardEnterDelegate(OnKeyboardEnter);
+            viewWrapperImpl.OnPinch = new ViewWrapperImpl.OnPinchDelegate(OnPinch);
+            viewWrapperImpl.OnPan = new ViewWrapperImpl.OnPanDelegate(OnPan);
+            viewWrapperImpl.OnTap = new ViewWrapperImpl.OnTapDelegate(OnTap);
+            viewWrapperImpl.OnLongPress = new ViewWrapperImpl.OnLongPressDelegate(OnLongPress);
+
+            // By default, we do not want the position to use the anchor point
+            this.PositionUsesAnchorPoint = false;
+
+            // Make sure CustomView is initialized.
+            OnInitialize();
+
+            // Set the StyleName the name of the View
+            // We have to do this because the StyleManager on Native side can't workout it out
+            // This will also ensure that the style of actors/visuals initialized above are applied by the style manager.
+            SetStyleName( this.GetType().Name );
+        }
+
+        /**
+         * @brief Set the background with a property map.
+         *
+         * @param[in] map The background property map.
+         */
+        public void SetBackground(Dali.Property.Map map)
+        {
+            viewWrapperImpl.SetBackground(map);
+        }
+
+        /**
+         * @brief Allows deriving classes to enable any of the gesture detectors that are available.
+         *
+         * Gesture detection can be enabled one at a time or in bitwise format as shown:
+         * @code
+         * EnableGestureDetection(Gesture.Type.Pinch | Gesture.Type.Tap | Gesture.Type.Pan));
+         * @endcode
+         * @param[in]  type  The gesture type(s) to enable.
+         */
+        public void EnableGestureDetection(Gesture.GestureType type)
+        {
+            viewWrapperImpl.EnableGestureDetection(type);
+        }
+
+        /**
+         * @brief Allows deriving classes to disable any of the gesture detectors.
+         *
+         * Like EnableGestureDetection, this can also be called using bitwise or.
+         * @param[in]  type  The gesture type(s) to disable.
+         * @see EnableGetureDetection
+         */
+        public void DisableGestureDetection(Gesture.GestureType type)
+        {
+            viewWrapperImpl.DisableGestureDetection(type);
+        }
+
+        /**
+         * @brief Sets whether this control supports two dimensional
+         * keyboard navigation (i.e. whether it knows how to handle the
+         * keyboard focus movement between its child actors).
+         *
+         * The control doesn't support it by default.
+         * @param[in] isSupported Whether this control supports two dimensional keyboard navigation.
+         */
+        public void SetKeyboardNavigationSupport(bool isSupported)
+        {
+            viewWrapperImpl.SetKeyboardNavigationSupport(isSupported);
+        }
+
+        /**
+         * @brief Gets whether this control supports two dimensional keyboard navigation.
+         *
+         * @return true if this control supports two dimensional keyboard navigation.
+         */
+        public bool IsKeyboardNavigationSupported()
+        {
+            return viewWrapperImpl.IsKeyboardNavigationSupported();
+        }
+
+        /**
+         * @brief Sets whether this control is a focus group for keyboard navigation.
+         *
+         * (i.e. the scope of keyboard focus movement
+         * can be limitied to its child actors). The control is not a focus group by default.
+         * @param[in] isFocusGroup Whether this control is set as a focus group for keyboard navigation.
+         */
+        public void SetAsKeyboardFocusGroup(bool isFocusGroup)
+        {
+            viewWrapperImpl.SetAsKeyboardFocusGroup(isFocusGroup);
+        }
+
+        /**
+         * @brief Gets whether this control is a focus group for keyboard navigation.
+         *
+         * @return true if this control is set as a focus group for keyboard navigation.
+         */
+        public bool IsKeyboardFocusGroup()
+        {
+            return viewWrapperImpl.IsKeyboardFocusGroup();
+        }
+
+        /**
+         * @brief Called by the AccessibilityManager to activate the Control.
+         * @SINCE_1_0.0
+         */
+        public void AccessibilityActivate()
+        {
+            viewWrapperImpl.AccessibilityActivate();
+        }
+
+        /**
+         * @brief Called by the KeyboardFocusManager.
+         */
+        public void KeyboardEnter()
+        {
+            viewWrapperImpl.KeyboardEnter();
+        }
+
+        /**
+         * @brief Called by the KeyInputFocusManager to emit key event signals.
+         *
+         * @param[in] key The key event.
+         * @return True if the event was consumed.
+         */
+        public bool EmitKeyEventSignal(Key key)
+        {
+            return viewWrapperImpl.EmitKeyEventSignal(key);
+        }
+
+        /**
+         * @brief Request a relayout, which means performing a size negotiation on this actor, its parent and children (and potentially whole scene).
+         *
+         * This method can also be called from a derived class every time it needs a different size.
+         * At the end of event processing, the relayout process starts and
+         * all controls which requested Relayout will have their sizes (re)negotiated.
+         *
+         * @note RelayoutRequest() can be called multiple times; the size negotiation is still
+         * only performed once, i.e. there is no need to keep track of this in the calling side.
+         */
+        protected void RelayoutRequest()
+        {
+            viewWrapperImpl.RelayoutRequest();
+        }
+
+        /**
+         * @brief Provides the Actor implementation of GetHeightForWidth.
+         * @param width Width to use.
+         * @return The height based on the width.
+         */
+        protected float GetHeightForWidthBase(float width)
+        {
+            return viewWrapperImpl.GetHeightForWidthBase( width );
+        }
+
+        /**
+         * @brief Provides the Actor implementation of GetWidthForHeight.
+         * @param height Height to use.
+         * @return The width based on the height.
+         */
+        protected float GetWidthForHeightBase(float height)
+        {
+            return viewWrapperImpl.GetWidthForHeightBase( height );
+        }
+
+        /**
+         * @brief Calculate the size for a child using the base actor object.
+         *
+         * @param[in] child The child actor to calculate the size for
+         * @param[in] dimension The dimension to calculate the size for. E.g. width or height
+         * @return Return the calculated size for the given dimension. If more than one dimension is requested, just return the first one found.
+         */
+        protected float CalculateChildSizeBase(Actor child, DimensionType dimension)
+        {
+            return viewWrapperImpl.CalculateChildSizeBase( child, dimension );
+        }
+
+        /**
+         * @brief Determine if this actor is dependent on it's children for relayout from the base class.
+         *
+         * @param dimension The dimension(s) to check for
+         * @return Return if the actor is dependent on it's children.
+         */
+        protected bool RelayoutDependentOnChildrenBase(DimensionType dimension)
+        {
+            return viewWrapperImpl.RelayoutDependentOnChildrenBase( dimension );
+        }
+
+        /**
+         * @brief Determine if this actor is dependent on it's children for relayout from the base class.
+         *
+         * @param dimension The dimension(s) to check for
+         * @return Return if the actor is dependent on it's children.
+         */
+        protected bool RelayoutDependentOnChildrenBase()
+        {
+            return viewWrapperImpl.RelayoutDependentOnChildrenBase();
+        }
+
+        /**
+         * @brief Register a visual by Property Index, linking an Actor to visual when required.
+         * In the case of the visual being an actor or control deeming visual not required then visual should be an empty handle.
+         * No parenting is done during registration, this should be done by derived class.
+         *
+         * @param[in] index The Property index of the visual, used to reference visual
+         * @param[in] visual The visual to register
+         * @note Derived class should not call visual.SetOnStage(actor). It is the responsibility of the base class to connect/disconnect registered visual to stage.
+         *       Use below API with enabled set to false if derived class wishes to control when visual is staged.
+         */
+        protected void RegisterVisual(int index, VisualBase visual)
+        {
+            viewWrapperImpl.RegisterVisual( index, visual );
+        }
+
+        /**
+         * @brief Register a visual by Property Index, linking an Actor to visual when required.
+         * In the case of the visual being an actor or control deeming visual not required then visual should be an empty handle.
+         * If enabled is false then the visual is not set on stage until enabled by the derived class.
+         * @see EnableVisual
+         *
+         * @param[in] index The Property index of the visual, used to reference visual
+         * @param[in] visual The visual to register
+         * @param[in] enabled false if derived class wants to control when visual is set on stage.
+         *
+         */
+        protected void RegisterVisual(int index, VisualBase visual, bool enabled)
+        {
+            viewWrapperImpl.RegisterVisual( index, visual, enabled );
+        }
+
+        /**
+         * @brief Erase the entry matching the given index from the list of registered visuals
+         * @param[in] index The Property index of the visual, used to reference visual
+         *
+         */
+        protected void UnregisterVisual(int index)
+        {
+            viewWrapperImpl.UnregisterVisual( index );
+        }
+
+        /**
+         * @brief Retrieve the visual associated with the given property index.
+         *
+         * @param[in] index The Property index of the visual.
+         * @return The registered visual if exist, otherwise empty handle.
+         * @note For managing object life-cycle, do not store the returned visual as a member which increments its reference count.
+         */
+        protected VisualBase GetVisual(int index)
+        {
+            return viewWrapperImpl.GetVisual( index );
+        }
+
+        /**
+         * @brief Sets the given visual to be displayed or not when parent staged.
+         *
+         * @param[in] index The Property index of the visual
+         * @param[in] enable flag to set enabled or disabled.
+         */
+        protected void EnableVisual(int index, bool enable)
+        {
+            viewWrapperImpl.EnableVisual( index, enable );
+        }
+
+        /**
+         * @brief Queries if the given visual is to be displayed when parent staged.
+         *
+         * @param[in] index The Property index of the visual
+         * @return bool whether visual is enabled or not
+         */
+        protected bool IsVisualEnabled(int index)
+        {
+            return viewWrapperImpl.IsVisualEnabled( index );
+        }
+
+        /**
+         * @brief Create a transition effect on the control.
+         *
+         * @param[in] transitionData The transition data describing the effect to create
+         * @return A handle to an animation defined with the given effect, or an empty
+         * handle if no properties match.
+         */
+        protected Animation CreateTransition(TransitionData transitionData)
+        {
+            return viewWrapperImpl.CreateTransition( transitionData );
+        }
+
+        /**
+         * @brief Emits KeyInputFocusGained signal if true else emits KeyInputFocusLost signal
+         *
+         * Should be called last by the control after it acts on the Input Focus change.
+         *
+         * @param[in] focusGained True if gained, False if lost
+         */
+        protected void EmitKeyInputFocusSignal(bool focusGained)
+        {
+            viewWrapperImpl.EmitKeyInputFocusSignal( focusGained );
+        }
+
+        /**
+         * @brief This method is called after the Control has been initialized.
+         *
+         * Derived classes should do any second phase initialization by overriding this method.
+         */
+        public virtual void OnInitialize()
+        {
+        }
+
+        /**
+         * @brief Called after the actor has been connected to the stage.
+         *
+         * When an actor is connected, it will be directly or indirectly parented to the root Actor.
+         * @param[in] depth The depth in the hierarchy for the actor
+         *
+         * @note The root Actor is provided automatically by Dali::Stage, and is always considered to be connected.
+         * When the parent of a set of actors is connected to the stage, then all of the children
+         * will received this callback.
+         * For the following actor tree, the callback order will be A, B, D, E, C, and finally F.
+         *
+         * @code
+         *
+         *       A (parent)
+         *      / \
+         *     B   C
+         *    / \   \
+         *   D   E   F
+         *
+         * @endcode
+         * @param[in] depth The depth in the hierarchy for the actor
+         */
+        public virtual void OnStageConnection(int depth)
+        {
+        }
+
+        /**
+         * @brief Called after the actor has been disconnected from Stage.
+         *
+         * If an actor is disconnected it either has no parent, or is parented to a disconnected actor.
+         *
+         * @note When the parent of a set of actors is disconnected to the stage, then all of the children
+         * will received this callback, starting with the leaf actors.
+         * For the following actor tree, the callback order will be D, E, B, F, C, and finally A.
+         *
+         * @code
+         *
+         *       A (parent)
+         *      / \
+         *     B   C
+         *    / \   \
+         *   D   E   F
+         *
+         * @endcode
+         */
+        public virtual void OnStageDisconnection()
+        {
+        }
+
+        /**
+         * @brief Called after a child has been added to the owning actor.
+         *
+         * @param[in] child The child which has been added
+         */
+        public virtual void OnChildAdd(Actor actor)
+        {
+        }
+
+        /**
+         * @brief Called after the owning actor has attempted to remove a child( regardless of whether it succeeded or not ).
+         *
+         * @param[in] child The child being removed
+         */
+        public virtual void OnChildRemove(Actor actor)
+        {
+        }
+
+        /**
+         * @brief Called when the owning actor property is set.
+         *
+         * @param[in] index The Property index that was set
+         * @param[in] propertyValue The value to set
+         */
+        public virtual void OnPropertySet(int index, Dali.Property.Value propertyValue)
+        {
+        }
+
+        /**
+         * @brief Called when the owning actor's size is set e.g. using Actor::SetSize().
+         *
+         * @param[in] targetSize The target size. Note that this target size may not match the size returned via Actor.GetTargetSize.
+         */
+        public virtual void OnSizeSet(Vector3 targetSize)
+        {
+        }
+
+        /**
+         * @brief Called when the owning actor's size is animated e.g. using Animation::AnimateTo( Property( actor, Actor::Property::SIZE ), ... ).
+         *
+         * @param[in] animation The object which is animating the owning actor.
+         * @param[in] targetSize The target size. Note that this target size may not match the size returned via @ref Actor.GetTargetSize.
+         */
+        public virtual void OnSizeAnimation(Animation animation, Vector3 targetSize)
+        {
+        }
+
+        /**
+         * @DEPRECATED_1_1.37 Connect to TouchSignal() instead.
+         *
+         * @brief Called after a touch-event is received by the owning actor.
+         *
+         * @param[in] touch The touch event
+         * @return True if the event should be consumed.
+         * @note CustomViewBehaviour.REQUIRES_TOUCH_EVENTS must be enabled during construction. See CustomView(ViewWrapperImpl.CustomViewBehaviour behaviour).
+         */
+        public virtual bool OnTouch(Touch touch)
+        {
+            return false; // Do not consume
+        }
+
+        /**
+         * @brief Called after a hover-event is received by the owning actor.
+         *
+         * @param[in] hover The hover event
+         * @return True if the hover event should be consumed.
+         * @note CustomViewBehaviour.REQUIRES_HOVER_EVENTS must be enabled during construction. See CustomView(ViewWrapperImpl.CustomViewBehaviour behaviour).
+         */
+        public virtual bool OnHover(Hover hover)
+        {
+            return false; // Do not consume
+        }
+
+        /**
+         * @brief Called after a key-event is received by the actor that has had its focus set.
+         *
+         * @param[in] key the Key Event
+         * @return True if the event should be consumed.
+         */
+        public virtual bool OnKey(Key key)
+        {
+            return false; // Do not consume
+        }
+
+        /**
+         * @brief Called after a wheel-event is received by the owning actor.
+         *
+         * @param[in] wheel The wheel event
+         * @return True if the event should be consumed.
+         * @note CustomViewBehaviour.REQUIRES_WHEEL_EVENTS must be enabled during construction. See CustomView(ViewWrapperImpl.CustomViewBehaviour behaviour).
+         */
+        public virtual bool OnWheel(Wheel wheel)
+        {
+            return false; // Do not consume
+        }
+
+        /**
+         * @brief Called after the size negotiation has been finished for this control.
+         *
+         * The control is expected to assign this given size to itself/its children.
+         *
+         * Should be overridden by derived classes if they need to layout
+         * actors differently after certain operations like add or remove
+         * actors, resize or after changing specific properties.
+         *
+         * @param[in]      size       The allocated size.
+         * @param[in,out]  container  The control should add actors to this container that it is not able
+         *                            to allocate a size for.
+         * @note  As this function is called from inside the size negotiation algorithm, you cannot
+         * call RequestRelayout (the call would just be ignored).
+         */
+        public virtual void OnRelayout(Vector2 size, RelayoutContainer container)
+        {
+        }
+
+        /**
+         * @brief Notification for deriving classes
+         *
+         * @param[in] policy The policy being set
+         * @param[in] dimension The dimension the policy is being set for
+         */
+        public virtual void OnSetResizePolicy(ResizePolicyType policy, DimensionType dimension)
+        {
+        }
+
+        /**
+         * @brief Return the natural size of the actor.
+         *
+         * @return The actor's natural size
+         */
+        public virtual Vector3 GetNaturalSize()
+        {
+            return new Vector3(0.0f, 0.0f, 0.0f);
+        }
+
+        /**
+         * @brief Calculate the size for a child.
+         *
+         * @param[in] child The child actor to calculate the size for
+         * @param[in] dimension The dimension to calculate the size for. E.g. width or height.
+         * @return Return the calculated size for the given dimension.
+         */
+        public virtual float CalculateChildSize(Actor child, DimensionType dimension)
+        {
+            return viewWrapperImpl.CalculateChildSizeBase( child, dimension );
+        }
+
+        /**
+         * @brief This method is called during size negotiation when a height is required for a given width.
+         *
+         * Derived classes should override this if they wish to customize the height returned.
+         *
+         * @param width Width to use.
+         * @return The height based on the width.
+         */
+        public virtual float GetHeightForWidth(float width)
+        {
+            return viewWrapperImpl.GetHeightForWidthBase( width );
+        }
+
+        /**
+         * @brief This method is called during size negotiation when a width is required for a given height.
+         *
+         * Derived classes should override this if they wish to customize the width returned.
+         *
+         * @param height Height to use.
+         * @return The width based on the width.
+         */
+        public virtual float GetWidthForHeight(float height)
+        {
+            return viewWrapperImpl.GetWidthForHeightBase( height );
+        }
+
+        /**
+         * @brief Determine if this actor is dependent on it's children for relayout.
+         *
+         * @param dimension The dimension(s) to check for
+         * @return Return if the actor is dependent on it's children.
+         */
+        public virtual bool RelayoutDependentOnChildren(DimensionType dimension)
+        {
+            return viewWrapperImpl.RelayoutDependentOnChildrenBase( dimension );
+        }
+
+        /**
+         * @brief Determine if this actor is dependent on it's children for relayout from the base class.
+         *
+         * @return Return if the actor is dependent on it's children.
+         */
+        public virtual bool RelayoutDependentOnChildren()
+        {
+            return viewWrapperImpl.RelayoutDependentOnChildrenBase();
+        }
+
+        /**
+         * @brief Virtual method to notify deriving classes that relayout dependencies have been
+         * met and the size for this object is about to be calculated for the given dimension
+         *
+         * @param dimension The dimension that is about to be calculated
+         */
+        public virtual void OnCalculateRelayoutSize(DimensionType dimension)
+        {
+        }
+
+        /**
+         * @brief Virtual method to notify deriving classes that the size for a dimension
+         * has just been negotiated
+         *
+         * @param[in] size The new size for the given dimension
+         * @param[in] dimension The dimension that was just negotiated
+         */
+        public virtual void OnLayoutNegotiated(float size, DimensionType dimension)
+        {
+        }
+
+        /**
+         * @brief This method should be overridden by deriving classes requiring notifications when the style changes.
+         *
+         * @param[in] styleManager  The StyleManager object.
+         * @param[in] change  Information denoting what has changed.
+         */
+        public virtual void OnStyleChange(StyleManager styleManager, StyleChangeType change)
+        {
+        }
+
+        /**
+         * @brief This method is called when the control is accessibility activated.
+         *
+         * Derived classes should override this to perform custom accessibility activation.
+         * @return true if this control can perform accessibility activation.
+         */
+        public virtual bool OnAccessibilityActivated()
+        {
+            return false;
+        }
+
+        /**
+         * @brief This method should be overridden by deriving classes when they wish to respond the accessibility
+         * pan gesture.
+         *
+         * @param[in] gesture The pan gesture.
+         * @return true if the pan gesture has been consumed by this control
+         */
+        public virtual bool OnAccessibilityPan(PanGesture gestures)
+        {
+            return false;
+        }
+
+        /**
+         * @brief This method should be overridden by deriving classes when they wish to respond the accessibility
+         * touch event.
+         *
+         * @param[in] touch The touch event.
+         * @return true if the touch event has been consumed by this control
+         */
+        public virtual bool OnAccessibilityTouch(Touch touch)
+        {
+            return false;
+        }
+
+        /**
+         * @brief This method should be overridden by deriving classes when they wish to respond
+         * the accessibility up and down action (i.e. value change of slider control).
+         *
+         * @param[in] isIncrease Whether the value should be increased or decreased
+         * @return true if the value changed action has been consumed by this control
+         */
+        public virtual bool OnAccessibilityValueChange(bool isIncrease)
+        {
+            return false;
+        }
+
+        /**
+         * @brief This method should be overridden by deriving classes when they wish to respond
+         * the accessibility zoom action.
+         *
+         * @return true if the zoom action has been consumed by this control
+         */
+        public virtual bool OnAccessibilityZoom()
+        {
+            return false;
+        }
+
+        /**
+         * @brief This method should be overridden by deriving classes when they wish to respond
+         * the accessibility zoom action.
+         *
+         * @return true if the zoom action has been consumed by this control
+         */
+        public virtual void OnKeyInputFocusGained()
+        {
+        }
+
+        /**
+         * @brief Called when the control loses key input focus.
+         *
+         * Should be overridden by derived classes if they need to customize what happens when focus is lost.
+         */
+        public virtual void OnKeyInputFocusLost()
+        {
+        }
+
+        /**
+         * @brief Gets the next keyboard focusable actor in this control towards the given direction.
+         *
+         * A control needs to override this function in order to support two dimensional keyboard navigation.
+         * @param[in] currentFocusedActor The current focused actor.
+         * @param[in] direction The direction to move the focus towards.
+         * @param[in] loopEnabled Whether the focus movement should be looped within the control.
+         * @return the next keyboard focusable actor in this control or an empty handle if no actor can be focused.
+         */
+        public virtual Actor GetNextKeyboardFocusableActor(Actor currentFocusedActor, View.KeyboardFocus.Direction direction, bool loopEnabled)
+        {
+            return new Actor();
+        }
+
+        /**
+         * @brief Informs this control that its chosen focusable actor will be focused.
+         *
+         * This allows the application to preform any actions if wishes
+         * before the focus is actually moved to the chosen actor.
+         *
+         * @param[in] commitedFocusableActor The commited focusable actor.
+         */
+        public virtual void OnKeyboardFocusChangeCommitted(Actor commitedFocusableActor)
+        {
+        }
+
+        /**
+         * @brief This method is called when the control has enter pressed on it.
+         *
+         * Derived classes should override this to perform custom actions.
+         * @return true if this control supported this action.
+         */
+        public virtual bool OnKeyboardEnter()
+        {
+            return false;
+        }
+
+        /**
+         * @brief Called whenever a pinch gesture is detected on this control.
+         *
+         * This can be overridden by deriving classes when pinch detection
+         * is enabled.  The default behaviour is to scale the control by the
+         * pinch scale.
+         *
+         * @param[in]  pinch  The pinch gesture.
+         * @note If overridden, then the default behaviour will not occur.
+         * @note Pinch detection should be enabled via EnableGestureDetection().
+         * @see EnableGestureDetection
+         */
+        public virtual void OnPinch(PinchGesture pinch)
+        {
+        }
+
+        /**
+         * @brief Called whenever a pan gesture is detected on this control.
+         *
+         * This should be overridden by deriving classes when pan detection
+         * is enabled.
+         *
+         * @param[in]  pan  The pan gesture.
+         * @note There is no default behaviour with panning.
+         * @note Pan detection should be enabled via EnableGestureDetection().
+         * @see EnableGestureDetection
+         */
+        public virtual void OnPan(PanGesture pan)
+        {
+        }
+
+        /**
+         * @brief Called whenever a tap gesture is detected on this control.
+         *
+         * This should be overridden by deriving classes when tap detection
+         * is enabled.
+         *
+         * @param[in]  tap  The tap gesture.
+         * @note There is no default behaviour with a tap.
+         * @note Tap detection should be enabled via EnableGestureDetection().
+         * @see EnableGestureDetection
+         */
+        public virtual void OnTap(TapGesture tap)
+        {
+        }
+
+        /**
+         * @brief Called whenever a long press gesture is detected on this control.
+         *
+         * This should be overridden by deriving classes when long press
+         * detection is enabled.
+         *
+         * @param[in]  longPress  The long press gesture.
+         * @note There is no default behaviour associated with a long press.
+         * @note Long press detection should be enabled via EnableGestureDetection().
+         * @see EnableGestureDetection
+         */
+        public virtual void OnLongPress(LongPressGesture longPress)
+        {
+        }
+
+        private void OnControlChildAdd(Actor child)
+        {
+        }
+
+        private void OnControlChildRemove(Actor child)
+        {
+        }
+    }
+}
diff --git a/plugins/dali-sharp/sharp/internal/DaliEnumConstants.cs b/plugins/dali-sharp/sharp/internal/DaliEnumConstants.cs
new file mode 100755 (executable)
index 0000000..cf7958b
--- /dev/null
@@ -0,0 +1,218 @@
+/** 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.
+ *
+ */
+using System;
+
+namespace Dali
+{
+  namespace Constants
+  {
+    public enum TextureType
+    {
+      Texture2D     = Dali.TextureType.TEXTURE_2D,   ///< One 2D image                            @SINCE_1_1.43
+      TextureCube   = Dali.TextureType.TEXTURE_CUBE  ///< Six 2D images arranged in a cube-shape  @SINCE_1_1.43
+    }
+
+    public enum ViewMode
+    {
+      Mono              = Dali.ViewMode.MONO,                          ///< Monoscopic (single camera). This is the default @SINCE_1_0.0
+      StereoHorizontal  = Dali.ViewMode.STEREO_HORIZONTAL, ///< Stereoscopic. Frame buffer is split horizontally with the left and right camera views in their respective sides. @SINCE_1_0.0
+      StereoVertical    = Dali.ViewMode.STEREO_VERTICAL,     ///< Stereoscopic. Frame buffer is split vertically with the left camera view at the top and the right camera view at the bottom. @SINCE_1_0.0
+      StereoInterlaced  = Dali.ViewMode.STEREO_INTERLACED  ///< @DEPRECATED_1_1.19 @brief Stereoscopic. Left/Right camera views are rendered into the framebuffer on alternate frames. @SINCE_1_0.0
+    }
+
+    public enum MeshVisualShadingModeValue
+    {
+      TexturelessWithDiffuseLighting = Dali.MeshVisualShadingModeValue.TEXTURELESS_WITH_DIFFUSE_LIGHTING,       ///< *Simplest*. One color that is lit by ambient and diffuse lighting. @SINCE_1_1.45
+      TexturedWithSpecularLigting = Dali.MeshVisualShadingModeValue.TEXTURED_WITH_SPECULAR_LIGHTING,         ///< Uses only the visual image textures provided with specular lighting in addition to ambient and diffuse lighting. @SINCE_1_1.45
+      TexturedWithDetailedSpecularLighting = Dali.MeshVisualShadingModeValue.TEXTURED_WITH_DETAILED_SPECULAR_LIGHTING ///< Uses all textures provided including a gloss, normal and texture map along with specular, ambient and diffuse lighting. @SINCE_1_1.45
+    }
+
+    public enum ProjectionMode
+    {
+      PerspectiveProjection  = Dali.ProjectionMode.PERSPECTIVE_PROJECTION,      ///< Distance causes foreshortening; objects further from the camera appear smaller @SINCE_1_0.0
+      OrthographicProjection = Dali.ProjectionMode.ORTHOGRAPHIC_PROJECTION      ///< Relative distance from the camera does not affect the size of objects @SINCE_1_0.0
+    }
+
+    public struct Direction
+    {
+      public enum Type
+      {
+        LeftToRight = Dali.DirectionType.LEFT_TO_RIGHT,
+        RightToLeft = Dali.DirectionType.RIGHT_TO_LEFT
+      }
+    }
+
+    public struct Align
+    {
+      public enum Type
+      {
+        TopBegin = Dali.AlignType.TOP_BEGIN,
+        TopCenter = Dali.AlignType.TOP_CENTER,
+        TopEnd = Dali.AlignType.TOP_END,
+        CenterBegin = Dali.AlignType.CENTER_BEGIN,
+        Center = Dali.AlignType.CENTER,
+        CenterEnd = Dali.AlignType.CENTER_END,
+        BottomBegin = Dali.AlignType.BOTTOM_BEGIN,
+        BottomCenter = Dali.AlignType.BOTTOM_CENTER,
+        BottomEnd = Dali.AlignType.BOTTOM_END
+      }
+    }
+
+    public struct Visual
+    {
+      public enum Type
+      {
+        Border = Dali.VisualType.BORDER,
+        Color = Dali.VisualType.COLOR,
+        Gradient = Dali.VisualType.GRADIENT,
+        Image = Dali.VisualType.IMAGE,
+        Mesh = Dali.VisualType.MESH,
+        Primitive = Dali.VisualType.PRIMITIVE,
+        WireFrame = Dali.VisualType.WIREFRAME,
+        Text = Dali.VisualType.TEXT,
+        NPatch = Dali.VisualType.N_PATCH,
+        Svg = Dali.VisualType.SVG,
+        AnimatedImage = Dali.VisualType.ANIMATED_IMAGE
+      }
+
+      public struct Property
+      {
+        public static readonly int Type = NDalic.VISUAL_PROPERTY_TYPE;
+        public static readonly int Shader = NDalic.VISUAL_PROPERTY_SHADER;
+        public static readonly int Transform = NDalic.VISUAL_PROPERTY_TRANSFORM;
+        public static readonly int PremultipliedAlpha = NDalic.VISUAL_PROPERTY_PREMULTIPLIED_ALPHA;
+        public static readonly int MixColor = NDalic.VISUAL_PROPERTY_MIX_COLOR;
+      }
+
+      public struct ShaderProperty
+      {
+        public static readonly int VertexShader = NDalic.VISUAL_SHADER_VERTEX;
+        public static readonly int FragmentShader = NDalic.VISUAL_SHADER_FRAGMENT;
+        public static readonly int ShaderSubdivideGridX = NDalic.VISUAL_SHADER_SUBDIVIDE_GRID_X;
+        public static readonly int ShaderSubdivideGridY = NDalic.VISUAL_SHADER_SUBDIVIDE_GRID_Y;
+        public static readonly int ShaderHints = NDalic.VISUAL_SHADER_HINTS;
+      }
+    }
+
+    public struct BorderVisualProperty
+    {
+      public static readonly int Color = NDalic.BORDER_VISUAL_COLOR;
+      public static readonly int Size = NDalic.BORDER_VISUAL_SIZE;
+      public static readonly int AntiAliasing = NDalic.BORDER_VISUAL_ANTI_ALIASING;
+    }
+
+    public struct ColorVisualProperty
+    {
+      public static readonly int MixColor = NDalic.COLOR_VISUAL_MIX_COLOR;
+    }
+
+    public struct GradientVisualProperty
+    {
+      public static readonly int StartPosition = NDalic.GRADIENT_VISUAL_START_POSITION;
+      public static readonly int EndPosition = NDalic.GRADIENT_VISUAL_END_POSITION;
+      public static readonly int Center = NDalic.GRADIENT_VISUAL_CENTER;
+      public static readonly int Radius = NDalic.GRADIENT_VISUAL_RADIUS;
+      public static readonly int StopOffset = NDalic.GRADIENT_VISUAL_STOP_OFFSET;
+      public static readonly int StopColor = NDalic.GRADIENT_VISUAL_STOP_COLOR;
+      public static readonly int Units = NDalic.GRADIENT_VISUAL_UNITS;
+      public static readonly int SpreadMethod = NDalic.GRADIENT_VISUAL_SPREAD_METHOD;
+    }
+
+    public struct ImageVisualProperty
+    {
+      public static readonly int URL = NDalic.IMAGE_VISUAL_URL;
+      public static readonly int FittingMode = NDalic.IMAGE_VISUAL_FITTING_MODE;
+      public static readonly int SamplingMode = NDalic.IMAGE_VISUAL_SAMPLING_MODE;
+      public static readonly int DesiredWidth = NDalic.IMAGE_VISUAL_DESIRED_WIDTH;
+      public static readonly int DesiredHeight = NDalic.IMAGE_VISUAL_DESIRED_HEIGHT;
+      public static readonly int SynchronousLoading = NDalic.IMAGE_VISUAL_SYNCHRONOUS_LOADING;
+      public static readonly int BorderOnly = NDalic.IMAGE_VISUAL_BORDER_ONLY;
+      public static readonly int PixelArea = NDalic.IMAGE_VISUAL_PIXEL_AREA;
+      public static readonly int WrapModeU = NDalic.IMAGE_VISUAL_WRAP_MODE_U;
+      public static readonly int WrapModeV = NDalic.IMAGE_VISUAL_WRAP_MODE_V;
+      public static readonly int Border = NDalic.IMAGE_VISUAL_BORDER;
+    }
+
+    public struct MeshVisualProperty
+    {
+      public static readonly int ObjectURL = NDalic.MESH_VISUAL_OBJECT_URL;
+      public static readonly int MaterialtURL = NDalic.MESH_VISUAL_MATERIAL_URL;
+      public static readonly int TexturesPath = NDalic.MESH_VISUAL_TEXTURES_PATH;
+      public static readonly int ShadingMode = NDalic.MESH_VISUAL_SHADING_MODE;
+      public static readonly int UseMipmapping = NDalic.MESH_VISUAL_USE_MIPMAPPING;
+      public static readonly int UseSoftNormals = NDalic.MESH_VISUAL_USE_SOFT_NORMALS;
+      public static readonly int LightPosition = NDalic.MESH_VISUAL_LIGHT_POSITION;
+    }
+
+    public struct PrimitiveVisualProperty
+    {
+      public static readonly int Shape = NDalic.PRIMITIVE_VISUAL_SHAPE;
+      public static readonly int MixColor = NDalic.PRIMITIVE_VISUAL_MIX_COLOR;
+      public static readonly int Slices = NDalic.PRIMITIVE_VISUAL_SLICES;
+      public static readonly int Stacks = NDalic.PRIMITIVE_VISUAL_STACKS;
+      public static readonly int ScaleTopRadius = NDalic.PRIMITIVE_VISUAL_SCALE_TOP_RADIUS;
+      public static readonly int ScaleBottomRadius = NDalic.PRIMITIVE_VISUAL_SCALE_BOTTOM_RADIUS;
+      public static readonly int ScaleHeight = NDalic.PRIMITIVE_VISUAL_SCALE_HEIGHT;
+      public static readonly int ScaleRadius = NDalic.PRIMITIVE_VISUAL_SCALE_RADIUS;
+      public static readonly int ScaleDimensions = NDalic.PRIMITIVE_VISUAL_SCALE_DIMENSIONS;
+      public static readonly int BevelPercentage = NDalic.PRIMITIVE_VISUAL_BEVEL_PERCENTAGE;
+      public static readonly int BevelSmoothness = NDalic.PRIMITIVE_VISUAL_BEVEL_SMOOTHNESS;
+      public static readonly int LightPosition = NDalic.PRIMITIVE_VISUAL_LIGHT_POSITION;
+    }
+
+    public struct TextVisualProperty
+    {
+      public static readonly int Text = NDalic.TEXT_VISUAL_TEXT;
+      public static readonly int FontFamily = NDalic.TEXT_VISUAL_FONT_FAMILY;
+      public static readonly int FontStyle = NDalic.TEXT_VISUAL_FONT_STYLE;
+      public static readonly int PointSize = NDalic.TEXT_VISUAL_POINT_SIZE;
+      public static readonly int MultiLine = NDalic.TEXT_VISUAL_MULTI_LINE;
+      public static readonly int HorizontalAlignment = NDalic.TEXT_VISUAL_HORIZONTAL_ALIGNMENT;
+      public static readonly int VerticalAlignment = NDalic.TEXT_VISUAL_VERTICAL_ALIGNMENT;
+      public static readonly int TextColor = NDalic.TEXT_VISUAL_TEXT_COLOR;
+      public static readonly int EnableMarkup = NDalic.TEXT_VISUAL_ENABLE_MARKUP;
+    }
+
+    public struct Tooltip
+    {
+      public struct Property
+      {
+        public static readonly int Content = NDalic.TOOLTIP_CONTENT;
+        public static readonly int Layout = NDalic.TOOLTIP_LAYOUT;
+        public static readonly int WaitTime = NDalic.TOOLTIP_WAIT_TIME;
+        public static readonly int Background = NDalic.TOOLTIP_BACKGROUND;
+        public static readonly int Tail = NDalic.TOOLTIP_TAIL;
+        public static readonly int Position = NDalic.TOOLTIP_POSITION;
+        public static readonly int HoverPointOffset = NDalic.TOOLTIP_HOVER_POINT_OFFSET;
+        public static readonly int MovementThreshold = NDalic.TOOLTIP_MOVEMENT_THRESHOLD;
+        public static readonly int DisappearOnMovement = NDalic.TOOLTIP_DISAPPEAR_ON_MOVEMENT;
+      }
+
+      public struct BackgroundProperty
+      {
+        public static readonly int Visual = NDalic.TOOLTIP_BACKGROUND_VISUAL;
+        public static readonly int Border = NDalic.TOOLTIP_BACKGROUND_BORDER;
+      }
+
+      public struct TailProperty
+      {
+        public static readonly int Visibility = NDalic.TOOLTIP_TAIL_VISIBILITY;
+        public static readonly int AboveVisual = NDalic.TOOLTIP_TAIL_ABOVE_VISUAL;
+        public static readonly int BelowVisual = NDalic.TOOLTIP_TAIL_BELOW_VISUAL;
+      }
+    }
+  } // namespace Constants
+} // namesapce Dali
diff --git a/plugins/dali-sharp/sharp/internal/DaliEventHandler.cs b/plugins/dali-sharp/sharp/internal/DaliEventHandler.cs
new file mode 100755 (executable)
index 0000000..084c9e8
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+ * 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 Dali {
+
+    using System;
+    using System.Runtime.InteropServices;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    public delegate R DaliEventHandlerWithReturnType<T,U,R>(T source, U e);
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    internal delegate void EventCallbackDelegateType0();
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    internal delegate void EventCallbackDelegateType1<T>(T arg1);
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    internal delegate void EventCallbackDelegateType2<T,U>(T arg1, U arg2);
+
+
+    //this should be removed with EventHandler from .NET
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    public delegate void DaliEventHandler<T,U>(T source, U e);
+
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/DaliException.cs b/plugins/dali-sharp/sharp/internal/DaliException.cs
new file mode 100644 (file)
index 0000000..bcad280
--- /dev/null
@@ -0,0 +1,79 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class DaliException : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal DaliException(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(DaliException obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~DaliException() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_DaliException(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public DaliException(string location, string condition) : this(NDalicPINVOKE.new_DaliException(location, condition), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public string location {
+    set {
+      NDalicPINVOKE.DaliException_location_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      string ret = NDalicPINVOKE.DaliException_location_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public string condition {
+    set {
+      NDalicPINVOKE.DaliException_condition_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      string ret = NDalicPINVOKE.DaliException_condition_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/DefaultItemLayoutProperty.cs b/plugins/dali-sharp/sharp/internal/DefaultItemLayoutProperty.cs
new file mode 100644 (file)
index 0000000..91d6251
--- /dev/null
@@ -0,0 +1,42 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum DefaultItemLayoutProperty {
+  TYPE = 0,
+  ITEM_SIZE,
+  ORIENTATION,
+  GRID_COLUMN_NUMBER,
+  GRID_ROW_SPACING,
+  GRID_COLUMN_SPACING,
+  GRID_TOP_MARGIN,
+  GRID_BOTTOM_MARGIN,
+  GRID_SIDE_MARGIN,
+  GRID_SCROLL_SPEED_FACTOR,
+  GRID_MAXIMUM_SWIPE_SPEED,
+  GRID_ITEM_FLICK_ANIMATION_DURATION,
+  DEPTH_COLUMN_NUMBER,
+  DEPTH_ROW_NUMBER,
+  DEPTH_ROW_SPACING,
+  DEPTH_SCROLL_SPEED_FACTOR,
+  DEPTH_MAXIMUM_SWIPE_SPEED,
+  DEPTH_ITEM_FLICK_ANIMATION_DURATION,
+  DEPTH_TILT_ANGLE,
+  DEPTH_ITEM_TILT_ANGLE,
+  SPIRAL_ITEM_SPACING,
+  SPIRAL_SCROLL_SPEED_FACTOR,
+  SPIRAL_MAXIMUM_SWIPE_SPEED,
+  SPIRAL_ITEM_FLICK_ANIMATION_DURATION,
+  SPIRAL_REVOLUTION_DISTANCE,
+  SPIRAL_TOP_ITEM_ALIGNMENT
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/DefaultItemLayoutType.cs b/plugins/dali-sharp/sharp/internal/DefaultItemLayoutType.cs
new file mode 100644 (file)
index 0000000..b807d11
--- /dev/null
@@ -0,0 +1,20 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum DefaultItemLayoutType {
+  DEPTH,
+  GRID,
+  LIST,
+  SPIRAL
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/DefaultRuler.cs b/plugins/dali-sharp/sharp/internal/DefaultRuler.cs
new file mode 100644 (file)
index 0000000..688aaf8
--- /dev/null
@@ -0,0 +1,72 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class DefaultRuler : Ruler {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal DefaultRuler(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.DefaultRuler_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(DefaultRuler obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~DefaultRuler() {
+    Dispose();
+  }
+
+  public override void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_DefaultRuler(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+  public DefaultRuler() : this(NDalicPINVOKE.new_DefaultRuler(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public override float Snap(float x, float bias) {
+    float ret = NDalicPINVOKE.DefaultRuler_Snap(swigCPtr, x, bias);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public override float GetPositionFromPage(uint page, out uint volume, bool wrap) {
+    float ret = NDalicPINVOKE.DefaultRuler_GetPositionFromPage(swigCPtr, page, out volume, wrap);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public override uint GetPageFromPosition(float position, bool wrap) {
+    uint ret = NDalicPINVOKE.DefaultRuler_GetPageFromPosition(swigCPtr, position, wrap);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public override uint GetTotalPages() {
+    uint ret = NDalicPINVOKE.DefaultRuler_GetTotalPages(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Degree.cs b/plugins/dali-sharp/sharp/internal/Degree.cs
new file mode 100644 (file)
index 0000000..865fcf5
--- /dev/null
@@ -0,0 +1,75 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Degree : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal Degree(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(Degree obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Degree() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_Degree(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public Degree() : this(NDalicPINVOKE.new_Degree__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Degree(float value) : this(NDalicPINVOKE.new_Degree__SWIG_1(value), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Degree(Radian value) : this(NDalicPINVOKE.new_Degree__SWIG_2(Radian.getCPtr(value)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float degree {
+    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;
+    } 
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/DepthFunctionType.cs b/plugins/dali-sharp/sharp/internal/DepthFunctionType.cs
new file mode 100644 (file)
index 0000000..b19178f
--- /dev/null
@@ -0,0 +1,24 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum DepthFunctionType {
+  NEVER,
+  ALWAYS,
+  LESS,
+  GREATER,
+  EQUAL,
+  NOT_EQUAL,
+  LESS_EQUAL,
+  GREATER_EQUAL
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/DepthTestModeType.cs b/plugins/dali-sharp/sharp/internal/DepthTestModeType.cs
new file mode 100644 (file)
index 0000000..b5d8131
--- /dev/null
@@ -0,0 +1,19 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum DepthTestModeType {
+  OFF,
+  AUTO,
+  ON
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/DepthWriteModeType.cs b/plugins/dali-sharp/sharp/internal/DepthWriteModeType.cs
new file mode 100644 (file)
index 0000000..2ca0c7e
--- /dev/null
@@ -0,0 +1,19 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum DepthWriteModeType {
+  OFF,
+  AUTO,
+  ON
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/DimensionType.cs b/plugins/dali-sharp/sharp/internal/DimensionType.cs
new file mode 100644 (file)
index 0000000..5fa5c34
--- /dev/null
@@ -0,0 +1,19 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum DimensionType {
+  WIDTH = 0x1,
+  HEIGHT = 0x2,
+  ALL_DIMENSIONS = 0x3
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/DirectionBias.cs b/plugins/dali-sharp/sharp/internal/DirectionBias.cs
new file mode 100644 (file)
index 0000000..05fb90e
--- /dev/null
@@ -0,0 +1,19 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum DirectionBias {
+  DirectionBiasLeft = -1,
+  DirectionBiasNone = 0,
+  DirectionBiasRight = 1
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/DirectionType.cs b/plugins/dali-sharp/sharp/internal/DirectionType.cs
new file mode 100644 (file)
index 0000000..ca3c301
--- /dev/null
@@ -0,0 +1,18 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum DirectionType {
+  LEFT_TO_RIGHT = 0,
+  RIGHT_TO_LEFT
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/DisposeQueue.cs b/plugins/dali-sharp/sharp/internal/DisposeQueue.cs
new file mode 100644 (file)
index 0000000..fe3b7e2
--- /dev/null
@@ -0,0 +1,64 @@
+// Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
+// PROPRIETARY/CONFIDENTIAL
+// This software is the confidential and proprietary
+// information of SAMSUNG ELECTRONICS ("Confidential Information"). You shall
+// not disclose such Confidential Information and shall use it only in
+// accordance with the terms of the license agreement you entered into with
+// SAMSUNG ELECTRONICS.
+//
+
+using System;
+using System.Collections.Generic;
+
+namespace Dali
+{
+    public class DisposeQueue
+    {
+        private static readonly DisposeQueue _disposableQueue = new DisposeQueue();
+        private List<IDisposable> _disposables = new List<IDisposable>();
+        private Object _listLock = new object();
+        private EventThreadCallback _eventThreadCallback;
+        private EventThreadCallback.CallbackDelegate _disposeQueueProcessDisposablesDelegate;
+
+        private DisposeQueue()
+        {
+        }
+
+        ~DisposeQueue()
+        {
+        }
+
+        public static DisposeQueue Instance
+        {
+            get { return _disposableQueue; }
+        }
+
+        public void Initialize()
+        {
+            _disposeQueueProcessDisposablesDelegate = new EventThreadCallback.CallbackDelegate(ProcessDisposables);
+            _eventThreadCallback = new EventThreadCallback(_disposeQueueProcessDisposablesDelegate);
+        }
+
+        public void Add(IDisposable disposable)
+        {
+            lock (_listLock)
+            {
+                _disposables.Add(disposable);
+            }
+
+            _eventThreadCallback.Trigger();
+        }
+
+        private void ProcessDisposables()
+        {
+            lock (_listLock)
+            {
+                foreach (IDisposable disposable in _disposables)
+                {
+                    disposable.Dispose();
+                }
+                _disposables.Clear();
+            }
+        }
+    }
+}
diff --git a/plugins/dali-sharp/sharp/internal/DragAndDropDetector.cs b/plugins/dali-sharp/sharp/internal/DragAndDropDetector.cs
new file mode 100644 (file)
index 0000000..a349deb
--- /dev/null
@@ -0,0 +1,90 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class DragAndDropDetector : BaseHandle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal DragAndDropDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.DragAndDropDetector_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(DragAndDropDetector obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~DragAndDropDetector() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_DragAndDropDetector(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public DragAndDropDetector() : this(NDalicPINVOKE.new_DragAndDropDetector(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public string GetContent() {
+    string ret = NDalicPINVOKE.DragAndDropDetector_GetContent(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector2 GetCurrentScreenPosition() {
+    Vector2 ret = new Vector2(NDalicPINVOKE.DragAndDropDetector_GetCurrentScreenPosition(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t EnteredSignal() {
+    SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t(NDalicPINVOKE.DragAndDropDetector_EnteredSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t ExitedSignal() {
+    SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t(NDalicPINVOKE.DragAndDropDetector_ExitedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t MovedSignal() {
+    SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t(NDalicPINVOKE.DragAndDropDetector_MovedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t DroppedSignal() {
+    SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t(NDalicPINVOKE.DragAndDropDetector_DroppedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/DrawModeType.cs b/plugins/dali-sharp/sharp/internal/DrawModeType.cs
new file mode 100644 (file)
index 0000000..457ef90
--- /dev/null
@@ -0,0 +1,19 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum DrawModeType {
+  NORMAL = 0,
+  OVERLAY_2D = 1,
+  STENCIL = 3
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/EncodedBufferImage.cs b/plugins/dali-sharp/sharp/internal/EncodedBufferImage.cs
new file mode 100644 (file)
index 0000000..1933076
--- /dev/null
@@ -0,0 +1,94 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class EncodedBufferImage : Image {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal EncodedBufferImage(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.EncodedBufferImage_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(EncodedBufferImage obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~EncodedBufferImage() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_EncodedBufferImage(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public EncodedBufferImage (SWIGTYPE_p_uint8_t encodedImage, uint encodedImageByteCount) : this (NDalicPINVOKE.EncodedBufferImage_New__SWIG_0(SWIGTYPE_p_uint8_t.getCPtr(encodedImage), encodedImageByteCount), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public EncodedBufferImage (SWIGTYPE_p_uint8_t encodedImage, uint encodedImageByteCount, Uint16Pair size, FittingModeType fittingMode, SamplingModeType samplingMode, bool orientationCorrection) : this (NDalicPINVOKE.EncodedBufferImage_New__SWIG_1(SWIGTYPE_p_uint8_t.getCPtr(encodedImage), encodedImageByteCount, Uint16Pair.getCPtr(size), (int)fittingMode, (int)samplingMode, orientationCorrection), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public EncodedBufferImage (SWIGTYPE_p_uint8_t encodedImage, uint encodedImageByteCount, Uint16Pair size, FittingModeType fittingMode, SamplingModeType samplingMode) : this (NDalicPINVOKE.EncodedBufferImage_New__SWIG_2(SWIGTYPE_p_uint8_t.getCPtr(encodedImage), encodedImageByteCount, Uint16Pair.getCPtr(size), (int)fittingMode, (int)samplingMode), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public new static EncodedBufferImage DownCast(BaseHandle handle) {
+    EncodedBufferImage ret = new EncodedBufferImage(NDalicPINVOKE.EncodedBufferImage_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public EncodedBufferImage(EncodedBufferImage handle) : this(NDalicPINVOKE.new_EncodedBufferImage__SWIG_1(EncodedBufferImage.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public EncodedBufferImage Assign(EncodedBufferImage rhs) {
+    EncodedBufferImage ret = new EncodedBufferImage(NDalicPINVOKE.EncodedBufferImage_Assign(swigCPtr, EncodedBufferImage.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/EventThreadCallback.cs b/plugins/dali-sharp/sharp/internal/EventThreadCallback.cs
new file mode 100644 (file)
index 0000000..a9434a4
--- /dev/null
@@ -0,0 +1,75 @@
+/*
+ * 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 Dali
+{
+
+    public class EventThreadCallback : global::System.IDisposable
+    {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        protected bool swigCMemOwn;
+        public delegate void CallbackDelegate();
+
+        internal EventThreadCallback(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(EventThreadCallback obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        ~EventThreadCallback()
+        {
+            Dispose();
+        }
+
+        public virtual void Dispose()
+        {
+            lock (this)
+            {
+                if (swigCPtr.Handle != global::System.IntPtr.Zero)
+                {
+                    if (swigCMemOwn)
+                    {
+                        swigCMemOwn = false;
+                        NDalicManualPINVOKE.delete_EventThreadCallback(swigCPtr);
+                    }
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                }
+                global::System.GC.SuppressFinalize(this);
+            }
+        }
+
+        public EventThreadCallback(CallbackDelegate func) : this(NDalicManualPINVOKE.new_EventThreadCallback(func), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        public void Trigger()
+        {
+            NDalicManualPINVOKE.EventThreadCallback_Trigger(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+    }
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/FaceCullingModeType.cs b/plugins/dali-sharp/sharp/internal/FaceCullingModeType.cs
new file mode 100644 (file)
index 0000000..4fc9f08
--- /dev/null
@@ -0,0 +1,20 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum FaceCullingModeType {
+  NONE,
+  FRONT,
+  BACK,
+  FRONT_AND_BACK
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/FilterModeType.cs b/plugins/dali-sharp/sharp/internal/FilterModeType.cs
new file mode 100644 (file)
index 0000000..847c406
--- /dev/null
@@ -0,0 +1,24 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum FilterModeType {
+  NONE = 0,
+  DEFAULT,
+  NEAREST,
+  LINEAR,
+  NEAREST_MIPMAP_NEAREST,
+  LINEAR_MIPMAP_NEAREST,
+  NEAREST_MIPMAP_LINEAR,
+  LINEAR_MIPMAP_LINEAR
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/FittingModeType.cs b/plugins/dali-sharp/sharp/internal/FittingModeType.cs
new file mode 100644 (file)
index 0000000..b8b5ba1
--- /dev/null
@@ -0,0 +1,20 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum FittingModeType {
+  SHRINK_TO_FIT,
+  SCALE_TO_FILL,
+  FIT_WIDTH,
+  FIT_HEIGHT
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/FixedRuler.cs b/plugins/dali-sharp/sharp/internal/FixedRuler.cs
new file mode 100644 (file)
index 0000000..ae26c3a
--- /dev/null
@@ -0,0 +1,76 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class FixedRuler : Ruler {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal FixedRuler(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.FixedRuler_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FixedRuler obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~FixedRuler() {
+    Dispose();
+  }
+
+  public override void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_FixedRuler(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+  public FixedRuler(float spacing) : this(NDalicPINVOKE.new_FixedRuler__SWIG_0(spacing), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public FixedRuler() : this(NDalicPINVOKE.new_FixedRuler__SWIG_1(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public override float Snap(float x, float bias) {
+    float ret = NDalicPINVOKE.FixedRuler_Snap(swigCPtr, x, bias);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public override float GetPositionFromPage(uint page, out uint volume, bool wrap) {
+    float ret = NDalicPINVOKE.FixedRuler_GetPositionFromPage(swigCPtr, page, out volume, wrap);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public override uint GetPageFromPosition(float position, bool wrap) {
+    uint ret = NDalicPINVOKE.FixedRuler_GetPageFromPosition(swigCPtr, position, wrap);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public override uint GetTotalPages() {
+    uint ret = NDalicPINVOKE.FixedRuler_GetTotalPages(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/FlexContainer.cs b/plugins/dali-sharp/sharp/internal/FlexContainer.cs
new file mode 100644 (file)
index 0000000..a67cc28
--- /dev/null
@@ -0,0 +1,289 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class FlexContainer : View {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal FlexContainer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.FlexContainer_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FlexContainer obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~FlexContainer() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_FlexContainer(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_FlexContainer_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_FlexContainer_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int CONTENT_DIRECTION = NDalicPINVOKE.FlexContainer_Property_CONTENT_DIRECTION_get();
+    public static readonly int FLEX_DIRECTION = NDalicPINVOKE.FlexContainer_Property_FLEX_DIRECTION_get();
+    public static readonly int FLEX_WRAP = NDalicPINVOKE.FlexContainer_Property_FLEX_WRAP_get();
+    public static readonly int JUSTIFY_CONTENT = NDalicPINVOKE.FlexContainer_Property_JUSTIFY_CONTENT_get();
+    public static readonly int ALIGN_ITEMS = NDalicPINVOKE.FlexContainer_Property_ALIGN_ITEMS_get();
+    public static readonly int ALIGN_CONTENT = NDalicPINVOKE.FlexContainer_Property_ALIGN_CONTENT_get();
+  
+  }
+
+  public class ChildProperty : global::System.IDisposable {
+    private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+    protected bool swigCMemOwn;
+  
+    internal ChildProperty(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(ChildProperty obj) {
+      return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+    }
+  
+    ~ChildProperty() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_FlexContainer_ChildProperty(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public ChildProperty() : this(NDalicPINVOKE.new_FlexContainer_ChildProperty(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int FLEX = NDalicPINVOKE.FlexContainer_ChildProperty_FLEX_get();
+    public static readonly int ALIGN_SELF = NDalicPINVOKE.FlexContainer_ChildProperty_ALIGN_SELF_get();
+    public static readonly int FLEX_MARGIN = NDalicPINVOKE.FlexContainer_ChildProperty_FLEX_MARGIN_get();
+  
+  }
+
+  public FlexContainer () : this (NDalicPINVOKE.FlexContainer_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public FlexContainer(FlexContainer handle) : this(NDalicPINVOKE.new_FlexContainer__SWIG_1(FlexContainer.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public FlexContainer Assign(FlexContainer handle) {
+    FlexContainer ret = new FlexContainer(NDalicPINVOKE.FlexContainer_Assign(swigCPtr, FlexContainer.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static FlexContainer DownCast(BaseHandle handle) {
+    FlexContainer ret = new FlexContainer(NDalicPINVOKE.FlexContainer_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum FlexDirectionType {
+    COLUMN,
+    COLUMN_REVERSE,
+    ROW,
+    ROW_REVERSE
+  }
+
+  public enum ContentDirectionType {
+    INHERIT,
+    LTR,
+    RTL
+  }
+
+  public enum Justification {
+    JUSTIFY_FLEX_START,
+    JUSTIFY_CENTER,
+    JUSTIFY_FLEX_END,
+    JUSTIFY_SPACE_BETWEEN,
+    JUSTIFY_SPACE_AROUND
+  }
+
+  public enum Alignment {
+    ALIGN_AUTO,
+    ALIGN_FLEX_START,
+    ALIGN_CENTER,
+    ALIGN_FLEX_END,
+    ALIGN_STRETCH
+  }
+
+  public enum WrapType {
+    NO_WRAP,
+    WRAP
+  }
+
+  public enum PropertyRange {
+    PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+    PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000,
+    CHILD_PROPERTY_START_INDEX = PropertyRanges.CHILD_PROPERTY_REGISTRATION_START_INDEX,
+    CHILD_PROPERTY_END_INDEX = PropertyRanges.CHILD_PROPERTY_REGISTRATION_START_INDEX+1000
+  }
+
+  public int ContentDirection
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( FlexContainer.Property.CONTENT_DIRECTION).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( FlexContainer.Property.CONTENT_DIRECTION, new Dali.Property.Value( value ) );
+    }
+  }
+  public int FlexDirection
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( FlexContainer.Property.FLEX_DIRECTION).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( FlexContainer.Property.FLEX_DIRECTION, new Dali.Property.Value( value ) );
+    }
+  }
+  public int FlexWrap
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( FlexContainer.Property.FLEX_WRAP).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( FlexContainer.Property.FLEX_WRAP, new Dali.Property.Value( value ) );
+    }
+  }
+  public int JustifyContent
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( FlexContainer.Property.JUSTIFY_CONTENT).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( FlexContainer.Property.JUSTIFY_CONTENT, new Dali.Property.Value( value ) );
+    }
+  }
+  public int AlignItems
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( FlexContainer.Property.ALIGN_ITEMS).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( FlexContainer.Property.ALIGN_ITEMS, new Dali.Property.Value( value ) );
+    }
+  }
+  public int AlignContent
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( FlexContainer.Property.ALIGN_CONTENT).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( FlexContainer.Property.ALIGN_CONTENT, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/FloatSignal.cs b/plugins/dali-sharp/sharp/internal/FloatSignal.cs
new file mode 100644 (file)
index 0000000..6f028a7
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class FloatSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal FloatSignal(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(FloatSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~FloatSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_FloatSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.FloatSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.FloatSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.FloatSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.FloatSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(float arg) {
+    NDalicPINVOKE.FloatSignal_Emit(swigCPtr, arg);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public FloatSignal() : this(NDalicPINVOKE.new_FloatSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/FocusChangedSignal.cs b/plugins/dali-sharp/sharp/internal/FocusChangedSignal.cs
new file mode 100644 (file)
index 0000000..fc96070
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class FocusChangedSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal FocusChangedSignal(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(FocusChangedSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~FocusChangedSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_FocusChangedSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.FocusChangedSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.FocusChangedSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.FocusChangedSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.FocusChangedSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(Actor arg1, Actor arg2) {
+    NDalicPINVOKE.FocusChangedSignal_Emit(swigCPtr, Actor.getCPtr(arg1), Actor.getCPtr(arg2));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public FocusChangedSignal() : this(NDalicPINVOKE.new_FocusChangedSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/FocusGroupChangedSignal.cs b/plugins/dali-sharp/sharp/internal/FocusGroupChangedSignal.cs
new file mode 100644 (file)
index 0000000..0f9adee
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class FocusGroupChangedSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal FocusGroupChangedSignal(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(FocusGroupChangedSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~FocusGroupChangedSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_FocusGroupChangedSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.FocusGroupChangedSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.FocusGroupChangedSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.FocusGroupChangedSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.FocusGroupChangedSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(Actor arg1, bool arg2) {
+    NDalicPINVOKE.FocusGroupChangedSignal_Emit(swigCPtr, Actor.getCPtr(arg1), arg2);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public FocusGroupChangedSignal() : this(NDalicPINVOKE.new_FocusGroupChangedSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/FocusManager.cs b/plugins/dali-sharp/sharp/internal/FocusManager.cs
new file mode 100755 (executable)
index 0000000..a979c5c
--- /dev/null
@@ -0,0 +1,606 @@
+/*
+ * 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 Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class FocusManager : BaseHandle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  private CustomAlgorithmInterfaceWrapper _customAlgorithmInterfaceWrapper;
+
+  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) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~FocusManager() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicManualPINVOKE.delete_FocusManager(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+/**
+  * @brief Event arguments that passed via FocusChanged signal
+  *
+  */
+public class FocusChangedEventArgs : EventArgs
+{
+   private Actor _actorCurrent;
+   private Actor _actorNext;
+
+   /**
+     * @brief Actor - is the original focused Actor
+     *
+     */
+   public Actor ActorCurrent
+   {
+      get
+      {
+         return _actorCurrent;
+      }
+      set
+      {
+         _actorCurrent = value;
+      }
+   }
+
+   /**
+     * @brief Actor - is the current focused Actor
+     *
+     */
+   public Actor ActorNext
+   {
+      get
+      {
+         return _actorNext;
+      }
+      set
+      {
+         _actorNext = value;
+      }
+   }
+}
+
+/**
+  * @brief Event arguments that passed via FocusGroupChanged signal
+  *
+  */
+public class FocusGroupChangedEventArgs : EventArgs
+{
+   private Actor _currentFocusedActor;
+   private bool _forwardDirection;
+
+   /**
+     * @brief Actor - is the current focused Actor
+     *
+     */
+   public Actor CurrentFocusedActor
+   {
+      get
+      {
+         return _currentFocusedActor;
+      }
+      set
+      {
+         _currentFocusedActor = value;
+      }
+   }
+
+   /**
+     * @brief ForwardDirection - is the direction (forward or backward) in which to move the focus next
+     *
+     */
+   public bool ForwardDirection
+   {
+      get
+      {
+         return _forwardDirection;
+      }
+      set
+      {
+         _forwardDirection = value;
+      }
+   }
+}
+
+/**
+  * @brief Event arguments that passed via FocusedActorEnterKey signal
+  *
+  */
+public class FocusedActorEnterKeyEventArgs : EventArgs
+{
+   private Actor _actor;
+
+   /**
+     * @brief Actor - is the current focused Actor which has the enter key pressed on it.
+     *
+     */
+   public Actor Actor
+   {
+      get
+      {
+         return _actor;
+      }
+      set
+      {
+         _actor = value;
+      }
+   }
+}
+
+/**
+  * @brief Event arguments that passed via PreFocusChange signal
+  *
+  */
+public class PreFocusChangeEventArgs : EventArgs
+{
+   private Actor _current;
+   private Actor _proposed;
+   private View.KeyboardFocus.Direction _direction;
+
+   /**
+    * @brief Actor - is the current focused Actor.
+    *
+    */
+   public Actor Current
+   {
+      get
+      {
+         return _current;
+      }
+      set
+      {
+          _current = value;
+      }
+   }
+
+    /**
+    * @brief Actor - is the proposed focused Actor.
+    *
+    */
+    public Actor Proposed
+    {
+        get
+        {
+            return _proposed;
+        }
+        set
+        {
+            _proposed = value;
+        }
+    }
+
+    /**
+    * @brief Direction - is the direction of Focus change.
+    *
+    */
+    public View.KeyboardFocus.Direction Direction
+    {
+        get
+        {
+            return _direction;
+        }
+        set
+        {
+            _direction = value;
+        }
+    }
+}
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  public delegate void FocusChangedEventHandler(object source, FocusChangedEventArgs e);
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  public delegate void FocusGroupChangedEventHandler(object source, FocusGroupChangedEventArgs e);
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  public delegate void FocusedActorEnterKeyEventHandler(object source, FocusedActorEnterKeyEventArgs e);
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  public delegate Actor PreFocusChangeEventHandler(object source, PreFocusChangeEventArgs e);
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  public delegate IntPtr PreFocusChangeEventCallbackDelegate(IntPtr current, IntPtr proposed, View.KeyboardFocus.Direction direction);
+  private PreFocusChangeEventHandler _FocusManagerPreFocusChangeEventHandler;
+  private PreFocusChangeEventCallbackDelegate _FocusManagerPreFocusChangeEventCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void FocusChangedEventCallbackDelegate(IntPtr actorCurrent, IntPtr actorNext);
+  private FocusChangedEventHandler _FocusManagerFocusChangedEventHandler;
+  private FocusChangedEventCallbackDelegate _FocusManagerFocusChangedEventCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void FocusGroupChangedEventCallbackDelegate(IntPtr currentFocusedActor, bool forwardDirection);
+  private FocusGroupChangedEventHandler _FocusManagerFocusGroupChangedEventHandler;
+  private FocusGroupChangedEventCallbackDelegate _FocusManagerFocusGroupChangedEventCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void FocusedActorEnterKeyEventCallbackDelegate(IntPtr actor);
+  private FocusedActorEnterKeyEventHandler _FocusManagerFocusedActorEnterKeyEventHandler;
+  private FocusedActorEnterKeyEventCallbackDelegate _FocusManagerFocusedActorEnterKeyEventCallbackDelegate;
+
+  public event PreFocusChangeEventHandler PreFocusChange
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_FocusManagerPreFocusChangeEventHandler == null)
+           {
+               _FocusManagerPreFocusChangeEventHandler += value;
+
+               _FocusManagerPreFocusChangeEventCallbackDelegate = new PreFocusChangeEventCallbackDelegate(OnPreFocusChange);
+              this.PreFocusChangeSignal().Connect(_FocusManagerPreFocusChangeEventCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_FocusManagerPreFocusChangeEventHandler != null)
+           {
+              this.PreFocusChangeSignal().Disconnect(_FocusManagerPreFocusChangeEventCallbackDelegate);
+           }
+
+           _FocusManagerPreFocusChangeEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for FocusManager PreFocusChangeSignal
+  private IntPtr OnPreFocusChange(IntPtr current, IntPtr proposed, View.KeyboardFocus.Direction direction)
+  {
+      Actor actor = null;
+      PreFocusChangeEventArgs e = new PreFocusChangeEventArgs();
+
+      // Populate all members of "e" (PreFocusChangeEventArgs) with real data
+      e.Current = Actor.GetActorFromPtr(current);
+      e.Proposed = Actor.GetActorFromPtr(proposed);
+      e.Direction = direction;
+
+      if (_FocusManagerPreFocusChangeEventHandler != null)
+      {
+        //here we send all data to user event handlers
+          actor = _FocusManagerPreFocusChangeEventHandler(this, e);
+      }
+
+      return actor.GetPtrfromActor();
+  }
+
+  /**
+    * @brief Event for FocusChanged signal which can be used to subscribe/unsubscribe the event handler
+    * (in the type of FocusChangedEventHandler) provided by the user.
+    * FocusChanged signal is emitted after the current focused actor has been changed.
+    */
+  public event FocusChangedEventHandler FocusChanged
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_FocusManagerFocusChangedEventHandler == null)
+           {
+              _FocusManagerFocusChangedEventHandler += value;
+
+              _FocusManagerFocusChangedEventCallbackDelegate = new FocusChangedEventCallbackDelegate(OnFocusChanged);
+              this.FocusChangedSignal().Connect(_FocusManagerFocusChangedEventCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_FocusManagerFocusChangedEventHandler != null)
+           {
+              this.FocusChangedSignal().Disconnect(_FocusManagerFocusChangedEventCallbackDelegate);
+           }
+
+           _FocusManagerFocusChangedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for FocusManager FocusChangedSignal
+  private void OnFocusChanged(IntPtr actorCurrent, IntPtr actorNext)
+  {
+     FocusChangedEventArgs e = new FocusChangedEventArgs();
+
+     // Populate all members of "e" (FocusChangedEventArgs) with real data
+     e.ActorCurrent = Actor.GetActorFromPtr(actorCurrent);
+     e.ActorNext = Actor.GetActorFromPtr(actorNext);
+
+     if (_FocusManagerFocusChangedEventHandler != null)
+     {
+        //here we send all data to user event handlers
+        _FocusManagerFocusChangedEventHandler(this, e);
+     }
+  }
+
+  /**
+    * @brief Event for FocusGroupChanged signal which can be used to subscribe/unsubscribe the event handler
+    * (in the type of FocusGroupChangedEventHandler) provided by the user.
+    * FocusGroupChanged signal is emitted when the focus group has been changed.
+    */
+  public event FocusGroupChangedEventHandler FocusGroupChanged
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_FocusManagerFocusGroupChangedEventHandler == null)
+           {
+              _FocusManagerFocusGroupChangedEventHandler += value;
+
+              _FocusManagerFocusGroupChangedEventCallbackDelegate = new FocusGroupChangedEventCallbackDelegate(OnFocusGroupChanged);
+              this.FocusGroupChangedSignal().Connect(_FocusManagerFocusGroupChangedEventCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_FocusManagerFocusGroupChangedEventHandler != null)
+           {
+              this.FocusGroupChangedSignal().Disconnect(_FocusManagerFocusGroupChangedEventCallbackDelegate);
+           }
+
+           _FocusManagerFocusGroupChangedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for FocusManager FocusGroupChangedSignal
+  private void OnFocusGroupChanged(IntPtr currentFocusedActor, bool forwardDirection)
+  {
+     FocusGroupChangedEventArgs e = new FocusGroupChangedEventArgs();
+
+     // Populate all members of "e" (FocusGroupChangedEventArgs) with real data
+     e.CurrentFocusedActor = Actor.GetActorFromPtr(currentFocusedActor);
+     e.ForwardDirection = forwardDirection;
+
+     if (_FocusManagerFocusGroupChangedEventHandler != null)
+     {
+        //here we send all data to user event handlers
+        _FocusManagerFocusGroupChangedEventHandler(this, e);
+     }
+  }
+
+  /**
+    * @brief Event for FocusedActorEnterKeyPressed signal which can be used to subscribe/unsubscribe the event handler
+    * (in the type of FocusedActorEnterKeyEventHandler) provided by the user.
+    * FocusedActorEnterKeyPressed signal is emitted when the current focused actor has the enter key pressed on it.
+    */
+  public event FocusedActorEnterKeyEventHandler FocusedActorEnterKeyPressed
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_FocusManagerFocusedActorEnterKeyEventHandler == null)
+           {
+              _FocusManagerFocusedActorEnterKeyEventHandler += value;
+
+              _FocusManagerFocusedActorEnterKeyEventCallbackDelegate = new FocusedActorEnterKeyEventCallbackDelegate(OnFocusedActorEnterKey);
+              this.FocusedActorEnterKeySignal().Connect(_FocusManagerFocusedActorEnterKeyEventCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_FocusManagerFocusedActorEnterKeyEventHandler != null)
+           {
+              this.FocusedActorEnterKeySignal().Disconnect(_FocusManagerFocusedActorEnterKeyEventCallbackDelegate);
+           }
+
+           _FocusManagerFocusedActorEnterKeyEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for FocusManager FocusedActorEnterKeySignal
+  private void OnFocusedActorEnterKey(IntPtr actor)
+  {
+     FocusedActorEnterKeyEventArgs e = new FocusedActorEnterKeyEventArgs();
+
+     // Populate all members of "e" (FocusedActorEnterKeyEventArgs) with real data
+     e.Actor = Actor.GetActorFromPtr(actor);
+
+     if (_FocusManagerFocusedActorEnterKeyEventHandler != null)
+     {
+        //here we send all data to user event handlers
+        _FocusManagerFocusedActorEnterKeyEventHandler(this, e);
+     }
+  }
+
+  public FocusManager() : this(NDalicManualPINVOKE.new_FocusManager(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static FocusManager Get() {
+    FocusManager ret = new FocusManager(NDalicManualPINVOKE.FocusManager_Get(), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool SetCurrentFocusActor(Actor actor) {
+    bool ret = NDalicManualPINVOKE.FocusManager_SetCurrentFocusActor(swigCPtr, Actor.getCPtr(actor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Actor GetCurrentFocusActor() {
+    Actor ret = new Actor(NDalicManualPINVOKE.FocusManager_GetCurrentFocusActor(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool MoveFocus(View.KeyboardFocus.Direction direction) {
+    bool ret = NDalicManualPINVOKE.FocusManager_MoveFocus(swigCPtr, (int)direction);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void ClearFocus() {
+    NDalicManualPINVOKE.FocusManager_ClearFocus(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetFocusGroupLoop(bool enabled) {
+    NDalicManualPINVOKE.FocusManager_SetFocusGroupLoop(swigCPtr, enabled);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool GetFocusGroupLoop() {
+    bool ret = NDalicManualPINVOKE.FocusManager_GetFocusGroupLoop(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetAsFocusGroup(Actor actor, bool isFocusGroup) {
+    NDalicManualPINVOKE.FocusManager_SetAsFocusGroup(swigCPtr, Actor.getCPtr(actor), isFocusGroup);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool IsFocusGroup(Actor actor) {
+    bool ret = NDalicManualPINVOKE.FocusManager_IsFocusGroup(swigCPtr, Actor.getCPtr(actor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Actor GetFocusGroup(Actor actor) {
+    Actor ret = new Actor(NDalicManualPINVOKE.FocusManager_GetFocusGroup(swigCPtr, Actor.getCPtr(actor)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetFocusIndicatorActor(Actor indicator) {
+    NDalicManualPINVOKE.FocusManager_SetFocusIndicatorActor(swigCPtr, Actor.getCPtr(indicator));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Actor GetFocusIndicatorActor() {
+    Actor ret = new Actor(NDalicManualPINVOKE.FocusManager_GetFocusIndicatorActor(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  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();
+  }
+
+  public PreFocusChangeSignal PreFocusChangeSignal() {
+    PreFocusChangeSignal ret = new PreFocusChangeSignal(NDalicManualPINVOKE.FocusManager_PreFocusChangeSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public FocusChangedSignal FocusChangedSignal() {
+    FocusChangedSignal ret = new FocusChangedSignal(NDalicManualPINVOKE.FocusManager_FocusChangedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public FocusGroupChangedSignal FocusGroupChangedSignal() {
+    FocusGroupChangedSignal ret = new FocusGroupChangedSignal(NDalicManualPINVOKE.FocusManager_FocusGroupChangedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ActorSignal FocusedActorEnterKeySignal() {
+    ActorSignal ret = new ActorSignal(NDalicManualPINVOKE.FocusManager_FocusedActorEnterKeySignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private static readonly FocusManager instance = FocusManager.Get();
+
+  public static FocusManager Instance
+  {
+      get
+      {
+          return instance;
+      }
+  }
+
+  public interface ICustomFocusAlgorithm
+  {
+      View GetNextFocusableActor(View current, View proposed, View.KeyboardFocus.Direction direction);
+  }
+
+  private class CustomAlgorithmInterfaceWrapper : CustomAlgorithmInterface
+  {
+      private FocusManager.ICustomFocusAlgorithm _customFocusAlgorithm;
+
+      public CustomAlgorithmInterfaceWrapper()
+      {
+      }
+
+      public void SetFocusAlgorithm(FocusManager.ICustomFocusAlgorithm customFocusAlgorithm)
+      {
+          _customFocusAlgorithm = customFocusAlgorithm;
+      }
+
+      public override Actor GetNextFocusableActor(Actor current, Actor proposed, View.KeyboardFocus.Direction direction)
+      {
+          View currentView = View.DownCast<View>(current);
+          View proposedView = View.DownCast<View>(proposed);
+          return _customFocusAlgorithm.GetNextFocusableActor(currentView, proposedView, direction);
+      }
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/FrameBuffer.cs b/plugins/dali-sharp/sharp/internal/FrameBuffer.cs
new file mode 100644 (file)
index 0000000..c7ec931
--- /dev/null
@@ -0,0 +1,145 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class FrameBuffer : BaseHandle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal FrameBuffer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.FrameBuffer_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FrameBuffer obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~FrameBuffer() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_FrameBuffer(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public class Attachment : global::System.IDisposable {
+    private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+    protected bool swigCMemOwn;
+  
+    internal Attachment(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(Attachment obj) {
+      return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+    }
+  
+    ~Attachment() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_FrameBuffer_Attachment(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Attachment() : this(NDalicPINVOKE.new_FrameBuffer_Attachment(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public enum Mask {
+      NONE = 0,
+      DEPTH = 1 << 0,
+      STENCIL = 1 << 1,
+      DEPTH_STENCIL = DEPTH|STENCIL
+    }
+  
+  }
+
+  public FrameBuffer (uint width, uint height, uint attachments) : this (NDalicPINVOKE.FrameBuffer_New(width, height, attachments), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public FrameBuffer(FrameBuffer handle) : this(NDalicPINVOKE.new_FrameBuffer__SWIG_1(FrameBuffer.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static FrameBuffer DownCast(BaseHandle handle) {
+    FrameBuffer ret = new FrameBuffer(NDalicPINVOKE.FrameBuffer_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public FrameBuffer Assign(FrameBuffer handle) {
+    FrameBuffer ret = new FrameBuffer(NDalicPINVOKE.FrameBuffer_Assign(swigCPtr, FrameBuffer.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void AttachColorTexture(Texture texture) {
+    NDalicPINVOKE.FrameBuffer_AttachColorTexture__SWIG_0(swigCPtr, Texture.getCPtr(texture));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AttachColorTexture(Texture texture, uint mipmapLevel, uint layer) {
+    NDalicPINVOKE.FrameBuffer_AttachColorTexture__SWIG_1(swigCPtr, Texture.getCPtr(texture), mipmapLevel, layer);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Texture GetColorTexture() {
+    Texture ret = new Texture(NDalicPINVOKE.FrameBuffer_GetColorTexture(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/FrameBufferImage.cs b/plugins/dali-sharp/sharp/internal/FrameBufferImage.cs
new file mode 100644 (file)
index 0000000..61a2854
--- /dev/null
@@ -0,0 +1,106 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class FrameBufferImage : Image {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal FrameBufferImage(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.FrameBufferImage_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FrameBufferImage obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~FrameBufferImage() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_FrameBufferImage(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public FrameBufferImage (uint width, uint height, PixelFormat pixelFormat, RenderBufferFormat bufferFormat) : this (NDalicPINVOKE.FrameBufferImage_New__SWIG_0(width, height, (int)pixelFormat, (int)bufferFormat), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public FrameBufferImage (uint width, uint height, PixelFormat pixelFormat) : this (NDalicPINVOKE.FrameBufferImage_New__SWIG_1(width, height, (int)pixelFormat), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public FrameBufferImage (uint width, uint height) : this (NDalicPINVOKE.FrameBufferImage_New__SWIG_2(width, height), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public FrameBufferImage (uint width) : this (NDalicPINVOKE.FrameBufferImage_New__SWIG_3(width), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public FrameBufferImage () : this (NDalicPINVOKE.FrameBufferImage_New__SWIG_4(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public FrameBufferImage (NativeImageInterface image) : this (NDalicPINVOKE.FrameBufferImage_New__SWIG_5(NativeImageInterface.getCPtr(image)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public new static FrameBufferImage DownCast(BaseHandle handle) {
+    FrameBufferImage ret = new FrameBufferImage(NDalicPINVOKE.FrameBufferImage_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public FrameBufferImage(FrameBufferImage handle) : this(NDalicPINVOKE.new_FrameBufferImage__SWIG_1(FrameBufferImage.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public FrameBufferImage Assign(FrameBufferImage rhs) {
+    FrameBufferImage ret = new FrameBufferImage(NDalicPINVOKE.FrameBufferImage_Assign(swigCPtr, FrameBufferImage.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/GaussianBlurView.cs b/plugins/dali-sharp/sharp/internal/GaussianBlurView.cs
new file mode 100644 (file)
index 0000000..ba492c2
--- /dev/null
@@ -0,0 +1,234 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class GaussianBlurView : View {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal GaussianBlurView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.GaussianBlurView_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(GaussianBlurView obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~GaussianBlurView() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_GaussianBlurView(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+
+public class FinishedEventArgs : EventArgs
+{
+   private GaussianBlurView _gaussianBlurView;
+
+   public GaussianBlurView GaussianBlurView
+   {
+      get
+      {
+         return _gaussianBlurView;
+      }
+      set
+      {
+         _gaussianBlurView = value;
+      }
+   }
+}
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void FinishedEventCallbackDelegate(IntPtr application);
+  private DaliEventHandler<object,FinishedEventArgs> _gaussianFinishedEventHandler;
+  private FinishedEventCallbackDelegate _gaussianFinishedEventCallbackDelegate;
+
+  public event DaliEventHandler<object,FinishedEventArgs> Finished
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_gaussianFinishedEventHandler == null)
+           {
+              _gaussianFinishedEventHandler += value;
+
+              _gaussianFinishedEventCallbackDelegate = new FinishedEventCallbackDelegate(OnFinished);
+              this.FinishedSignal().Connect(_gaussianFinishedEventCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_gaussianFinishedEventHandler != null)
+           {
+              this.FinishedSignal().Disconnect(_gaussianFinishedEventCallbackDelegate);
+           }
+
+           _gaussianFinishedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for GaussianBlurView FinishedSignal
+  private void OnFinished(IntPtr data)
+  {
+     FinishedEventArgs e = new FinishedEventArgs();
+
+     // Populate all members of "e" (FinishedEventArgs) with real data
+     e.GaussianBlurView = GaussianBlurView.GetGaussianBlurViewFromPtr(data);
+
+     if (_gaussianFinishedEventHandler != null)
+     {
+        //here we send all data to user event handlers
+        _gaussianFinishedEventHandler(this, e);
+     }
+  }
+
+ public static GaussianBlurView GetGaussianBlurViewFromPtr(global::System.IntPtr cPtr) {
+    GaussianBlurView ret = new GaussianBlurView(cPtr, false);
+   if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+
+  public GaussianBlurView () : this (NDalicPINVOKE.GaussianBlurView_New__SWIG_0(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public GaussianBlurView (uint numSamples, float blurBellCurveWidth, PixelFormat renderTargetPixelFormat, float downsampleWidthScale, float downsampleHeightScale, bool blurUserImage) : this (NDalicPINVOKE.GaussianBlurView_New__SWIG_1(numSamples, blurBellCurveWidth, (int)renderTargetPixelFormat, downsampleWidthScale, downsampleHeightScale, blurUserImage), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public GaussianBlurView (uint numSamples, float blurBellCurveWidth, PixelFormat renderTargetPixelFormat, float downsampleWidthScale, float downsampleHeightScale) : this (NDalicPINVOKE.GaussianBlurView_New__SWIG_2(numSamples, blurBellCurveWidth, (int)renderTargetPixelFormat, downsampleWidthScale, downsampleHeightScale), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public GaussianBlurView(GaussianBlurView handle) : this(NDalicPINVOKE.new_GaussianBlurView__SWIG_1(GaussianBlurView.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public GaussianBlurView Assign(GaussianBlurView ZoomView) {
+    GaussianBlurView ret = new GaussianBlurView(NDalicPINVOKE.GaussianBlurView_Assign(swigCPtr, GaussianBlurView.getCPtr(ZoomView)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static GaussianBlurView DownCast(BaseHandle handle) {
+    GaussianBlurView ret = new GaussianBlurView(NDalicPINVOKE.GaussianBlurView_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new void Add(Actor child) {
+    NDalicPINVOKE.GaussianBlurView_Add(swigCPtr, Actor.getCPtr(child));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public new void Remove(Actor child) {
+    NDalicPINVOKE.GaussianBlurView_Remove(swigCPtr, Actor.getCPtr(child));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Activate() {
+    NDalicPINVOKE.GaussianBlurView_Activate(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void ActivateOnce() {
+    NDalicPINVOKE.GaussianBlurView_ActivateOnce(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Deactivate() {
+    NDalicPINVOKE.GaussianBlurView_Deactivate(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetUserImageAndOutputRenderTarget(Image inputImage, FrameBufferImage outputRenderTarget) {
+    NDalicPINVOKE.GaussianBlurView_SetUserImageAndOutputRenderTarget(swigCPtr, Image.getCPtr(inputImage), FrameBufferImage.getCPtr(outputRenderTarget));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public int GetBlurStrengthPropertyIndex() {
+    int ret = NDalicPINVOKE.GaussianBlurView_GetBlurStrengthPropertyIndex(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public FrameBufferImage GetBlurredRenderTarget() {
+    FrameBufferImage ret = new FrameBufferImage(NDalicPINVOKE.GaussianBlurView_GetBlurredRenderTarget(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new void SetBackgroundColor(Vector4 color) {
+    NDalicPINVOKE.GaussianBlurView_SetBackgroundColor(swigCPtr, Vector4.getCPtr(color));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public new Vector4 GetBackgroundColor() {
+    Vector4 ret = new Vector4(NDalicPINVOKE.GaussianBlurView_GetBackgroundColor(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public GaussianBlurViewSignal FinishedSignal() {
+    GaussianBlurViewSignal ret = new GaussianBlurViewSignal(NDalicPINVOKE.GaussianBlurView_FinishedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/GaussianBlurViewSignal.cs b/plugins/dali-sharp/sharp/internal/GaussianBlurViewSignal.cs
new file mode 100644 (file)
index 0000000..cd6b06f
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class GaussianBlurViewSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal GaussianBlurViewSignal(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(GaussianBlurViewSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~GaussianBlurViewSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_GaussianBlurViewSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.GaussianBlurViewSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.GaussianBlurViewSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.GaussianBlurViewSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.GaussianBlurViewSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(GaussianBlurView arg) {
+    NDalicPINVOKE.GaussianBlurViewSignal_Emit(swigCPtr, GaussianBlurView.getCPtr(arg));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public GaussianBlurViewSignal() : this(NDalicPINVOKE.new_GaussianBlurViewSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Geometry.cs b/plugins/dali-sharp/sharp/internal/Geometry.cs
new file mode 100644 (file)
index 0000000..c43b024
--- /dev/null
@@ -0,0 +1,129 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Geometry : BaseHandle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal Geometry(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Geometry_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  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;
+  }
+
+  ~Geometry() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public Geometry () : this (NDalicPINVOKE.Geometry_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public Geometry(Geometry handle) : this(NDalicPINVOKE.new_Geometry__SWIG_1(Geometry.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static Geometry DownCast(BaseHandle handle) {
+    Geometry ret = new Geometry(NDalicPINVOKE.Geometry_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Geometry Assign(Geometry handle) {
+    Geometry ret = new Geometry(NDalicPINVOKE.Geometry_Assign(swigCPtr, Geometry.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint AddVertexBuffer(PropertyBuffer vertexBuffer) {
+    uint ret = NDalicPINVOKE.Geometry_AddVertexBuffer(swigCPtr, PropertyBuffer.getCPtr(vertexBuffer));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetNumberOfVertexBuffers() {
+    uint ret = NDalicPINVOKE.Geometry_GetNumberOfVertexBuffers(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void RemoveVertexBuffer(uint index) {
+    NDalicPINVOKE.Geometry_RemoveVertexBuffer(swigCPtr, index);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetIndexBuffer(ushort[] indices, uint count) {
+    NDalicPINVOKE.Geometry_SetIndexBuffer(swigCPtr, indices, count);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetType(Geometry.Type geometryType) {
+    NDalicPINVOKE.Geometry_SetType(swigCPtr, (int)geometryType);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Geometry.Type GetType() {
+    Geometry.Type ret = (Geometry.Type)NDalicPINVOKE.Geometry_GetType(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum Type {
+    POINTS,
+    LINES,
+    LINE_LOOP,
+    LINE_STRIP,
+    TRIANGLES,
+    TRIANGLE_FAN,
+    TRIANGLE_STRIP
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Gesture.cs b/plugins/dali-sharp/sharp/internal/Gesture.cs
new file mode 100644 (file)
index 0000000..dfe94ac
--- /dev/null
@@ -0,0 +1,137 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Gesture : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal Gesture(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(Gesture obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Gesture() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public Gesture.GestureType Type
+  {
+    get
+    {
+      return type;
+    }
+  }
+
+  public Gesture.StateType State
+  {
+    get
+    {
+      return state;
+    }
+  }
+
+  public uint Time
+  {
+    get
+    {
+      return time;
+    }
+  }
+
+  public Gesture(Gesture rhs) : this(NDalicPINVOKE.new_Gesture(Gesture.getCPtr(rhs)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Gesture Assign(Gesture rhs) {
+    Gesture ret = new Gesture(NDalicPINVOKE.Gesture_Assign(swigCPtr, Gesture.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Gesture.GestureType type {
+    set {
+      NDalicPINVOKE.Gesture_type_set(swigCPtr, (int)value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      Gesture.GestureType ret = (Gesture.GestureType)NDalicPINVOKE.Gesture_type_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private Gesture.StateType state {
+    set {
+      NDalicPINVOKE.Gesture_state_set(swigCPtr, (int)value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      Gesture.StateType ret = (Gesture.StateType)NDalicPINVOKE.Gesture_state_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private uint time {
+    set {
+      NDalicPINVOKE.Gesture_time_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      uint ret = NDalicPINVOKE.Gesture_time_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public enum GestureType {
+    Pinch = 1 << 0,
+    Pan = 1 << 1,
+    Tap = 1 << 2,
+    LongPress = 1 << 3
+  }
+
+  public enum StateType {
+    Clear,
+    Started,
+    Continuing,
+    Finished,
+    Cancelled,
+    Possible
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/GestureDetector.cs b/plugins/dali-sharp/sharp/internal/GestureDetector.cs
new file mode 100644 (file)
index 0000000..4609902
--- /dev/null
@@ -0,0 +1,97 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class GestureDetector : Handle {
+  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;
+  }
+
+  ~GestureDetector() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public GestureDetector() : this(NDalicPINVOKE.new_GestureDetector__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public new static GestureDetector DownCast(BaseHandle handle) {
+    GestureDetector ret = new GestureDetector(NDalicPINVOKE.GestureDetector_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public GestureDetector(GestureDetector handle) : this(NDalicPINVOKE.new_GestureDetector__SWIG_1(GestureDetector.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public 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;
+  }
+
+  public void Attach(Actor actor) {
+    NDalicPINVOKE.GestureDetector_Attach(swigCPtr, Actor.getCPtr(actor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Detach(Actor actor) {
+    NDalicPINVOKE.GestureDetector_Detach(swigCPtr, Actor.getCPtr(actor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void DetachAll() {
+    NDalicPINVOKE.GestureDetector_DetachAll(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public uint GetAttachedActorCount() {
+    uint ret = NDalicPINVOKE.GestureDetector_GetAttachedActorCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Actor GetAttachedActor(uint index) {
+    Actor ret = new Actor(NDalicPINVOKE.GestureDetector_GetAttachedActor(swigCPtr, index), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/GradientVisualSpreadMethodType.cs b/plugins/dali-sharp/sharp/internal/GradientVisualSpreadMethodType.cs
new file mode 100644 (file)
index 0000000..acb0d2e
--- /dev/null
@@ -0,0 +1,19 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum GradientVisualSpreadMethodType {
+  PAD,
+  REFLECT,
+  REPEAT
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/GradientVisualUnitsType.cs b/plugins/dali-sharp/sharp/internal/GradientVisualUnitsType.cs
new file mode 100644 (file)
index 0000000..ba6fc00
--- /dev/null
@@ -0,0 +1,18 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum GradientVisualUnitsType {
+  OBJECT_BOUNDING_BOX,
+  USER_SPACE
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Handle.cs b/plugins/dali-sharp/sharp/internal/Handle.cs
new file mode 100644 (file)
index 0000000..1067d54
--- /dev/null
@@ -0,0 +1,198 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Handle : BaseHandle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal Handle(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(Handle obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Handle() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public Handle () : this (NDalicPINVOKE.Handle_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public Handle(Handle handle) : this(NDalicPINVOKE.new_Handle__SWIG_1(Handle.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Handle Assign(Handle rhs) {
+    Handle ret = new Handle(NDalicPINVOKE.Handle_Assign(swigCPtr, Handle.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static Handle DownCast(BaseHandle handle) {
+    Handle ret = new Handle(NDalicPINVOKE.Handle_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool Supports(Handle.Capability capability) {
+    bool ret = NDalicPINVOKE.Handle_Supports(swigCPtr, (int)capability);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetPropertyCount() {
+    uint ret = NDalicPINVOKE.Handle_GetPropertyCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public string GetPropertyName(int index) {
+    string ret = NDalicPINVOKE.Handle_GetPropertyName(swigCPtr, index);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public int GetPropertyIndex(string name) {
+    int ret = NDalicPINVOKE.Handle_GetPropertyIndex(swigCPtr, name);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool IsPropertyWritable(int index) {
+    bool ret = NDalicPINVOKE.Handle_IsPropertyWritable(swigCPtr, index);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool IsPropertyAnimatable(int index) {
+    bool ret = NDalicPINVOKE.Handle_IsPropertyAnimatable(swigCPtr, index);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool IsPropertyAConstraintInput(int index) {
+    bool ret = NDalicPINVOKE.Handle_IsPropertyAConstraintInput(swigCPtr, index);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Property.Type GetPropertyType(int index) {
+    Property.Type ret = (Property.Type)NDalicPINVOKE.Handle_GetPropertyType(swigCPtr, index);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetProperty(int index, Property.Value propertyValue) {
+    NDalicPINVOKE.Handle_SetProperty(swigCPtr, index, Property.Value.getCPtr(propertyValue));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public int RegisterProperty(string name, Property.Value propertyValue) {
+    int ret = NDalicPINVOKE.Handle_RegisterProperty__SWIG_0(swigCPtr, name, Property.Value.getCPtr(propertyValue));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public int RegisterProperty(string name, Property.Value propertyValue, Property.AccessMode accessMode) {
+    int ret = NDalicPINVOKE.Handle_RegisterProperty__SWIG_1(swigCPtr, name, Property.Value.getCPtr(propertyValue), (int)accessMode);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Property.Value GetProperty(int index) {
+    Property.Value ret = new Property.Value(NDalicPINVOKE.Handle_GetProperty(swigCPtr, index), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void GetPropertyIndices(VectorInteger indices) {
+    NDalicPINVOKE.Handle_GetPropertyIndices(swigCPtr, VectorInteger.getCPtr(indices));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PropertyNotification AddPropertyNotification(int index, PropertyCondition condition) {
+    PropertyNotification ret = new PropertyNotification(NDalicPINVOKE.Handle_AddPropertyNotification__SWIG_0(swigCPtr, index, PropertyCondition.getCPtr(condition)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public 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;
+  }
+
+  public void RemovePropertyNotification(PropertyNotification propertyNotification) {
+    NDalicPINVOKE.Handle_RemovePropertyNotification(swigCPtr, PropertyNotification.getCPtr(propertyNotification));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RemovePropertyNotifications() {
+    NDalicPINVOKE.Handle_RemovePropertyNotifications(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RemoveConstraints() {
+    NDalicPINVOKE.Handle_RemoveConstraints__SWIG_0(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RemoveConstraints(uint tag) {
+    NDalicPINVOKE.Handle_RemoveConstraints__SWIG_1(swigCPtr, tag);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public enum Capability {
+    DYNAMIC_PROPERTIES = 0x01
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/HorizontalAlignmentType.cs b/plugins/dali-sharp/sharp/internal/HorizontalAlignmentType.cs
new file mode 100644 (file)
index 0000000..61ca361
--- /dev/null
@@ -0,0 +1,19 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum HorizontalAlignmentType {
+  LEFT,
+  CENTER,
+  RIGHT
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Hover.cs b/plugins/dali-sharp/sharp/internal/Hover.cs
new file mode 100644 (file)
index 0000000..1f31dd0
--- /dev/null
@@ -0,0 +1,156 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Hover : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal Hover(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(Hover obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Hover() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public static Hover GetHoverFromPtr(global::System.IntPtr cPtr) {
+    Hover ret = new Hover(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint Time
+  {
+    get
+    {
+      return time;
+    }
+  }
+
+  public int GetDeviceId(uint point) {
+    if( point < points.Count )
+    {
+      return points[(int)point].deviceId;
+    }
+    return -1;
+  }
+
+  public PointStateType GetState(uint point) {
+    if( point < points.Count )
+    {
+      return (Dali.PointStateType)(points[(int)point].state);
+    }
+    return PointStateType.FINISHED;
+  }
+
+  public Actor GetHitActor(uint point) {
+    if( point < points.Count )
+    {
+      return points[(int)point].hitActor;
+    }
+    else
+    {
+      // Return a native empty handle
+      Actor actor = new Actor();
+      actor.Reset();
+      return actor;
+    }
+  }
+
+  public Vector2 GetLocalPosition(uint point) {
+    if( point < points.Count )
+    {
+      return points[(int)point].local;
+    }
+    return new Vector2(0.0f, 0.0f);
+  }
+
+  public Vector2 GetScreenPosition(uint point) {
+    if( point < points.Count )
+    {
+      return points[(int)point].screen;
+    }
+    return new Vector2(0.0f, 0.0f);
+  }
+
+  public Hover() : this(NDalicPINVOKE.new_Hover__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Hover(uint time) : this(NDalicPINVOKE.new_Hover__SWIG_1(time), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  private TouchPointContainer points {
+    set {
+      NDalicPINVOKE.Hover_points_set(swigCPtr, TouchPointContainer.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      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;
+    } 
+  }
+
+  private uint time {
+    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;
+    } 
+  }
+
+  public uint GetPointCount() {
+    uint ret = NDalicPINVOKE.Hover_GetPointCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public TouchPoint GetPoint(uint point) {
+    TouchPoint ret = new TouchPoint(NDalicPINVOKE.Hover_GetPoint(swigCPtr, point), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Image.cs b/plugins/dali-sharp/sharp/internal/Image.cs
new file mode 100644 (file)
index 0000000..9f8f0a7
--- /dev/null
@@ -0,0 +1,182 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class Image : BaseHandle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal Image(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Image_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Image obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Image() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_Image(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+
+/**
+  * @brief Event arguments that passed via Uploaded signal
+  *
+  */
+public class UploadedEventArgs : EventArgs
+{
+   private Image _image;
+   /**
+     * @brief Image - is the image data that gets uploaded to GL.
+     *
+     */
+   public Image Image
+   {
+      get
+      {
+         return _image;
+      }
+      set
+      {
+         _image = value;
+      }
+   }
+}
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void UploadedEventCallbackDelegate(IntPtr image);
+  private DaliEventHandler<object,UploadedEventArgs> _imageUploadedEventHandler;
+  private UploadedEventCallbackDelegate _imageUploadedEventCallbackDelegate;
+
+  /**
+    * @brief Event for Uploaded signal which can be used to subscribe/unsubscribe the event handler
+    * (in the type of UploadedEventHandler-DaliEventHandler<object,UploadedEventArgs>) 
+    * provided by the user. Uploaded signal is emitted when the image data gets uploaded to GL.
+    */
+  public event DaliEventHandler<object,UploadedEventArgs> Uploaded
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_imageUploadedEventHandler == null)
+           {
+              _imageUploadedEventHandler += value;
+
+              _imageUploadedEventCallbackDelegate = new UploadedEventCallbackDelegate(OnUploaded);
+              this.UploadedSignal().Connect(_imageUploadedEventCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_imageUploadedEventHandler != null)
+           {
+              this.UploadedSignal().Disconnect(_imageUploadedEventCallbackDelegate);
+           }
+
+           _imageUploadedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for Image UploadedSignal
+  private void OnUploaded(IntPtr data)
+  {
+     UploadedEventArgs e = new UploadedEventArgs();
+
+     // Populate all members of "e" (UploadedEventArgs) with real data
+     e.Image = Image.GetImageFromPtr(data);
+
+     if (_imageUploadedEventHandler != null)
+     {
+        //here we send all data to user event handlers
+        _imageUploadedEventHandler(this, e);
+     }
+  }
+
+
+public static Image GetImageFromPtr(global::System.IntPtr cPtr) {
+    Image ret = new Image(cPtr, false);
+   if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+
+  public Image() : this(NDalicPINVOKE.new_Image__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Image(Image handle) : this(NDalicPINVOKE.new_Image__SWIG_1(Image.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Image Assign(Image rhs) {
+    Image ret = new Image(NDalicPINVOKE.Image_Assign(swigCPtr, Image.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static Image DownCast(BaseHandle handle) {
+    Image ret = new Image(NDalicPINVOKE.Image_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetWidth() {
+    uint ret = NDalicPINVOKE.Image_GetWidth(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetHeight() {
+    uint ret = NDalicPINVOKE.Image_GetHeight(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ImageSignal UploadedSignal() {
+    ImageSignal ret = new ImageSignal(NDalicPINVOKE.Image_UploadedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ImageSignal.cs b/plugins/dali-sharp/sharp/internal/ImageSignal.cs
new file mode 100644 (file)
index 0000000..19d8896
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ImageSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal ImageSignal(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(ImageSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ImageSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ImageSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.ImageSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.ImageSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ImageSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ImageSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(Image arg) {
+    NDalicPINVOKE.ImageSignal_Emit(swigCPtr, Image.getCPtr(arg));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ImageSignal() : this(NDalicPINVOKE.new_ImageSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ImageView.cs b/plugins/dali-sharp/sharp/internal/ImageView.cs
new file mode 100644 (file)
index 0000000..8b9db52
--- /dev/null
@@ -0,0 +1,220 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ImageView : View {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal ImageView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ImageView_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ImageView obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ImageView() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ImageView(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_ImageView_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_ImageView_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int RESOURCE_URL = NDalicPINVOKE.ImageView_Property_RESOURCE_URL_get();
+    public static readonly int IMAGE = NDalicPINVOKE.ImageView_Property_IMAGE_get();
+    public static readonly int PRE_MULTIPLIED_ALPHA = NDalicPINVOKE.ImageView_Property_PRE_MULTIPLIED_ALPHA_get();
+    public static readonly int PIXEL_AREA = NDalicPINVOKE.ImageView_Property_PIXEL_AREA_get();
+  
+  }
+
+  public ImageView () : this (NDalicPINVOKE.ImageView_New__SWIG_0(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public ImageView (Image image) : this (NDalicPINVOKE.ImageView_New__SWIG_1(Image.getCPtr(image)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public ImageView (string url) : this (NDalicPINVOKE.ImageView_New__SWIG_2(url), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public ImageView (string url, Uint16Pair size) : this (NDalicPINVOKE.ImageView_New__SWIG_3(url, Uint16Pair.getCPtr(size)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public ImageView(ImageView imageView) : this(NDalicPINVOKE.new_ImageView__SWIG_1(ImageView.getCPtr(imageView)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ImageView Assign(ImageView imageView) {
+    ImageView ret = new ImageView(NDalicPINVOKE.ImageView_Assign(swigCPtr, ImageView.getCPtr(imageView)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static ImageView DownCast(BaseHandle handle) {
+    ImageView ret = new ImageView(NDalicPINVOKE.ImageView_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetImage(Image image) {
+    NDalicPINVOKE.ImageView_SetImage__SWIG_0(swigCPtr, Image.getCPtr(image));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetImage(string url) {
+    NDalicPINVOKE.ImageView_SetImage__SWIG_1(swigCPtr, url);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetImage(string url, Uint16Pair size) {
+    NDalicPINVOKE.ImageView_SetImage__SWIG_2(swigCPtr, url, Uint16Pair.getCPtr(size));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Image GetImage() {
+    Image ret = new Image(NDalicPINVOKE.ImageView_GetImage(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum PropertyRange {
+    PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+    PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000,
+    ANIMATABLE_PROPERTY_START_INDEX = PropertyRanges.ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX,
+    ANIMATABLE_PROPERTY_END_INDEX = PropertyRanges.ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX+1000
+  }
+
+  public string ResourceUrl
+  {
+    get
+    {
+      string temp;
+      GetProperty( ImageView.Property.RESOURCE_URL).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ImageView.Property.RESOURCE_URL, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map ImageMap
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( ImageView.Property.IMAGE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ImageView.Property.IMAGE, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool PreMultipliedAlpha
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( ImageView.Property.PRE_MULTIPLIED_ALPHA).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ImageView.Property.PRE_MULTIPLIED_ALPHA, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector4 PixelArea
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( ImageView.Property.PIXEL_AREA).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ImageView.Property.PIXEL_AREA, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Item.cs b/plugins/dali-sharp/sharp/internal/Item.cs
new file mode 100644 (file)
index 0000000..08dbdc0
--- /dev/null
@@ -0,0 +1,82 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Item : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal Item(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(Item obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Item() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_Item(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+  public Item() : this(NDalicPINVOKE.new_Item__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Item(uint t, Actor u) : this(NDalicPINVOKE.new_Item__SWIG_1(t, Actor.getCPtr(u)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Item(Item p) : this(NDalicPINVOKE.new_Item__SWIG_2(Item.getCPtr(p)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public uint first {
+    set {
+      NDalicPINVOKE.Item_first_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      uint ret = NDalicPINVOKE.Item_first_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public Actor second {
+    set {
+      NDalicPINVOKE.Item_second_set(swigCPtr, Actor.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Item_second_get(swigCPtr);
+      Actor ret = (cPtr == global::System.IntPtr.Zero) ? null : new Actor(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ItemContainer.cs b/plugins/dali-sharp/sharp/internal/ItemContainer.cs
new file mode 100644 (file)
index 0000000..2472eca
--- /dev/null
@@ -0,0 +1,315 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ItemContainer : global::System.IDisposable, global::System.Collections.IEnumerable
+    , global::System.Collections.Generic.IEnumerable<Item>
+ {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal ItemContainer(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(ItemContainer obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ItemContainer() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ItemContainer(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+  public ItemContainer(global::System.Collections.ICollection c) : this() {
+    if (c == null)
+      throw new global::System.ArgumentNullException("c");
+    foreach (Item element in c) {
+      this.Add(element);
+    }
+  }
+
+  public bool IsFixedSize {
+    get {
+      return false;
+    }
+  }
+
+  public bool IsReadOnly {
+    get {
+      return false;
+    }
+  }
+
+  public Item this[int index]  {
+    get {
+      return getitem(index);
+    }
+    set {
+      setitem(index, value);
+    }
+  }
+
+  public int Capacity {
+    get {
+      return (int)capacity();
+    }
+    set {
+      if (value < size())
+        throw new global::System.ArgumentOutOfRangeException("Capacity");
+      reserve((uint)value);
+    }
+  }
+
+  public int Count {
+    get {
+      return (int)size();
+    }
+  }
+
+  public bool IsSynchronized {
+    get {
+      return false;
+    }
+  }
+
+  public void CopyTo(Item[] array)
+  {
+    CopyTo(0, array, 0, this.Count);
+  }
+
+  public void CopyTo(Item[] array, int arrayIndex)
+  {
+    CopyTo(0, array, arrayIndex, this.Count);
+  }
+
+  public void CopyTo(int index, Item[] array, int arrayIndex, int count)
+  {
+    if (array == null)
+      throw new global::System.ArgumentNullException("array");
+    if (index < 0)
+      throw new global::System.ArgumentOutOfRangeException("index", "Value is less than zero");
+    if (arrayIndex < 0)
+      throw new global::System.ArgumentOutOfRangeException("arrayIndex", "Value is less than zero");
+    if (count < 0)
+      throw new global::System.ArgumentOutOfRangeException("count", "Value is less than zero");
+    if (array.Rank > 1)
+      throw new global::System.ArgumentException("Multi dimensional array.", "array");
+    if (index+count > this.Count || arrayIndex+count > array.Length)
+      throw new global::System.ArgumentException("Number of elements to copy is too large.");
+    for (int i=0; i<count; i++)
+      array.SetValue(getitemcopy(index+i), arrayIndex+i);
+  }
+
+  global::System.Collections.Generic.IEnumerator<Item> global::System.Collections.Generic.IEnumerable<Item>.GetEnumerator() {
+    return new ItemContainerEnumerator(this);
+  }
+
+  global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator() {
+    return new ItemContainerEnumerator(this);
+  }
+
+  public ItemContainerEnumerator GetEnumerator() {
+    return new ItemContainerEnumerator(this);
+  }
+
+  // Type-safe enumerator
+  /// Note that the IEnumerator documentation requires an InvalidOperationException to be thrown
+  /// whenever the collection is modified. This has been done for changes in the size of the
+  /// collection but not when one of the elements of the collection is modified as it is a bit
+  /// tricky to detect unmanaged code that modifies the collection under our feet.
+  public sealed class ItemContainerEnumerator : global::System.Collections.IEnumerator
+    , global::System.Collections.Generic.IEnumerator<Item>
+  {
+    private ItemContainer collectionRef;
+    private int currentIndex;
+    private object currentObject;
+    private int currentSize;
+
+    public ItemContainerEnumerator(ItemContainer collection) {
+      collectionRef = collection;
+      currentIndex = -1;
+      currentObject = null;
+      currentSize = collectionRef.Count;
+    }
+
+    // Type-safe iterator Current
+    public Item Current {
+      get {
+        if (currentIndex == -1)
+          throw new global::System.InvalidOperationException("Enumeration not started.");
+        if (currentIndex > currentSize - 1)
+          throw new global::System.InvalidOperationException("Enumeration finished.");
+        if (currentObject == null)
+          throw new global::System.InvalidOperationException("Collection modified.");
+        return (Item)currentObject;
+      }
+    }
+
+    // Type-unsafe IEnumerator.Current
+    object global::System.Collections.IEnumerator.Current {
+      get {
+        return Current;
+      }
+    }
+
+    public bool MoveNext() {
+      int size = collectionRef.Count;
+      bool moveOkay = (currentIndex+1 < size) && (size == currentSize);
+      if (moveOkay) {
+        currentIndex++;
+        currentObject = collectionRef[currentIndex];
+      } else {
+        currentObject = null;
+      }
+      return moveOkay;
+    }
+
+    public void Reset() {
+      currentIndex = -1;
+      currentObject = null;
+      if (collectionRef.Count != currentSize) {
+        throw new global::System.InvalidOperationException("Collection modified.");
+      }
+    }
+
+    public void Dispose() {
+        currentIndex = -1;
+        currentObject = null;
+    }
+  }
+
+  public void Clear() {
+    NDalicPINVOKE.ItemContainer_Clear(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Add(Item x) {
+    NDalicPINVOKE.ItemContainer_Add(swigCPtr, Item.getCPtr(x));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  private uint size() {
+    uint ret = NDalicPINVOKE.ItemContainer_size(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private uint capacity() {
+    uint ret = NDalicPINVOKE.ItemContainer_capacity(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private void reserve(uint n) {
+    NDalicPINVOKE.ItemContainer_reserve(swigCPtr, n);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ItemContainer() : this(NDalicPINVOKE.new_ItemContainer__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ItemContainer(ItemContainer other) : this(NDalicPINVOKE.new_ItemContainer__SWIG_1(ItemContainer.getCPtr(other)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ItemContainer(int capacity) : this(NDalicPINVOKE.new_ItemContainer__SWIG_2(capacity), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  private Item getitemcopy(int index) {
+    Item ret = new Item(NDalicPINVOKE.ItemContainer_getitemcopy(swigCPtr, index), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Item getitem(int index) {
+    Item ret = new Item(NDalicPINVOKE.ItemContainer_getitem(swigCPtr, index), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private void setitem(int index, Item val) {
+    NDalicPINVOKE.ItemContainer_setitem(swigCPtr, index, Item.getCPtr(val));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AddRange(ItemContainer values) {
+    NDalicPINVOKE.ItemContainer_AddRange(swigCPtr, ItemContainer.getCPtr(values));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ItemContainer GetRange(int index, int count) {
+    global::System.IntPtr cPtr = NDalicPINVOKE.ItemContainer_GetRange(swigCPtr, index, count);
+    ItemContainer ret = (cPtr == global::System.IntPtr.Zero) ? null : new ItemContainer(cPtr, true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Insert(int index, Item x) {
+    NDalicPINVOKE.ItemContainer_Insert(swigCPtr, index, Item.getCPtr(x));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void InsertRange(int index, ItemContainer values) {
+    NDalicPINVOKE.ItemContainer_InsertRange(swigCPtr, index, ItemContainer.getCPtr(values));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RemoveAt(int index) {
+    NDalicPINVOKE.ItemContainer_RemoveAt(swigCPtr, index);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RemoveRange(int index, int count) {
+    NDalicPINVOKE.ItemContainer_RemoveRange(swigCPtr, index, count);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static ItemContainer Repeat(Item value, int count) {
+    global::System.IntPtr cPtr = NDalicPINVOKE.ItemContainer_Repeat(Item.getCPtr(value), count);
+    ItemContainer ret = (cPtr == global::System.IntPtr.Zero) ? null : new ItemContainer(cPtr, true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Reverse() {
+    NDalicPINVOKE.ItemContainer_Reverse__SWIG_0(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Reverse(int index, int count) {
+    NDalicPINVOKE.ItemContainer_Reverse__SWIG_1(swigCPtr, index, count);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetRange(int index, ItemContainer values) {
+    NDalicPINVOKE.ItemContainer_SetRange(swigCPtr, index, ItemContainer.getCPtr(values));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ItemFactory.cs b/plugins/dali-sharp/sharp/internal/ItemFactory.cs
new file mode 100644 (file)
index 0000000..88e22e9
--- /dev/null
@@ -0,0 +1,112 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ItemFactory : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal ItemFactory(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(ItemFactory obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ItemFactory() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ItemFactory(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public virtual uint GetNumberOfItems() {
+    uint ret = NDalicPINVOKE.ItemFactory_GetNumberOfItems(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual Actor NewItem(uint itemId) {
+    Actor ret = new Actor(NDalicPINVOKE.ItemFactory_NewItem(swigCPtr, itemId), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual void ItemReleased(uint itemId, Actor actor) {
+    if (SwigDerivedClassHasMethod("ItemReleased", swigMethodTypes2)) NDalicPINVOKE.ItemFactory_ItemReleasedSwigExplicitItemFactory(swigCPtr, itemId, Actor.getCPtr(actor)); else NDalicPINVOKE.ItemFactory_ItemReleased(swigCPtr, itemId, Actor.getCPtr(actor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ItemFactory() : this(NDalicPINVOKE.new_ItemFactory(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    SwigDirectorConnect();
+  }
+
+  private void SwigDirectorConnect() {
+    if (SwigDerivedClassHasMethod("GetNumberOfItems", swigMethodTypes0))
+      swigDelegate0 = new SwigDelegateItemFactory_0(SwigDirectorGetNumberOfItems);
+    if (SwigDerivedClassHasMethod("NewItem", swigMethodTypes1))
+      swigDelegate1 = new SwigDelegateItemFactory_1(SwigDirectorNewItem);
+    if (SwigDerivedClassHasMethod("ItemReleased", swigMethodTypes2))
+      swigDelegate2 = new SwigDelegateItemFactory_2(SwigDirectorItemReleased);
+    NDalicPINVOKE.ItemFactory_director_connect(swigCPtr, swigDelegate0, swigDelegate1, swigDelegate2);
+  }
+
+  private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes) {
+    global::System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(methodName, global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance, null, methodTypes, null);
+    bool hasDerivedMethod = methodInfo.DeclaringType.IsSubclassOf(typeof(ItemFactory));
+    return hasDerivedMethod;
+  }
+
+  private uint SwigDirectorGetNumberOfItems() {
+    return GetNumberOfItems();
+  }
+
+  private global::System.IntPtr SwigDirectorNewItem(uint itemId) {
+    return Actor.getCPtr(NewItem(itemId)).Handle;
+  }
+
+  private void SwigDirectorItemReleased(uint itemId, global::System.IntPtr actor) {
+    ItemReleased(itemId, new Actor(actor, true));
+  }
+
+  public delegate uint SwigDelegateItemFactory_0();
+  public delegate global::System.IntPtr SwigDelegateItemFactory_1(uint itemId);
+  public delegate void SwigDelegateItemFactory_2(uint itemId, global::System.IntPtr actor);
+
+  private SwigDelegateItemFactory_0 swigDelegate0;
+  private SwigDelegateItemFactory_1 swigDelegate1;
+  private SwigDelegateItemFactory_2 swigDelegate2;
+
+  private static global::System.Type[] swigMethodTypes0 = new global::System.Type[] {  };
+  private static global::System.Type[] swigMethodTypes1 = new global::System.Type[] { typeof(uint) };
+  private static global::System.Type[] swigMethodTypes2 = new global::System.Type[] { typeof(uint), typeof(Actor) };
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ItemIdContainer.cs b/plugins/dali-sharp/sharp/internal/ItemIdContainer.cs
new file mode 100644 (file)
index 0000000..17a5cb4
--- /dev/null
@@ -0,0 +1,345 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ItemIdContainer : global::System.IDisposable, global::System.Collections.IEnumerable
+    , global::System.Collections.Generic.IList<uint>
+ {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal ItemIdContainer(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(ItemIdContainer obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ItemIdContainer() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ItemIdContainer(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public ItemIdContainer(global::System.Collections.ICollection c) : this() {
+    if (c == null)
+      throw new global::System.ArgumentNullException("c");
+    foreach (uint element in c) {
+      this.Add(element);
+    }
+  }
+
+  public bool IsFixedSize {
+    get {
+      return false;
+    }
+  }
+
+  public bool IsReadOnly {
+    get {
+      return false;
+    }
+  }
+
+  public uint this[int index]  {
+    get {
+      return getitem(index);
+    }
+    set {
+      setitem(index, value);
+    }
+  }
+
+  public int Capacity {
+    get {
+      return (int)capacity();
+    }
+    set {
+      if (value < size())
+        throw new global::System.ArgumentOutOfRangeException("Capacity");
+      reserve((uint)value);
+    }
+  }
+
+  public int Count {
+    get {
+      return (int)size();
+    }
+  }
+
+  public bool IsSynchronized {
+    get {
+      return false;
+    }
+  }
+
+  public void CopyTo(uint[] array)
+  {
+    CopyTo(0, array, 0, this.Count);
+  }
+
+  public void CopyTo(uint[] array, int arrayIndex)
+  {
+    CopyTo(0, array, arrayIndex, this.Count);
+  }
+
+  public void CopyTo(int index, uint[] array, int arrayIndex, int count)
+  {
+    if (array == null)
+      throw new global::System.ArgumentNullException("array");
+    if (index < 0)
+      throw new global::System.ArgumentOutOfRangeException("index", "Value is less than zero");
+    if (arrayIndex < 0)
+      throw new global::System.ArgumentOutOfRangeException("arrayIndex", "Value is less than zero");
+    if (count < 0)
+      throw new global::System.ArgumentOutOfRangeException("count", "Value is less than zero");
+    if (array.Rank > 1)
+      throw new global::System.ArgumentException("Multi dimensional array.", "array");
+    if (index+count > this.Count || arrayIndex+count > array.Length)
+      throw new global::System.ArgumentException("Number of elements to copy is too large.");
+    for (int i=0; i<count; i++)
+      array.SetValue(getitemcopy(index+i), arrayIndex+i);
+  }
+
+  global::System.Collections.Generic.IEnumerator<uint> global::System.Collections.Generic.IEnumerable<uint>.GetEnumerator() {
+    return new ItemIdContainerEnumerator(this);
+  }
+
+  global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator() {
+    return new ItemIdContainerEnumerator(this);
+  }
+
+  public ItemIdContainerEnumerator GetEnumerator() {
+    return new ItemIdContainerEnumerator(this);
+  }
+
+  // Type-safe enumerator
+  /// Note that the IEnumerator documentation requires an InvalidOperationException to be thrown
+  /// whenever the collection is modified. This has been done for changes in the size of the
+  /// collection but not when one of the elements of the collection is modified as it is a bit
+  /// tricky to detect unmanaged code that modifies the collection under our feet.
+  public sealed class ItemIdContainerEnumerator : global::System.Collections.IEnumerator
+    , global::System.Collections.Generic.IEnumerator<uint>
+  {
+    private ItemIdContainer collectionRef;
+    private int currentIndex;
+    private object currentObject;
+    private int currentSize;
+
+    public ItemIdContainerEnumerator(ItemIdContainer collection) {
+      collectionRef = collection;
+      currentIndex = -1;
+      currentObject = null;
+      currentSize = collectionRef.Count;
+    }
+
+    // Type-safe iterator Current
+    public uint Current {
+      get {
+        if (currentIndex == -1)
+          throw new global::System.InvalidOperationException("Enumeration not started.");
+        if (currentIndex > currentSize - 1)
+          throw new global::System.InvalidOperationException("Enumeration finished.");
+        if (currentObject == null)
+          throw new global::System.InvalidOperationException("Collection modified.");
+        return (uint)currentObject;
+      }
+    }
+
+    // Type-unsafe IEnumerator.Current
+    object global::System.Collections.IEnumerator.Current {
+      get {
+        return Current;
+      }
+    }
+
+    public bool MoveNext() {
+      int size = collectionRef.Count;
+      bool moveOkay = (currentIndex+1 < size) && (size == currentSize);
+      if (moveOkay) {
+        currentIndex++;
+        currentObject = collectionRef[currentIndex];
+      } else {
+        currentObject = null;
+      }
+      return moveOkay;
+    }
+
+    public void Reset() {
+      currentIndex = -1;
+      currentObject = null;
+      if (collectionRef.Count != currentSize) {
+        throw new global::System.InvalidOperationException("Collection modified.");
+      }
+    }
+
+    public void Dispose() {
+        currentIndex = -1;
+        currentObject = null;
+    }
+  }
+
+  public void Clear() {
+    NDalicPINVOKE.ItemIdContainer_Clear(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Add(uint x) {
+    NDalicPINVOKE.ItemIdContainer_Add(swigCPtr, x);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  private uint size() {
+    uint ret = NDalicPINVOKE.ItemIdContainer_size(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private uint capacity() {
+    uint ret = NDalicPINVOKE.ItemIdContainer_capacity(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private void reserve(uint n) {
+    NDalicPINVOKE.ItemIdContainer_reserve(swigCPtr, n);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ItemIdContainer() : this(NDalicPINVOKE.new_ItemIdContainer__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ItemIdContainer(ItemIdContainer other) : this(NDalicPINVOKE.new_ItemIdContainer__SWIG_1(ItemIdContainer.getCPtr(other)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ItemIdContainer(int capacity) : this(NDalicPINVOKE.new_ItemIdContainer__SWIG_2(capacity), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  private uint getitemcopy(int index) {
+    uint ret = NDalicPINVOKE.ItemIdContainer_getitemcopy(swigCPtr, index);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private uint getitem(int index) {
+    uint ret = NDalicPINVOKE.ItemIdContainer_getitem(swigCPtr, index);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private void setitem(int index, uint val) {
+    NDalicPINVOKE.ItemIdContainer_setitem(swigCPtr, index, val);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AddRange(ItemIdContainer values) {
+    NDalicPINVOKE.ItemIdContainer_AddRange(swigCPtr, ItemIdContainer.getCPtr(values));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ItemIdContainer GetRange(int index, int count) {
+    global::System.IntPtr cPtr = NDalicPINVOKE.ItemIdContainer_GetRange(swigCPtr, index, count);
+    ItemIdContainer ret = (cPtr == global::System.IntPtr.Zero) ? null : new ItemIdContainer(cPtr, true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Insert(int index, uint x) {
+    NDalicPINVOKE.ItemIdContainer_Insert(swigCPtr, index, x);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void InsertRange(int index, ItemIdContainer values) {
+    NDalicPINVOKE.ItemIdContainer_InsertRange(swigCPtr, index, ItemIdContainer.getCPtr(values));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RemoveAt(int index) {
+    NDalicPINVOKE.ItemIdContainer_RemoveAt(swigCPtr, index);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RemoveRange(int index, int count) {
+    NDalicPINVOKE.ItemIdContainer_RemoveRange(swigCPtr, index, count);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static ItemIdContainer Repeat(uint value, int count) {
+    global::System.IntPtr cPtr = NDalicPINVOKE.ItemIdContainer_Repeat(value, count);
+    ItemIdContainer ret = (cPtr == global::System.IntPtr.Zero) ? null : new ItemIdContainer(cPtr, true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Reverse() {
+    NDalicPINVOKE.ItemIdContainer_Reverse__SWIG_0(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Reverse(int index, int count) {
+    NDalicPINVOKE.ItemIdContainer_Reverse__SWIG_1(swigCPtr, index, count);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetRange(int index, ItemIdContainer values) {
+    NDalicPINVOKE.ItemIdContainer_SetRange(swigCPtr, index, ItemIdContainer.getCPtr(values));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool Contains(uint value) {
+    bool ret = NDalicPINVOKE.ItemIdContainer_Contains(swigCPtr, value);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public int IndexOf(uint value) {
+    int ret = NDalicPINVOKE.ItemIdContainer_IndexOf(swigCPtr, value);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public int LastIndexOf(uint value) {
+    int ret = NDalicPINVOKE.ItemIdContainer_LastIndexOf(swigCPtr, value);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool Remove(uint value) {
+    bool ret = NDalicPINVOKE.ItemIdContainer_Remove(swigCPtr, value);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ItemLayout.cs b/plugins/dali-sharp/sharp/internal/ItemLayout.cs
new file mode 100644 (file)
index 0000000..a6f2690
--- /dev/null
@@ -0,0 +1,170 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ItemLayout : RefObject {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal ItemLayout(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ItemLayout_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ItemLayout obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ItemLayout() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ItemLayout(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public void SetOrientation(ControlOrientationType orientation) {
+    NDalicPINVOKE.ItemLayout_SetOrientation(swigCPtr, (int)orientation);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ControlOrientationType GetOrientation() {
+    ControlOrientationType ret = (ControlOrientationType)NDalicPINVOKE.ItemLayout_GetOrientation(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetLayoutProperties(Property.Map properties) {
+    NDalicPINVOKE.ItemLayout_SetLayoutProperties(swigCPtr, Property.Map.getCPtr(properties));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Property.Map GetLayoutProperties() {
+    Property.Map ret = new Property.Map(NDalicPINVOKE.ItemLayout_GetLayoutProperties(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void GetItemSize(uint itemId, Vector3 layoutSize, Vector3 itemSize) {
+    NDalicPINVOKE.ItemLayout_GetItemSize(swigCPtr, itemId, Vector3.getCPtr(layoutSize), Vector3.getCPtr(itemSize));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetItemSize(Vector3 itemSize) {
+    NDalicPINVOKE.ItemLayout_SetItemSize(swigCPtr, Vector3.getCPtr(itemSize));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual float GetMinimumLayoutPosition(uint numberOfItems, Vector3 layoutSize) {
+    float ret = NDalicPINVOKE.ItemLayout_GetMinimumLayoutPosition(swigCPtr, numberOfItems, Vector3.getCPtr(layoutSize));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual float GetClosestAnchorPosition(float layoutPosition) {
+    float ret = NDalicPINVOKE.ItemLayout_GetClosestAnchorPosition(swigCPtr, layoutPosition);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual float GetItemScrollToPosition(uint itemId) {
+    float ret = NDalicPINVOKE.ItemLayout_GetItemScrollToPosition(swigCPtr, itemId);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual ItemRange GetItemsWithinArea(float firstItemPosition, Vector3 layoutSize) {
+    ItemRange ret = new ItemRange(NDalicPINVOKE.ItemLayout_GetItemsWithinArea(swigCPtr, firstItemPosition, Vector3.getCPtr(layoutSize)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual float GetClosestOnScreenLayoutPosition(int itemID, float currentLayoutPosition, Vector3 layoutSize) {
+    float ret = NDalicPINVOKE.ItemLayout_GetClosestOnScreenLayoutPosition(swigCPtr, itemID, currentLayoutPosition, Vector3.getCPtr(layoutSize));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual uint GetReserveItemCount(Vector3 layoutSize) {
+    uint ret = NDalicPINVOKE.ItemLayout_GetReserveItemCount(swigCPtr, Vector3.getCPtr(layoutSize));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual void GetDefaultItemSize(uint itemId, Vector3 layoutSize, Vector3 itemSize) {
+    NDalicPINVOKE.ItemLayout_GetDefaultItemSize(swigCPtr, itemId, Vector3.getCPtr(layoutSize), Vector3.getCPtr(itemSize));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual Degree GetScrollDirection() {
+    Degree ret = new Degree(NDalicPINVOKE.ItemLayout_GetScrollDirection(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual float GetScrollSpeedFactor() {
+    float ret = NDalicPINVOKE.ItemLayout_GetScrollSpeedFactor(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual float GetMaximumSwipeSpeed() {
+    float ret = NDalicPINVOKE.ItemLayout_GetMaximumSwipeSpeed(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual float GetItemFlickAnimationDuration() {
+    float ret = NDalicPINVOKE.ItemLayout_GetItemFlickAnimationDuration(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual int GetNextFocusItemID(int itemID, int maxItems, View.KeyboardFocus.Direction direction, bool loopEnabled) {
+    int ret = NDalicPINVOKE.ItemLayout_GetNextFocusItemID(swigCPtr, itemID, maxItems, (int)direction, loopEnabled);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual float GetFlickSpeedFactor() {
+    float ret = NDalicPINVOKE.ItemLayout_GetFlickSpeedFactor(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual void ApplyConstraints(Actor actor, int itemId, Vector3 layoutSize, Actor itemViewActor) {
+    NDalicPINVOKE.ItemLayout_ApplyConstraints(swigCPtr, Actor.getCPtr(actor), itemId, Vector3.getCPtr(layoutSize), Actor.getCPtr(itemViewActor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual Vector3 GetItemPosition(int itemID, float currentLayoutPosition, Vector3 layoutSize) {
+    Vector3 ret = new Vector3(NDalicPINVOKE.ItemLayout_GetItemPosition(swigCPtr, itemID, currentLayoutPosition, Vector3.getCPtr(layoutSize)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ItemRange.cs b/plugins/dali-sharp/sharp/internal/ItemRange.cs
new file mode 100644 (file)
index 0000000..c6df63f
--- /dev/null
@@ -0,0 +1,101 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ItemRange : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal ItemRange(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(ItemRange obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ItemRange() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ItemRange(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public ItemRange(uint beginItem, uint endItem) : this(NDalicPINVOKE.new_ItemRange__SWIG_0(beginItem, endItem), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ItemRange(ItemRange copy) : this(NDalicPINVOKE.new_ItemRange__SWIG_1(ItemRange.getCPtr(copy)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ItemRange Assign(ItemRange range) {
+    ItemRange ret = new ItemRange(NDalicPINVOKE.ItemRange_Assign(swigCPtr, ItemRange.getCPtr(range)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool Within(uint itemId) {
+    bool ret = NDalicPINVOKE.ItemRange_Within(swigCPtr, itemId);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ItemRange Intersection(ItemRange second) {
+    ItemRange ret = new ItemRange(NDalicPINVOKE.ItemRange_Intersection(swigCPtr, ItemRange.getCPtr(second)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint begin {
+    set {
+      NDalicPINVOKE.ItemRange_begin_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      uint ret = NDalicPINVOKE.ItemRange_begin_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public uint end {
+    set {
+      NDalicPINVOKE.ItemRange_end_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      uint ret = NDalicPINVOKE.ItemRange_end_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ItemView.cs b/plugins/dali-sharp/sharp/internal/ItemView.cs
new file mode 100644 (file)
index 0000000..a29fb74
--- /dev/null
@@ -0,0 +1,500 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class ItemView : Scrollable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal ItemView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ItemView_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ItemView obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ItemView() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ItemView(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public Dali.Property.Array Layout
+  {
+    get
+    {
+      Dali.Property.Array temp = new Dali.Property.Array();
+      GetProperty( ItemView.Property.LAYOUT).Get( temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ItemView.Property.LAYOUT, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_ItemView_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public static readonly int LAYOUT = NDalicManualPINVOKE.ItemView_Property_LAYOUT_get();
+  
+    public Property() : this(NDalicPINVOKE.new_ItemView_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int MINIMUM_SWIPE_SPEED = NDalicPINVOKE.ItemView_Property_MINIMUM_SWIPE_SPEED_get();
+    public static readonly int MINIMUM_SWIPE_DISTANCE = NDalicPINVOKE.ItemView_Property_MINIMUM_SWIPE_DISTANCE_get();
+    public static readonly int WHEEL_SCROLL_DISTANCE_STEP = NDalicPINVOKE.ItemView_Property_WHEEL_SCROLL_DISTANCE_STEP_get();
+    public static readonly int SNAP_TO_ITEM_ENABLED = NDalicPINVOKE.ItemView_Property_SNAP_TO_ITEM_ENABLED_get();
+    public static readonly int REFRESH_INTERVAL = NDalicPINVOKE.ItemView_Property_REFRESH_INTERVAL_get();
+    public static readonly int LAYOUT_POSITION = NDalicPINVOKE.ItemView_Property_LAYOUT_POSITION_get();
+    public static readonly int SCROLL_SPEED = NDalicPINVOKE.ItemView_Property_SCROLL_SPEED_get();
+    public static readonly int OVERSHOOT = NDalicPINVOKE.ItemView_Property_OVERSHOOT_get();
+    public static readonly int SCROLL_DIRECTION = NDalicPINVOKE.ItemView_Property_SCROLL_DIRECTION_get();
+    public static readonly int LAYOUT_ORIENTATION = NDalicPINVOKE.ItemView_Property_LAYOUT_ORIENTATION_get();
+    public static readonly int SCROLL_CONTENT_SIZE = NDalicPINVOKE.ItemView_Property_SCROLL_CONTENT_SIZE_get();
+  
+  }
+
+  public ItemView (ItemFactory factory) : this (NDalicPINVOKE.ItemView_New(ItemFactory.getCPtr(factory)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public ItemView(ItemView itemView) : this(NDalicPINVOKE.new_ItemView__SWIG_1(ItemView.getCPtr(itemView)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ItemView Assign(ItemView itemView) {
+    ItemView ret = new ItemView(NDalicPINVOKE.ItemView_Assign(swigCPtr, ItemView.getCPtr(itemView)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static ItemView DownCast(BaseHandle handle) {
+    ItemView ret = new ItemView(NDalicPINVOKE.ItemView_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetLayoutCount() {
+    uint ret = NDalicPINVOKE.ItemView_GetLayoutCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void AddLayout(ItemLayout layout) {
+    NDalicPINVOKE.ItemView_AddLayout(swigCPtr, ItemLayout.getCPtr(layout));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RemoveLayout(uint layoutIndex) {
+    NDalicPINVOKE.ItemView_RemoveLayout(swigCPtr, layoutIndex);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public SWIGTYPE_p_Dali__IntrusivePtrT_Dali__Toolkit__ItemLayout_t GetLayout(uint layoutIndex) {
+    SWIGTYPE_p_Dali__IntrusivePtrT_Dali__Toolkit__ItemLayout_t ret = new SWIGTYPE_p_Dali__IntrusivePtrT_Dali__Toolkit__ItemLayout_t(NDalicPINVOKE.ItemView_GetLayout(swigCPtr, layoutIndex), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SWIGTYPE_p_Dali__IntrusivePtrT_Dali__Toolkit__ItemLayout_t GetActiveLayout() {
+    SWIGTYPE_p_Dali__IntrusivePtrT_Dali__Toolkit__ItemLayout_t ret = new SWIGTYPE_p_Dali__IntrusivePtrT_Dali__Toolkit__ItemLayout_t(NDalicPINVOKE.ItemView_GetActiveLayout(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float GetCurrentLayoutPosition(uint itemId) {
+    float ret = NDalicPINVOKE.ItemView_GetCurrentLayoutPosition(swigCPtr, itemId);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void ActivateLayout(uint layoutIndex, Vector3 targetSize, float durationSeconds) {
+    NDalicPINVOKE.ItemView_ActivateLayout(swigCPtr, layoutIndex, Vector3.getCPtr(targetSize), durationSeconds);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void DeactivateCurrentLayout() {
+    NDalicPINVOKE.ItemView_DeactivateCurrentLayout(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetMinimumSwipeSpeed(float speed) {
+    NDalicPINVOKE.ItemView_SetMinimumSwipeSpeed(swigCPtr, speed);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetMinimumSwipeSpeed() {
+    float ret = NDalicPINVOKE.ItemView_GetMinimumSwipeSpeed(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetMinimumSwipeDistance(float distance) {
+    NDalicPINVOKE.ItemView_SetMinimumSwipeDistance(swigCPtr, distance);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetMinimumSwipeDistance() {
+    float ret = NDalicPINVOKE.ItemView_GetMinimumSwipeDistance(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetWheelScrollDistanceStep(float step) {
+    NDalicPINVOKE.ItemView_SetWheelScrollDistanceStep(swigCPtr, step);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetWheelScrollDistanceStep() {
+    float ret = NDalicPINVOKE.ItemView_GetWheelScrollDistanceStep(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetAnchoring(bool enabled) {
+    NDalicPINVOKE.ItemView_SetAnchoring(swigCPtr, enabled);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool GetAnchoring() {
+    bool ret = NDalicPINVOKE.ItemView_GetAnchoring(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetAnchoringDuration(float durationSeconds) {
+    NDalicPINVOKE.ItemView_SetAnchoringDuration(swigCPtr, durationSeconds);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetAnchoringDuration() {
+    float ret = NDalicPINVOKE.ItemView_GetAnchoringDuration(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void ScrollToItem(uint itemId, float durationSeconds) {
+    NDalicPINVOKE.ItemView_ScrollToItem(swigCPtr, itemId, durationSeconds);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetRefreshInterval(float intervalLayoutPositions) {
+    NDalicPINVOKE.ItemView_SetRefreshInterval(swigCPtr, intervalLayoutPositions);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetRefreshInterval() {
+    float ret = NDalicPINVOKE.ItemView_GetRefreshInterval(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Refresh() {
+    NDalicPINVOKE.ItemView_Refresh(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Actor GetItem(uint itemId) {
+    Actor ret = new Actor(NDalicPINVOKE.ItemView_GetItem(swigCPtr, itemId), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetItemId(Actor actor) {
+    uint ret = NDalicPINVOKE.ItemView_GetItemId(swigCPtr, Actor.getCPtr(actor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void InsertItem(Item newItem, float durationSeconds) {
+    NDalicPINVOKE.ItemView_InsertItem(swigCPtr, Item.getCPtr(newItem), durationSeconds);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void InsertItems(ItemContainer newItems, float durationSeconds) {
+    NDalicPINVOKE.ItemView_InsertItems(swigCPtr, ItemContainer.getCPtr(newItems), durationSeconds);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RemoveItem(uint itemId, float durationSeconds) {
+    NDalicPINVOKE.ItemView_RemoveItem(swigCPtr, itemId, durationSeconds);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RemoveItems(ItemIdContainer itemIds, float durationSeconds) {
+    NDalicPINVOKE.ItemView_RemoveItems(swigCPtr, ItemIdContainer.getCPtr(itemIds), durationSeconds);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void ReplaceItem(Item replacementItem, float durationSeconds) {
+    NDalicPINVOKE.ItemView_ReplaceItem(swigCPtr, Item.getCPtr(replacementItem), durationSeconds);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void ReplaceItems(ItemContainer replacementItems, float durationSeconds) {
+    NDalicPINVOKE.ItemView_ReplaceItems(swigCPtr, ItemContainer.getCPtr(replacementItems), durationSeconds);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetItemsParentOrigin(Vector3 parentOrigin) {
+    NDalicPINVOKE.ItemView_SetItemsParentOrigin(swigCPtr, Vector3.getCPtr(parentOrigin));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector3 GetItemsParentOrigin() {
+    Vector3 ret = new Vector3(NDalicPINVOKE.ItemView_GetItemsParentOrigin(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetItemsAnchorPoint(Vector3 anchorPoint) {
+    NDalicPINVOKE.ItemView_SetItemsAnchorPoint(swigCPtr, Vector3.getCPtr(anchorPoint));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector3 GetItemsAnchorPoint() {
+    Vector3 ret = new Vector3(NDalicPINVOKE.ItemView_GetItemsAnchorPoint(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void GetItemsRange(ItemRange range) {
+    NDalicPINVOKE.ItemView_GetItemsRange(swigCPtr, ItemRange.getCPtr(range));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public VoidSignal LayoutActivatedSignal() {
+    VoidSignal ret = new VoidSignal(NDalicPINVOKE.ItemView_LayoutActivatedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum PropertyRange {
+    PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+    PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000,
+    ANIMATABLE_PROPERTY_START_INDEX = PropertyRanges.ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX,
+    ANIMATABLE_PROPERTY_END_INDEX = PropertyRanges.ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX+1000
+  }
+
+  public float MinimumSwipeSpeed
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( ItemView.Property.MINIMUM_SWIPE_SPEED).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ItemView.Property.MINIMUM_SWIPE_SPEED, new Dali.Property.Value( value ) );
+    }
+  }
+  public float MinimumSwipeDistance
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( ItemView.Property.MINIMUM_SWIPE_DISTANCE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ItemView.Property.MINIMUM_SWIPE_DISTANCE, new Dali.Property.Value( value ) );
+    }
+  }
+  public float WheelScrollDistanceStep
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( ItemView.Property.WHEEL_SCROLL_DISTANCE_STEP).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ItemView.Property.WHEEL_SCROLL_DISTANCE_STEP, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool SnapToItemEnabled
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( ItemView.Property.SNAP_TO_ITEM_ENABLED).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ItemView.Property.SNAP_TO_ITEM_ENABLED, new Dali.Property.Value( value ) );
+    }
+  }
+  public float RefreshInterval
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( ItemView.Property.REFRESH_INTERVAL).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ItemView.Property.REFRESH_INTERVAL, new Dali.Property.Value( value ) );
+    }
+  }
+  public float LayoutPosition
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( ItemView.Property.LAYOUT_POSITION).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ItemView.Property.LAYOUT_POSITION, new Dali.Property.Value( value ) );
+    }
+  }
+  public float ScrollSpeed
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( ItemView.Property.SCROLL_SPEED).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ItemView.Property.SCROLL_SPEED, new Dali.Property.Value( value ) );
+    }
+  }
+  public float Overshoot
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( ItemView.Property.OVERSHOOT).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ItemView.Property.OVERSHOOT, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector2 ScrollDirection
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( ItemView.Property.SCROLL_DIRECTION).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ItemView.Property.SCROLL_DIRECTION, new Dali.Property.Value( value ) );
+    }
+  }
+  public int LayoutOrientation
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( ItemView.Property.LAYOUT_ORIENTATION).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ItemView.Property.LAYOUT_ORIENTATION, new Dali.Property.Value( value ) );
+    }
+  }
+  public float ScrollContentSize
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( ItemView.Property.SCROLL_CONTENT_SIZE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ItemView.Property.SCROLL_CONTENT_SIZE, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Key.cs b/plugins/dali-sharp/sharp/internal/Key.cs
new file mode 100644 (file)
index 0000000..05e6a62
--- /dev/null
@@ -0,0 +1,209 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Key : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  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;
+  }
+
+  ~Key() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public static Key GetKeyFromPtr(global::System.IntPtr cPtr) {
+    Key ret = new Key(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public string KeyPressedName
+  {
+    get
+    {
+      return keyPressedName;
+    }
+  }
+
+  public string KeyPressed
+  {
+    get
+    {
+      return keyPressed;
+    }
+  }
+
+  public int KeyCode
+  {
+    get
+    {
+      return keyCode;
+    }
+  }
+
+  public int KeyModifier
+  {
+    get
+    {
+      return keyModifier;
+    }
+  }
+
+  public uint Time
+  {
+    get
+    {
+      return time;
+    }
+  }
+
+  public Key.StateType State
+  {
+    get
+    {
+      return state;
+    }
+  }
+
+  public Key() : this(NDalicPINVOKE.new_Key__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public 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();
+  }
+
+  public bool IsShiftModifier() {
+    bool ret = NDalicPINVOKE.Key_IsShiftModifier(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool IsCtrlModifier() {
+    bool ret = NDalicPINVOKE.Key_IsCtrlModifier(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool IsAltModifier() {
+    bool ret = NDalicPINVOKE.Key_IsAltModifier(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private string keyPressedName {
+    set {
+      NDalicPINVOKE.Key_keyPressedName_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      string ret = NDalicPINVOKE.Key_keyPressedName_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private string keyPressed {
+    set {
+      NDalicPINVOKE.Key_keyPressed_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      string ret = NDalicPINVOKE.Key_keyPressed_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private int keyCode {
+    set {
+      NDalicPINVOKE.Key_keyCode_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      int ret = NDalicPINVOKE.Key_keyCode_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private int keyModifier {
+    set {
+      NDalicPINVOKE.Key_keyModifier_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      int ret = NDalicPINVOKE.Key_keyModifier_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private uint time {
+    set {
+      NDalicPINVOKE.Key_time_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      uint ret = NDalicPINVOKE.Key_time_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private Key.StateType state {
+    set {
+      NDalicPINVOKE.Key_state_set(swigCPtr, (int)value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      Key.StateType ret = (Key.StateType)NDalicPINVOKE.Key_state_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public enum StateType {
+    Down,
+    Up,
+    Last
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/KeyEventSignal.cs b/plugins/dali-sharp/sharp/internal/KeyEventSignal.cs
new file mode 100644 (file)
index 0000000..9396ac0
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class KeyEventSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal KeyEventSignal(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(KeyEventSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~KeyEventSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_KeyEventSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.KeyEventSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.KeyEventSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.KeyEventSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.KeyEventSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(Key arg) {
+    NDalicPINVOKE.KeyEventSignal_Emit(swigCPtr, Key.getCPtr(arg));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public KeyEventSignal() : this(NDalicPINVOKE.new_KeyEventSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/KeyFrames.cs b/plugins/dali-sharp/sharp/internal/KeyFrames.cs
new file mode 100644 (file)
index 0000000..1c443d1
--- /dev/null
@@ -0,0 +1,116 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class KeyFrames : BaseHandle {
+  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;
+  }
+
+  ~KeyFrames() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+  public void Add(float progress, object value)
+  {
+    dynamic obj = value;
+    Add(progress, new Property.Value(obj));
+  }
+
+  public void Add(float progress, object value, AlphaFunction alpha)
+  {
+    dynamic obj = value;
+    Add(progress, new Property.Value(obj), alpha);
+  }
+
+
+  public KeyFrames () : this (NDalicPINVOKE.KeyFrames_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public static KeyFrames DownCast(BaseHandle handle) {
+    KeyFrames ret = new KeyFrames(NDalicPINVOKE.KeyFrames_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public KeyFrames(KeyFrames handle) : this(NDalicPINVOKE.new_KeyFrames__SWIG_1(KeyFrames.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public KeyFrames Assign(KeyFrames rhs) {
+    KeyFrames ret = new KeyFrames(NDalicPINVOKE.KeyFrames_Assign(swigCPtr, KeyFrames.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Property.Type GetType() {
+    Property.Type ret = (Property.Type)NDalicPINVOKE.KeyFrames_GetType(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Add(float progress, Property.Value value) {
+    NDalicPINVOKE.KeyFrames_Add__SWIG_0(swigCPtr, progress, Property.Value.getCPtr(value));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Add(float progress, Property.Value value, AlphaFunction alpha) {
+    NDalicPINVOKE.KeyFrames_Add__SWIG_1(swigCPtr, progress, Property.Value.getCPtr(value), AlphaFunction.getCPtr(alpha));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/KeyInputFocusManager.cs b/plugins/dali-sharp/sharp/internal/KeyInputFocusManager.cs
new file mode 100644 (file)
index 0000000..455f463
--- /dev/null
@@ -0,0 +1,76 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class KeyInputFocusManager : BaseHandle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal KeyInputFocusManager(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.KeyInputFocusManager_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(KeyInputFocusManager obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~KeyInputFocusManager() {
+    Dispose();
+  }
+
+  public override void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_KeyInputFocusManager(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+  public KeyInputFocusManager() : this(NDalicPINVOKE.new_KeyInputFocusManager(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static KeyInputFocusManager Get() {
+    KeyInputFocusManager ret = new KeyInputFocusManager(NDalicPINVOKE.KeyInputFocusManager_Get(), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetFocus(View control) {
+    NDalicPINVOKE.KeyInputFocusManager_SetFocus(swigCPtr, View.getCPtr(control));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public View GetCurrentFocusControl() {
+    View ret = new View(NDalicPINVOKE.KeyInputFocusManager_GetCurrentFocusControl(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void RemoveFocus(View control) {
+    NDalicPINVOKE.KeyInputFocusManager_RemoveFocus(swigCPtr, View.getCPtr(control));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__Control_Dali__Toolkit__ControlF_t KeyInputFocusChangedSignal() {
+    SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__Control_Dali__Toolkit__ControlF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__Control_Dali__Toolkit__ControlF_t(NDalicPINVOKE.KeyInputFocusManager_KeyInputFocusChangedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/KeyInputFocusSignal.cs b/plugins/dali-sharp/sharp/internal/KeyInputFocusSignal.cs
new file mode 100644 (file)
index 0000000..82a16ed
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class KeyInputFocusSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal KeyInputFocusSignal(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(KeyInputFocusSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~KeyInputFocusSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_KeyInputFocusSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.KeyInputFocusSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.KeyInputFocusSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.KeyInputFocusSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.KeyInputFocusSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(View arg) {
+    NDalicPINVOKE.KeyInputFocusSignal_Emit(swigCPtr, View.getCPtr(arg));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public KeyInputFocusSignal() : this(NDalicPINVOKE.new_KeyInputFocusSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/KeyboardPreFocusChangeSignal.cs b/plugins/dali-sharp/sharp/internal/KeyboardPreFocusChangeSignal.cs
new file mode 100755 (executable)
index 0000000..6c70384
--- /dev/null
@@ -0,0 +1,96 @@
+/*
+ * 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.
+ *
+ */
+
+using System;
+
+namespace Dali {
+
+public delegate IntPtr SwigDelegatePreFocusChangeSignal(IntPtr current, IntPtr proposed, View.KeyboardFocus.Direction direction);
+
+public class PreFocusChangeSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal PreFocusChangeSignal(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(PreFocusChangeSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~PreFocusChangeSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicManualPINVOKE.delete_PreFocusChangeSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+  public bool Empty() {
+    bool ret = NDalicManualPINVOKE.PreFocusChangeSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicManualPINVOKE.PreFocusChangeSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(FocusManager.PreFocusChangeEventCallbackDelegate func) {
+     NDalicManualPINVOKE.PreFocusChangeSignal_Connect(swigCPtr, func);
+     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+  public void Disconnect(System.Delegate func) {
+    System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func);
+    {
+      NDalicManualPINVOKE.PreFocusChangeSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public Actor Emit(Actor arg1, Actor arg2, View.KeyboardFocus.Direction arg3) {
+    Actor ret = new Actor(NDalicManualPINVOKE.PreFocusChangeSignal_Emit(swigCPtr, Actor.getCPtr(arg1), Actor.getCPtr(arg2), (int)arg3), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public PreFocusChangeSignal() : this(NDalicManualPINVOKE.new_PreFocusChangeSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Layer.cs b/plugins/dali-sharp/sharp/internal/Layer.cs
new file mode 100644 (file)
index 0000000..7bff16e
--- /dev/null
@@ -0,0 +1,296 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Layer : Actor {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal Layer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Layer_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Layer obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Layer() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_Layer_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_Layer_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int CLIPPING_ENABLE = NDalicPINVOKE.Layer_Property_CLIPPING_ENABLE_get();
+    public static readonly int CLIPPING_BOX = NDalicPINVOKE.Layer_Property_CLIPPING_BOX_get();
+    public static readonly int BEHAVIOR = NDalicPINVOKE.Layer_Property_BEHAVIOR_get();
+  
+  }
+
+  public Layer () : this (NDalicPINVOKE.Layer_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public new static Layer DownCast(BaseHandle handle) {
+    Layer ret = new Layer(NDalicPINVOKE.Layer_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Layer(Layer copy) : this(NDalicPINVOKE.new_Layer__SWIG_1(Layer.getCPtr(copy)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Layer Assign(Layer rhs) {
+    Layer ret = new Layer(NDalicPINVOKE.Layer_Assign(swigCPtr, Layer.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetDepth() {
+    uint ret = NDalicPINVOKE.Layer_GetDepth(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Raise() {
+    NDalicPINVOKE.Layer_Raise(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Lower() {
+    NDalicPINVOKE.Layer_Lower(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RaiseAbove(Layer target) {
+    NDalicPINVOKE.Layer_RaiseAbove(swigCPtr, Layer.getCPtr(target));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void LowerBelow(Layer target) {
+    NDalicPINVOKE.Layer_LowerBelow(swigCPtr, Layer.getCPtr(target));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RaiseToTop() {
+    NDalicPINVOKE.Layer_RaiseToTop(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void LowerToBottom() {
+    NDalicPINVOKE.Layer_LowerToBottom(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void MoveAbove(Layer target) {
+    NDalicPINVOKE.Layer_MoveAbove(swigCPtr, Layer.getCPtr(target));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void MoveBelow(Layer target) {
+    NDalicPINVOKE.Layer_MoveBelow(swigCPtr, Layer.getCPtr(target));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetBehavior(Layer.LayerBehavior behavior) {
+    NDalicPINVOKE.Layer_SetBehavior(swigCPtr, (int)behavior);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Layer.LayerBehavior GetBehavior() {
+    Layer.LayerBehavior ret = (Layer.LayerBehavior)NDalicPINVOKE.Layer_GetBehavior(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetClipping(bool enabled) {
+    NDalicPINVOKE.Layer_SetClipping(swigCPtr, enabled);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool IsClipping() {
+    bool ret = NDalicPINVOKE.Layer_IsClipping(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetClippingBox(int x, int y, int width, int height) {
+    NDalicPINVOKE.Layer_SetClippingBox__SWIG_0(swigCPtr, x, y, width, height);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetClippingBox(Rectangle box) {
+    NDalicPINVOKE.Layer_SetClippingBox__SWIG_1(swigCPtr, Rectangle.getCPtr(box));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Rectangle GetClippingBox() {
+    Rectangle ret = new Rectangle(NDalicPINVOKE.Layer_GetClippingBox(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetDepthTestDisabled(bool disable) {
+    NDalicPINVOKE.Layer_SetDepthTestDisabled(swigCPtr, disable);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool IsDepthTestDisabled() {
+    bool ret = NDalicPINVOKE.Layer_IsDepthTestDisabled(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetSortFunction(SWIGTYPE_p_f_r_q_const__Dali__Vector3__float function) {
+    NDalicPINVOKE.Layer_SetSortFunction(swigCPtr, SWIGTYPE_p_f_r_q_const__Dali__Vector3__float.getCPtr(function));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetTouchConsumed(bool consume) {
+    NDalicPINVOKE.Layer_SetTouchConsumed(swigCPtr, consume);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool IsTouchConsumed() {
+    bool ret = NDalicPINVOKE.Layer_IsTouchConsumed(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetHoverConsumed(bool consume) {
+    NDalicPINVOKE.Layer_SetHoverConsumed(swigCPtr, consume);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool IsHoverConsumed() {
+    bool ret = NDalicPINVOKE.Layer_IsHoverConsumed(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum LayerBehavior {
+    LAYER_2D,
+    LAYER_UI = LAYER_2D,
+    LAYER_3D
+  }
+
+  public enum TreeDepthMultiplier {
+    TREE_DEPTH_MULTIPLIER = 10000
+  }
+
+  public bool ClippingEnable
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( Layer.Property.CLIPPING_ENABLE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Layer.Property.CLIPPING_ENABLE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Rectangle ClippingBox
+  {
+    get
+    {
+      Rectangle temp = new Rectangle(0,0,0,0);
+      GetProperty( Layer.Property.CLIPPING_BOX).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Layer.Property.CLIPPING_BOX, new Dali.Property.Value( value ) );
+    }
+  }
+  public Layer.LayerBehavior Behavior 
+  { 
+    get 
+    {
+      return GetBehavior();
+    }
+    set 
+    { 
+      SetBehavior( value );
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/LinearConstrainer.cs b/plugins/dali-sharp/sharp/internal/LinearConstrainer.cs
new file mode 100644 (file)
index 0000000..6cf0062
--- /dev/null
@@ -0,0 +1,167 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class LinearConstrainer : Handle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal LinearConstrainer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.LinearConstrainer_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(LinearConstrainer obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~LinearConstrainer() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_LinearConstrainer(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_LinearConstrainer_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_LinearConstrainer_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int VALUE = NDalicPINVOKE.LinearConstrainer_Property_VALUE_get();
+    public static readonly int PROGRESS = NDalicPINVOKE.LinearConstrainer_Property_PROGRESS_get();
+  
+  }
+
+  public LinearConstrainer () : this (NDalicPINVOKE.LinearConstrainer_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public new static LinearConstrainer DownCast(BaseHandle handle) {
+    LinearConstrainer ret = new LinearConstrainer(NDalicPINVOKE.LinearConstrainer_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public LinearConstrainer(LinearConstrainer handle) : this(NDalicPINVOKE.new_LinearConstrainer__SWIG_1(LinearConstrainer.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public LinearConstrainer Assign(LinearConstrainer rhs) {
+    LinearConstrainer ret = new LinearConstrainer(NDalicPINVOKE.LinearConstrainer_Assign(swigCPtr, LinearConstrainer.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Apply(Property target, Property source, Vector2 range, Vector2 wrap) {
+    NDalicPINVOKE.LinearConstrainer_Apply__SWIG_0(swigCPtr, Property.getCPtr(target), Property.getCPtr(source), Vector2.getCPtr(range), Vector2.getCPtr(wrap));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Apply(Property target, Property source, Vector2 range) {
+    NDalicPINVOKE.LinearConstrainer_Apply__SWIG_1(swigCPtr, Property.getCPtr(target), Property.getCPtr(source), Vector2.getCPtr(range));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Remove(Handle target) {
+    NDalicPINVOKE.LinearConstrainer_Remove(swigCPtr, Handle.getCPtr(target));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Dali.Property.Array Value
+  {
+    get
+    {
+      Dali.Property.Array temp = new Dali.Property.Array();
+      GetProperty( LinearConstrainer.Property.VALUE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( LinearConstrainer.Property.VALUE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Array Progress
+  {
+    get
+    {
+      Dali.Property.Array temp = new Dali.Property.Array();
+      GetProperty( LinearConstrainer.Property.PROGRESS).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( LinearConstrainer.Property.PROGRESS, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/LoadingState.cs b/plugins/dali-sharp/sharp/internal/LoadingState.cs
new file mode 100644 (file)
index 0000000..0994278
--- /dev/null
@@ -0,0 +1,19 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum LoadingState {
+  ResourceLoading,
+  ResourceLoadingSucceeded,
+  ResourceLoadingFailed
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/LongPressGesture.cs b/plugins/dali-sharp/sharp/internal/LongPressGesture.cs
new file mode 100644 (file)
index 0000000..0cf5a58
--- /dev/null
@@ -0,0 +1,132 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class LongPressGesture : Gesture {
+  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;
+  }
+
+  ~LongPressGesture() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public static LongPressGesture GetLongPressGestureFromPtr(global::System.IntPtr cPtr) {
+    LongPressGesture ret = new LongPressGesture(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint NumberOfTouches
+  {
+    get
+    {
+      return numberOfTouches;
+    }
+  }
+
+  public Vector2 ScreenPoint
+  {
+    get
+    {
+      return screenPoint;
+    }
+  }
+
+  public Vector2 LocalPoint
+  {
+    get
+    {
+      return localPoint;
+    }
+  }
+
+  public LongPressGesture(Gesture.StateType state) : this(NDalicPINVOKE.new_LongPressGesture__SWIG_0((int)state), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public LongPressGesture(LongPressGesture rhs) : this(NDalicPINVOKE.new_LongPressGesture__SWIG_1(LongPressGesture.getCPtr(rhs)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public LongPressGesture Assign(LongPressGesture rhs) {
+    LongPressGesture ret = new LongPressGesture(NDalicPINVOKE.LongPressGesture_Assign(swigCPtr, LongPressGesture.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private uint numberOfTouches {
+    set {
+      NDalicPINVOKE.LongPressGesture_numberOfTouches_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      uint ret = NDalicPINVOKE.LongPressGesture_numberOfTouches_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private Vector2 screenPoint {
+    set {
+      NDalicPINVOKE.LongPressGesture_screenPoint_set(swigCPtr, Vector2.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.LongPressGesture_screenPoint_get(swigCPtr);
+      Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private Vector2 localPoint {
+    set {
+      NDalicPINVOKE.LongPressGesture_localPoint_set(swigCPtr, Vector2.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.LongPressGesture_localPoint_get(swigCPtr);
+      Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/LongPressGestureDetectedSignal.cs b/plugins/dali-sharp/sharp/internal/LongPressGestureDetectedSignal.cs
new file mode 100644 (file)
index 0000000..1f041a6
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class LongPressGestureDetectedSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal LongPressGestureDetectedSignal(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(LongPressGestureDetectedSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~LongPressGestureDetectedSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_LongPressGestureDetectedSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.LongPressGestureDetectedSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.LongPressGestureDetectedSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.LongPressGestureDetectedSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.LongPressGestureDetectedSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(Actor arg1, LongPressGesture arg2) {
+    NDalicPINVOKE.LongPressGestureDetectedSignal_Emit(swigCPtr, Actor.getCPtr(arg1), LongPressGesture.getCPtr(arg2));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public LongPressGestureDetectedSignal() : this(NDalicPINVOKE.new_LongPressGestureDetectedSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/LongPressGestureDetector.cs b/plugins/dali-sharp/sharp/internal/LongPressGestureDetector.cs
new file mode 100644 (file)
index 0000000..c4fa5ea
--- /dev/null
@@ -0,0 +1,218 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class LongPressGestureDetector : GestureDetector {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal LongPressGestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.LongPressGestureDetector_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(LongPressGestureDetector obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~LongPressGestureDetector() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+
+public class DetectedEventArgs : EventArgs
+{
+   private Actor _actor;
+   private LongPressGesture _longPressGesture;
+
+   public Actor Actor
+   {
+      get
+      {
+         return _actor;
+      }
+      set
+      {
+         _actor = value;
+      }
+   }
+
+   public LongPressGesture LongPressGesture
+   {
+      get
+      {
+         return _longPressGesture;
+      }
+      set
+      {
+         _longPressGesture = value;
+      }
+   }
+}
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void DetectedCallbackDelegate(IntPtr actor, IntPtr longPressGesture);
+  private DaliEventHandler<object,DetectedEventArgs> _longPressGestureEventHandler;
+  private DetectedCallbackDelegate _longPressGestureCallbackDelegate;
+
+
+  public event DaliEventHandler<object,DetectedEventArgs> Detected
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_longPressGestureEventHandler == null)
+           {
+              _longPressGestureEventHandler += value;
+
+              _longPressGestureCallbackDelegate = new DetectedCallbackDelegate(OnLongPressGestureDetected);
+              this.DetectedSignal().Connect(_longPressGestureCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_longPressGestureEventHandler != null)
+           {
+              this.DetectedSignal().Disconnect(_longPressGestureCallbackDelegate);
+           }
+
+           _longPressGestureEventHandler -= value;
+        }
+     }
+  }
+
+ private void OnLongPressGestureDetected(IntPtr actor, IntPtr longPressGesture)
+  {
+   DetectedEventArgs e = new DetectedEventArgs();
+
+   // Populate all members of "e" (LongPressGestureEventArgs) with real data
+   e.Actor = Actor.GetActorFromPtr(actor);
+   e.LongPressGesture = Dali.LongPressGesture.GetLongPressGestureFromPtr(longPressGesture);
+
+   if (_longPressGestureEventHandler != null)
+   {
+      //here we send all data to user event handlers
+      _longPressGestureEventHandler(this, e);
+   }
+
+  }
+
+
+public static LongPressGestureDetector GetLongPressGestureDetectorFromPtr(global::System.IntPtr cPtr) {
+    LongPressGestureDetector ret = new LongPressGestureDetector(cPtr, false);
+   if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+
+  public LongPressGestureDetector () : this (NDalicPINVOKE.LongPressGestureDetector_New__SWIG_0(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public LongPressGestureDetector (uint touchesRequired) : this (NDalicPINVOKE.LongPressGestureDetector_New__SWIG_1(touchesRequired), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public LongPressGestureDetector (uint minTouches, uint maxTouches) : this (NDalicPINVOKE.LongPressGestureDetector_New__SWIG_2(minTouches, maxTouches), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public new static LongPressGestureDetector DownCast(BaseHandle handle) {
+    LongPressGestureDetector ret = new LongPressGestureDetector(NDalicPINVOKE.LongPressGestureDetector_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public LongPressGestureDetector(LongPressGestureDetector handle) : this(NDalicPINVOKE.new_LongPressGestureDetector__SWIG_1(LongPressGestureDetector.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public LongPressGestureDetector Assign(LongPressGestureDetector rhs) {
+    LongPressGestureDetector ret = new LongPressGestureDetector(NDalicPINVOKE.LongPressGestureDetector_Assign(swigCPtr, LongPressGestureDetector.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetTouchesRequired(uint touches) {
+    NDalicPINVOKE.LongPressGestureDetector_SetTouchesRequired__SWIG_0(swigCPtr, touches);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetTouchesRequired(uint minTouches, uint maxTouches) {
+    NDalicPINVOKE.LongPressGestureDetector_SetTouchesRequired__SWIG_1(swigCPtr, minTouches, maxTouches);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public uint GetMinimumTouchesRequired() {
+    uint ret = NDalicPINVOKE.LongPressGestureDetector_GetMinimumTouchesRequired(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetMaximumTouchesRequired() {
+    uint ret = NDalicPINVOKE.LongPressGestureDetector_GetMaximumTouchesRequired(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public LongPressGestureDetectedSignal DetectedSignal() {
+    LongPressGestureDetectedSignal ret = new LongPressGestureDetectedSignal(NDalicPINVOKE.LongPressGestureDetector_DetectedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ManualPINVOKE.cs b/plugins/dali-sharp/sharp/internal/ManualPINVOKE.cs
new file mode 100755 (executable)
index 0000000..3998705
--- /dev/null
@@ -0,0 +1,277 @@
+/*
+ * 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 Dali
+{
+    class NDalicManualPINVOKE
+    {
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_new_KeyboardFocusManager")]
+        public static extern global::System.IntPtr new_FocusManager();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_delete_KeyboardFocusManager")]
+        public static extern void delete_FocusManager(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_KeyboardFocusManager_Get")]
+        public static extern global::System.IntPtr FocusManager_Get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_KeyboardFocusManager_SetCurrentFocusActor")]
+        public static extern bool FocusManager_SetCurrentFocusActor(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_KeyboardFocusManager_GetCurrentFocusActor")]
+        public static extern global::System.IntPtr FocusManager_GetCurrentFocusActor(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_KeyboardFocusManager_MoveFocus")]
+        public static extern bool FocusManager_MoveFocus(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_KeyboardFocusManager_ClearFocus")]
+        public static extern void FocusManager_ClearFocus(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_KeyboardFocusManager_SetFocusGroupLoop")]
+        public static extern void FocusManager_SetFocusGroupLoop(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_KeyboardFocusManager_GetFocusGroupLoop")]
+        public static extern bool FocusManager_GetFocusGroupLoop(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_KeyboardFocusManager_SetAsFocusGroup")]
+        public static extern void FocusManager_SetAsFocusGroup(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, bool jarg3);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_KeyboardFocusManager_IsFocusGroup")]
+        public static extern bool FocusManager_IsFocusGroup(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_KeyboardFocusManager_GetFocusGroup")]
+        public static extern global::System.IntPtr FocusManager_GetFocusGroup(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_KeyboardFocusManager_SetFocusIndicatorActor")]
+        public static extern void FocusManager_SetFocusIndicatorActor(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_KeyboardFocusManager_GetFocusIndicatorActor")]
+        public static extern global::System.IntPtr FocusManager_GetFocusIndicatorActor(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_KeyboardFocusManager_PreFocusChangeSignal")]
+        public static extern global::System.IntPtr FocusManager_PreFocusChangeSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_KeyboardFocusManager_FocusChangedSignal")]
+        public static extern global::System.IntPtr FocusManager_FocusChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_KeyboardFocusManager_FocusGroupChangedSignal")]
+        public static extern global::System.IntPtr FocusManager_FocusGroupChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_KeyboardFocusManager_FocusedActorEnterKeySignal")]
+        public static extern global::System.IntPtr FocusManager_FocusedActorEnterKeySignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_KeyboardPreFocusChangeSignal_Empty")]
+        public static extern bool PreFocusChangeSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_KeyboardPreFocusChangeSignal_GetConnectionCount")]
+        public static extern uint PreFocusChangeSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_KeyboardPreFocusChangeSignal_Connect")]
+        public static extern void PreFocusChangeSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, FocusManager.PreFocusChangeEventCallbackDelegate delegate1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_KeyboardPreFocusChangeSignal_Disconnect")]
+        public static extern void PreFocusChangeSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_KeyboardPreFocusChangeSignal_Emit")]
+        public static extern global::System.IntPtr PreFocusChangeSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, int jarg4);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_new_KeyboardPreFocusChangeSignal")]
+        public static extern global::System.IntPtr new_PreFocusChangeSignal();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_delete_KeyboardPreFocusChangeSignal")]
+        public static extern void delete_PreFocusChangeSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_KeyboardFocusManager_SWIGUpcast")]
+        public static extern global::System.IntPtr FocusManager_SWIGUpcast(global::System.IntPtr jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewWrapperImpl_CONTROL_BEHAVIOUR_FLAG_COUNT_get")]
+        public static extern int ViewWrapperImpl_CONTROL_BEHAVIOUR_FLAG_COUNT_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ViewWrapperImpl")]
+        public static extern global::System.IntPtr new_ViewWrapperImpl(int jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewWrapperImpl_New")]
+        public static extern global::System.IntPtr ViewWrapperImpl_New(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ViewWrapperImpl")]
+        public static extern void delete_ViewWrapperImpl(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewWrapperImpl_director_connect")]
+        public static extern void ViewWrapperImpl_director_connect(global::System.Runtime.InteropServices.HandleRef jarg1, ViewWrapperImpl.DelegateViewWrapperImpl_0 delegate0, ViewWrapperImpl.DelegateViewWrapperImpl_1 delegate1, ViewWrapperImpl.DelegateViewWrapperImpl_2 delegate2, ViewWrapperImpl.DelegateViewWrapperImpl_3 delegate3, ViewWrapperImpl.DelegateViewWrapperImpl_4 delegate4, ViewWrapperImpl.DelegateViewWrapperImpl_5 delegate5, ViewWrapperImpl.DelegateViewWrapperImpl_6 delegate6, ViewWrapperImpl.DelegateViewWrapperImpl_7 delegate7, ViewWrapperImpl.DelegateViewWrapperImpl_8 delegate8, ViewWrapperImpl.DelegateViewWrapperImpl_9 delegate9, ViewWrapperImpl.DelegateViewWrapperImpl_10 delegate10, ViewWrapperImpl.DelegateViewWrapperImpl_11 delegate11, ViewWrapperImpl.DelegateViewWrapperImpl_12 delegate12, ViewWrapperImpl.DelegateViewWrapperImpl_13 delegate13, ViewWrapperImpl.DelegateViewWrapperImpl_14 delegate14, ViewWrapperImpl.DelegateViewWrapperImpl_15 delegate15, ViewWrapperImpl.DelegateViewWrapperImpl_16 delegate16, ViewWrapperImpl.DelegateViewWrapperImpl_17 delegate17, ViewWrapperImpl.DelegateViewWrapperImpl_18 delegate18, ViewWrapperImpl.DelegateViewWrapperImpl_19 delegate19, ViewWrapperImpl.DelegateViewWrapperImpl_20 delegate20, ViewWrapperImpl.DelegateViewWrapperImpl_21 delegate21, ViewWrapperImpl.DelegateViewWrapperImpl_22 delegate22, ViewWrapperImpl.DelegateViewWrapperImpl_23 delegate23, ViewWrapperImpl.DelegateViewWrapperImpl_24 delegate24, ViewWrapperImpl.DelegateViewWrapperImpl_25 delegate25, ViewWrapperImpl.DelegateViewWrapperImpl_26 delegate26, ViewWrapperImpl.DelegateViewWrapperImpl_27 delegate27, ViewWrapperImpl.DelegateViewWrapperImpl_28 delegate28, ViewWrapperImpl.DelegateViewWrapperImpl_29 delegate29, ViewWrapperImpl.DelegateViewWrapperImpl_30 delegate30, ViewWrapperImpl.DelegateViewWrapperImpl_31 delegate31, ViewWrapperImpl.DelegateViewWrapperImpl_32 delegate32, ViewWrapperImpl.DelegateViewWrapperImpl_33 delegate33, ViewWrapperImpl.DelegateViewWrapperImpl_34 delegate34, ViewWrapperImpl.DelegateViewWrapperImpl_35 delegate35, ViewWrapperImpl.DelegateViewWrapperImpl_36 delegate36, ViewWrapperImpl.DelegateViewWrapperImpl_37 delegate37, ViewWrapperImpl.DelegateViewWrapperImpl_38 delegate38, ViewWrapperImpl.DelegateViewWrapperImpl_39 delegate39, ViewWrapperImpl.DelegateViewWrapperImpl_40 delegate40);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GetControlWrapperImpl__SWIG_0")]
+        public static extern global::System.IntPtr GetControlWrapperImpl__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewWrapper_New")]
+        public static extern global::System.IntPtr ViewWrapper_New(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ViewWrapper__SWIG_0")]
+        public static extern global::System.IntPtr new_ViewWrapper__SWIG_0();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ViewWrapper")]
+        public static extern void delete_ViewWrapper(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ViewWrapper__SWIG_1")]
+        public static extern global::System.IntPtr new_ViewWrapper__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewWrapper_Assign")]
+        public static extern global::System.IntPtr ViewWrapper_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewWrapper_DownCast")]
+        public static extern global::System.IntPtr ViewWrapper_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewWrapperImpl_SWIGUpcast")]
+        public static extern global::System.IntPtr ViewWrapperImpl_SWIGUpcast(global::System.IntPtr jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewWrapper_SWIGUpcast")]
+        public static extern global::System.IntPtr ViewWrapper_SWIGUpcast(global::System.IntPtr jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_ViewWrapperImpl_RelayoutRequest")]
+        public static extern void ViewWrapperImpl_RelayoutRequest(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_ViewWrapperImpl_GetHeightForWidthBase")]
+        public static extern float ViewWrapperImpl_GetHeightForWidthBase(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_ViewWrapperImpl_GetWidthForHeightBase")]
+        public static extern float ViewWrapperImpl_GetWidthForHeightBase(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_ViewWrapperImpl_CalculateChildSizeBase")]
+        public static extern float ViewWrapperImpl_CalculateChildSizeBase(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_ViewWrapperImpl_RelayoutDependentOnChildrenBase__SWIG_0")]
+        public static extern bool ViewWrapperImpl_RelayoutDependentOnChildrenBase__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_ViewWrapperImpl_RelayoutDependentOnChildrenBase__SWIG_1")]
+        public static extern bool ViewWrapperImpl_RelayoutDependentOnChildrenBase__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_ViewWrapperImpl_RegisterVisual__SWIG_0")]
+        public static extern void ViewWrapperImpl_RegisterVisual__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_ViewWrapperImpl_RegisterVisual__SWIG_1")]
+        public static extern void ViewWrapperImpl_RegisterVisual__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, bool jarg4);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_ViewWrapperImpl_UnregisterVisual")]
+        public static extern void ViewWrapperImpl_UnregisterVisual(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_ViewWrapperImpl_GetVisual")]
+        public static extern global::System.IntPtr ViewWrapperImpl_GetVisual(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_ViewWrapperImpl_EnableVisual")]
+        public static extern void ViewWrapperImpl_EnableVisual(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, bool jarg3);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_ViewWrapperImpl_IsVisualEnabled")]
+        public static extern bool ViewWrapperImpl_IsVisualEnabled(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_ViewWrapperImpl_CreateTransition")]
+        public static extern global::System.IntPtr ViewWrapperImpl_CreateTransition(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_ViewWrapperImpl_EmitKeyInputFocusSignal")]
+        public static extern void ViewWrapperImpl_EmitKeyInputFocusSignal(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewWrapperImpl_ApplyThemeStyle")]
+        public static extern void ViewWrapperImpl_ApplyThemeStyle(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_EventThreadCallback")]
+        public static extern global::System.IntPtr new_EventThreadCallback(EventThreadCallback.CallbackDelegate delegate1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_EventThreadCallback")]
+        public static extern void delete_EventThreadCallback(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_EventThreadCallback_Trigger")]
+        public static extern void EventThreadCallback_Trigger(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Actor_Property_SIBLING_ORDER_get")]
+        public static extern int Actor_Property_SIBLING_ORDER_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Actor_Property_OPACITY_get")]
+        public static extern int Actor_Property_OPACITY_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Actor_Property_SCREEN_POSITION_get")]
+        public static extern int Actor_Property_SCREEN_POSITION_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Actor_Property_POSITION_USES_ANCHOR_POINT_get")]
+        public static extern int Actor_Property_POSITION_USES_ANCHOR_POINT_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_View_Property_TOOLTIP_get")]
+        public static extern int View_Property_TOOLTIP_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_View_Property_STATE_get")]
+        public static extern int View_Property_STATE_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_View_Property_SUB_STATE_get")]
+        public static extern int View_Property_SUB_STATE_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_View_Property_LEFT_FOCUSABLE_ACTOR_ID_get")]
+        public static extern int View_Property_LEFT_FOCUSABLE_ACTOR_ID_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_View_Property_RIGHT_FOCUSABLE_ACTOR_ID_get")]
+        public static extern int View_Property_RIGHT_FOCUSABLE_ACTOR_ID_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_View_Property_UP_FOCUSABLE_ACTOR_ID_get")]
+        public static extern int View_Property_UP_FOCUSABLE_ACTOR_ID_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_View_Property_DOWN_FOCUSABLE_ACTOR_ID_get")]
+        public static extern int View_Property_DOWN_FOCUSABLE_ACTOR_ID_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_ItemView_Property_LAYOUT_get")]
+        public static extern int ItemView_Property_LAYOUT_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Button_Property_UNSELECTED_VISUAL_get")]
+        public static extern int Button_Property_UNSELECTED_VISUAL_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Button_Property_SELECTED_VISUAL_get")]
+        public static extern int Button_Property_SELECTED_VISUAL_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Button_Property_DISABLED_SELECTED_VISUAL_get")]
+        public static extern int Button_Property_DISABLED_SELECTED_VISUAL_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Button_Property_DISABLED_UNSELECTED_VISUAL_get")]
+        public static extern int Button_Property_DISABLED_UNSELECTED_VISUAL_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Button_Property_UNSELECTED_BACKGROUND_VISUAL_get")]
+        public static extern int Button_Property_UNSELECTED_BACKGROUND_VISUAL_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Button_Property_SELECTED_BACKGROUND_VISUAL_get")]
+        public static extern int Button_Property_SELECTED_BACKGROUND_VISUAL_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Button_Property_DISABLED_UNSELECTED_BACKGROUND_VISUAL_get")]
+        public static extern int Button_Property_DISABLED_UNSELECTED_BACKGROUND_VISUAL_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Button_Property_DISABLED_SELECTED_BACKGROUND_VISUAL_get")]
+        public static extern int Button_Property_DISABLED_SELECTED_BACKGROUND_VISUAL_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Button_Property_LABEL_RELATIVE_ALIGNMENT_get")]
+        public static extern int Button_Property_LABEL_RELATIVE_ALIGNMENT_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Button_Property_LABEL_PADDING_get")]
+        public static extern int Button_Property_LABEL_PADDING_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Button_Property_VISUAL_PADDING_get")]
+        public static extern int Button_Property_VISUAL_PADDING_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Visual_Property_TRANSFORM_get")]
+        public static extern int Visual_Property_TRANSFORM_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Visual_Property_PREMULTIPLIED_ALPHA_get")]
+        public static extern int Visual_Property_PREMULTIPLIED_ALPHA_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Visual_Property_MIX_COLOR_get")]
+        public static extern int Visual_Property_MIX_COLOR_get();
+
+        [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Image_Visual_BORDER_get")]
+        public static extern int Image_Visual_BORDER_get();
+    }
+}
diff --git a/plugins/dali-sharp/sharp/internal/Matrix.cs b/plugins/dali-sharp/sharp/internal/Matrix.cs
new file mode 100644 (file)
index 0000000..5866995
--- /dev/null
@@ -0,0 +1,231 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Matrix : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal Matrix(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(Matrix obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Matrix() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_Matrix(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public static Vector4 operator*(Matrix arg1, Vector4 arg2) {
+    return arg1.Multiply(arg2);
+  }
+
+  public Matrix() : this(NDalicPINVOKE.new_Matrix__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Matrix(bool initialize) : this(NDalicPINVOKE.new_Matrix__SWIG_1(initialize), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Matrix(float[] array) : this(NDalicPINVOKE.new_Matrix__SWIG_2(array), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Matrix(Rotation rotation) : this(NDalicPINVOKE.new_Matrix__SWIG_3(Rotation.getCPtr(rotation)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Matrix(Matrix matrix) : this(NDalicPINVOKE.new_Matrix__SWIG_4(Matrix.getCPtr(matrix)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Matrix Assign(Matrix matrix) {
+    Matrix ret = new Matrix(NDalicPINVOKE.Matrix_Assign(swigCPtr, Matrix.getCPtr(matrix)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static Matrix IDENTITY {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Matrix_IDENTITY_get();
+      Matrix ret = (cPtr == global::System.IntPtr.Zero) ? null : new Matrix(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public void SetIdentity() {
+    NDalicPINVOKE.Matrix_SetIdentity(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetIdentityAndScale(Vector3 scale) {
+    NDalicPINVOKE.Matrix_SetIdentityAndScale(swigCPtr, Vector3.getCPtr(scale));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void InvertTransform(Matrix result) {
+    NDalicPINVOKE.Matrix_InvertTransform(swigCPtr, Matrix.getCPtr(result));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool Invert() {
+    bool ret = NDalicPINVOKE.Matrix_Invert(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Transpose() {
+    NDalicPINVOKE.Matrix_Transpose(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector3 GetXAxis() {
+    Vector3 ret = new Vector3(NDalicPINVOKE.Matrix_GetXAxis(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector3 GetYAxis() {
+    Vector3 ret = new Vector3(NDalicPINVOKE.Matrix_GetYAxis(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector3 GetZAxis() {
+    Vector3 ret = new Vector3(NDalicPINVOKE.Matrix_GetZAxis(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetXAxis(Vector3 axis) {
+    NDalicPINVOKE.Matrix_SetXAxis(swigCPtr, Vector3.getCPtr(axis));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetYAxis(Vector3 axis) {
+    NDalicPINVOKE.Matrix_SetYAxis(swigCPtr, Vector3.getCPtr(axis));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetZAxis(Vector3 axis) {
+    NDalicPINVOKE.Matrix_SetZAxis(swigCPtr, Vector3.getCPtr(axis));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector4 GetTranslation() {
+    Vector4 ret = new Vector4(NDalicPINVOKE.Matrix_GetTranslation(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector3 GetTranslation3() {
+    Vector3 ret = new Vector3(NDalicPINVOKE.Matrix_GetTranslation3(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetTranslation(Vector4 translation) {
+    NDalicPINVOKE.Matrix_SetTranslation__SWIG_0(swigCPtr, Vector4.getCPtr(translation));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetTranslation(Vector3 translation) {
+    NDalicPINVOKE.Matrix_SetTranslation__SWIG_1(swigCPtr, Vector3.getCPtr(translation));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void OrthoNormalize() {
+    NDalicPINVOKE.Matrix_OrthoNormalize(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public SWIGTYPE_p_float AsFloat() {
+    global::System.IntPtr cPtr = NDalicPINVOKE.Matrix_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;
+  }
+
+  public static void Multiply(Matrix result, Matrix lhs, Matrix rhs) {
+    NDalicPINVOKE.Matrix_Multiply__SWIG_0(Matrix.getCPtr(result), Matrix.getCPtr(lhs), Matrix.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static void Multiply(Matrix result, Matrix lhs, Rotation rhs) {
+    NDalicPINVOKE.Matrix_Multiply__SWIG_1(Matrix.getCPtr(result), Matrix.getCPtr(lhs), Rotation.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector4 Multiply(Vector4 rhs) {
+    Vector4 ret = new Vector4(NDalicPINVOKE.Matrix_Multiply__SWIG_2(swigCPtr, Vector4.getCPtr(rhs)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool EqualTo(Matrix rhs) {
+    bool ret = NDalicPINVOKE.Matrix_EqualTo(swigCPtr, Matrix.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool NotEqualTo(Matrix rhs) {
+    bool ret = NDalicPINVOKE.Matrix_NotEqualTo(swigCPtr, Matrix.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetTransformComponents(Vector3 scale, Rotation rotation, Vector3 translation) {
+    NDalicPINVOKE.Matrix_SetTransformComponents(swigCPtr, Vector3.getCPtr(scale), Rotation.getCPtr(rotation), Vector3.getCPtr(translation));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetInverseTransformComponents(Vector3 scale, Rotation rotation, Vector3 translation) {
+    NDalicPINVOKE.Matrix_SetInverseTransformComponents__SWIG_0(swigCPtr, Vector3.getCPtr(scale), Rotation.getCPtr(rotation), Vector3.getCPtr(translation));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetInverseTransformComponents(Vector3 xAxis, Vector3 yAxis, Vector3 zAxis, Vector3 translation) {
+    NDalicPINVOKE.Matrix_SetInverseTransformComponents__SWIG_1(swigCPtr, Vector3.getCPtr(xAxis), Vector3.getCPtr(yAxis), Vector3.getCPtr(zAxis), Vector3.getCPtr(translation));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void GetTransformComponents(Vector3 position, Rotation rotation, Vector3 scale) {
+    NDalicPINVOKE.Matrix_GetTransformComponents(swigCPtr, Vector3.getCPtr(position), Rotation.getCPtr(rotation), Vector3.getCPtr(scale));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Matrix3.cs b/plugins/dali-sharp/sharp/internal/Matrix3.cs
new file mode 100644 (file)
index 0000000..dfcb5a1
--- /dev/null
@@ -0,0 +1,146 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Matrix3 : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal Matrix3(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(Matrix3 obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Matrix3() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_Matrix3(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public static Matrix3 IDENTITY {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Matrix3_IDENTITY_get();
+      Matrix3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Matrix3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public Matrix3() : this(NDalicPINVOKE.new_Matrix3__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Matrix3(Matrix3 m) : this(NDalicPINVOKE.new_Matrix3__SWIG_1(Matrix3.getCPtr(m)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Matrix3(Matrix m) : this(NDalicPINVOKE.new_Matrix3__SWIG_2(Matrix.getCPtr(m)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Matrix3(float s00, float s01, float s02, float s10, float s11, float s12, float s20, float s21, float s22) : this(NDalicPINVOKE.new_Matrix3__SWIG_3(s00, s01, s02, s10, s11, s12, s20, s21, s22), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Matrix3 Assign(Matrix3 matrix) {
+    Matrix3 ret = new Matrix3(NDalicPINVOKE.Matrix3_Assign__SWIG_0(swigCPtr, Matrix3.getCPtr(matrix)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Matrix3 Assign(Matrix matrix) {
+    Matrix3 ret = new Matrix3(NDalicPINVOKE.Matrix3_Assign__SWIG_1(swigCPtr, Matrix.getCPtr(matrix)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool EqualTo(Matrix3 rhs) {
+    bool ret = NDalicPINVOKE.Matrix3_EqualTo(swigCPtr, Matrix3.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool NotEqualTo(Matrix3 rhs) {
+    bool ret = NDalicPINVOKE.Matrix3_NotEqualTo(swigCPtr, Matrix3.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetIdentity() {
+    NDalicPINVOKE.Matrix3_SetIdentity(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public SWIGTYPE_p_float AsFloat() {
+    global::System.IntPtr cPtr = NDalicPINVOKE.Matrix3_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;
+  }
+
+  public bool Invert() {
+    bool ret = NDalicPINVOKE.Matrix3_Invert(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool Transpose() {
+    bool ret = NDalicPINVOKE.Matrix3_Transpose(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Scale(float scale) {
+    NDalicPINVOKE.Matrix3_Scale(swigCPtr, scale);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float Magnitude() {
+    float ret = NDalicPINVOKE.Matrix3_Magnitude(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool ScaledInverseTranspose() {
+    bool ret = NDalicPINVOKE.Matrix3_ScaledInverseTranspose(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static void Multiply(Matrix3 result, Matrix3 lhs, Matrix3 rhs) {
+    NDalicPINVOKE.Matrix3_Multiply(Matrix3.getCPtr(result), Matrix3.getCPtr(lhs), Matrix3.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/MeshVisualShadingModeValue.cs b/plugins/dali-sharp/sharp/internal/MeshVisualShadingModeValue.cs
new file mode 100644 (file)
index 0000000..0740b7a
--- /dev/null
@@ -0,0 +1,19 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum MeshVisualShadingModeValue {
+  TEXTURELESS_WITH_DIFFUSE_LIGHTING,
+  TEXTURED_WITH_SPECULAR_LIGHTING,
+  TEXTURED_WITH_DETAILED_SPECULAR_LIGHTING
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Meta.cs b/plugins/dali-sharp/sharp/internal/Meta.cs
new file mode 100644 (file)
index 0000000..712998c
--- /dev/null
@@ -0,0 +1,17 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum Meta {
+  DIMENSION_COUNT = 2
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Model3dView.cs b/plugins/dali-sharp/sharp/internal/Model3dView.cs
new file mode 100644 (file)
index 0000000..c58d13a
--- /dev/null
@@ -0,0 +1,253 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Model3dView : View {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal Model3dView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Model3dView_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Model3dView obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Model3dView() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_Model3dView(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_Model3dView_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_Model3dView_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int GEOMETRY_URL = NDalicPINVOKE.Model3dView_Property_GEOMETRY_URL_get();
+    public static readonly int MATERIAL_URL = NDalicPINVOKE.Model3dView_Property_MATERIAL_URL_get();
+    public static readonly int IMAGES_URL = NDalicPINVOKE.Model3dView_Property_IMAGES_URL_get();
+    public static readonly int ILLUMINATION_TYPE = NDalicPINVOKE.Model3dView_Property_ILLUMINATION_TYPE_get();
+    public static readonly int TEXTURE0_URL = NDalicPINVOKE.Model3dView_Property_TEXTURE0_URL_get();
+    public static readonly int TEXTURE1_URL = NDalicPINVOKE.Model3dView_Property_TEXTURE1_URL_get();
+    public static readonly int TEXTURE2_URL = NDalicPINVOKE.Model3dView_Property_TEXTURE2_URL_get();
+    public static readonly int LIGHT_POSITION = NDalicPINVOKE.Model3dView_Property_LIGHT_POSITION_get();
+  
+  }
+
+  public Model3dView () : this (NDalicPINVOKE.Model3dView_New__SWIG_0(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public Model3dView (string objUrl, string mtlUrl, string imagesUrl) : this (NDalicPINVOKE.Model3dView_New__SWIG_1(objUrl, mtlUrl, imagesUrl), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public Model3dView(Model3dView model3dView) : this(NDalicPINVOKE.new_Model3dView__SWIG_1(Model3dView.getCPtr(model3dView)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Model3dView Assign(Model3dView model3dView) {
+    Model3dView ret = new Model3dView(NDalicPINVOKE.Model3dView_Assign(swigCPtr, Model3dView.getCPtr(model3dView)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static Model3dView DownCast(BaseHandle handle) {
+    Model3dView ret = new Model3dView(NDalicPINVOKE.Model3dView_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum PropertyRange {
+    PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+    PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000,
+    ANIMATABLE_PROPERTY_START_INDEX = PropertyRanges.ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX,
+    ANIMATABLE_PROPERTY_END_INDEX = PropertyRanges.ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX+1000
+  }
+
+  public enum IluminationTypeEnum {
+    DIFFUSE,
+    DIFFUSE_WITH_TEXTURE,
+    DIFFUSE_WITH_NORMAL_MAP
+  }
+
+  public string GeometryUrl
+  {
+    get
+    {
+      string temp;
+      GetProperty( Model3dView.Property.GEOMETRY_URL).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Model3dView.Property.GEOMETRY_URL, new Dali.Property.Value( value ) );
+    }
+  }
+  public string MaterialUrl
+  {
+    get
+    {
+      string temp;
+      GetProperty( Model3dView.Property.MATERIAL_URL).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Model3dView.Property.MATERIAL_URL, new Dali.Property.Value( value ) );
+    }
+  }
+  public string ImagesUrl
+  {
+    get
+    {
+      string temp;
+      GetProperty( Model3dView.Property.IMAGES_URL).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Model3dView.Property.IMAGES_URL, new Dali.Property.Value( value ) );
+    }
+  }
+  public int IlluminationType
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Model3dView.Property.ILLUMINATION_TYPE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Model3dView.Property.ILLUMINATION_TYPE, new Dali.Property.Value( value ) );
+    }
+  }
+  public string Texture0Url
+  {
+    get
+    {
+      string temp;
+      GetProperty( Model3dView.Property.TEXTURE0_URL).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Model3dView.Property.TEXTURE0_URL, new Dali.Property.Value( value ) );
+    }
+  }
+  public string Texture1Url
+  {
+    get
+    {
+      string temp;
+      GetProperty( Model3dView.Property.TEXTURE1_URL).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Model3dView.Property.TEXTURE1_URL, new Dali.Property.Value( value ) );
+    }
+  }
+  public string Texture2Url
+  {
+    get
+    {
+      string temp;
+      GetProperty( Model3dView.Property.TEXTURE2_URL).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Model3dView.Property.TEXTURE2_URL, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector3 LightPosition
+  {
+    get
+    {
+      Vector3 temp = new Vector3(0.0f,0.0f,0.0f);
+      GetProperty( Model3dView.Property.LIGHT_POSITION).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Model3dView.Property.LIGHT_POSITION, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/NDalic.cs b/plugins/dali-sharp/sharp/internal/NDalic.cs
new file mode 100644 (file)
index 0000000..d5501b7
--- /dev/null
@@ -0,0 +1,1200 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class NDalic {
+  public static uint int_to_uint(int x) {
+    uint ret = NDalicPINVOKE.int_to_uint(x);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+
+  public static readonly int VISUAL_PROPERTY_TRANSFORM = NDalicManualPINVOKE.Visual_Property_TRANSFORM_get();
+  public static readonly int VISUAL_PROPERTY_PREMULTIPLIED_ALPHA = NDalicManualPINVOKE.Visual_Property_PREMULTIPLIED_ALPHA_get();
+  public static readonly int VISUAL_PROPERTY_MIX_COLOR = NDalicManualPINVOKE.Visual_Property_MIX_COLOR_get();
+  public static readonly int IMAGE_VISUAL_BORDER = NDalicManualPINVOKE.Image_Visual_BORDER_get();
+
+  public static void DaliAssertMessage(string location, string condition) {
+    NDalicPINVOKE.DaliAssertMessage(location, condition);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static Vector2 Min(Vector2 a, Vector2 b) {
+    Vector2 ret = new Vector2(NDalicPINVOKE.Min__SWIG_0(Vector2.getCPtr(a), Vector2.getCPtr(b)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static Vector2 Max(Vector2 a, Vector2 b) {
+    Vector2 ret = new Vector2(NDalicPINVOKE.Max__SWIG_0(Vector2.getCPtr(a), Vector2.getCPtr(b)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static Vector2 Clamp(Vector2 v, float min, float max) {
+    Vector2 ret = new Vector2(NDalicPINVOKE.Clamp__SWIG_0(Vector2.getCPtr(v), min, max), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static Vector3 Min(Vector3 a, Vector3 b) {
+    Vector3 ret = new Vector3(NDalicPINVOKE.Min__SWIG_1(Vector3.getCPtr(a), Vector3.getCPtr(b)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static Vector3 Max(Vector3 a, Vector3 b) {
+    Vector3 ret = new Vector3(NDalicPINVOKE.Max__SWIG_1(Vector3.getCPtr(a), Vector3.getCPtr(b)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static Vector3 Clamp(Vector3 v, float min, float max) {
+    Vector3 ret = new Vector3(NDalicPINVOKE.Clamp__SWIG_1(Vector3.getCPtr(v), min, max), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static Vector4 Min(Vector4 a, Vector4 b) {
+    Vector4 ret = new Vector4(NDalicPINVOKE.Min__SWIG_2(Vector4.getCPtr(a), Vector4.getCPtr(b)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static Vector4 Max(Vector4 a, Vector4 b) {
+    Vector4 ret = new Vector4(NDalicPINVOKE.Max__SWIG_2(Vector4.getCPtr(a), Vector4.getCPtr(b)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static Vector4 Clamp(Vector4 v, float min, float max) {
+    Vector4 ret = new Vector4(NDalicPINVOKE.Clamp__SWIG_2(Vector4.getCPtr(v), min, max), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static Radian ANGLE_360 {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.ANGLE_360_get();
+      Radian ret = (cPtr == global::System.IntPtr.Zero) ? null : new Radian(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Radian ANGLE_315 {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.ANGLE_315_get();
+      Radian ret = (cPtr == global::System.IntPtr.Zero) ? null : new Radian(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Radian ANGLE_270 {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.ANGLE_270_get();
+      Radian ret = (cPtr == global::System.IntPtr.Zero) ? null : new Radian(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Radian ANGLE_225 {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.ANGLE_225_get();
+      Radian ret = (cPtr == global::System.IntPtr.Zero) ? null : new Radian(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Radian ANGLE_180 {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.ANGLE_180_get();
+      Radian ret = (cPtr == global::System.IntPtr.Zero) ? null : new Radian(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Radian ANGLE_135 {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.ANGLE_135_get();
+      Radian ret = (cPtr == global::System.IntPtr.Zero) ? null : new Radian(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Radian ANGLE_120 {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.ANGLE_120_get();
+      Radian ret = (cPtr == global::System.IntPtr.Zero) ? null : new Radian(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Radian ANGLE_90 {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.ANGLE_90_get();
+      Radian ret = (cPtr == global::System.IntPtr.Zero) ? null : new Radian(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Radian ANGLE_60 {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.ANGLE_60_get();
+      Radian ret = (cPtr == global::System.IntPtr.Zero) ? null : new Radian(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Radian ANGLE_45 {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.ANGLE_45_get();
+      Radian ret = (cPtr == global::System.IntPtr.Zero) ? null : new Radian(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Radian ANGLE_30 {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.ANGLE_30_get();
+      Radian ret = (cPtr == global::System.IntPtr.Zero) ? null : new Radian(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Radian ANGLE_0 {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.ANGLE_0_get();
+      Radian ret = (cPtr == global::System.IntPtr.Zero) ? null : new Radian(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static bool EqualTo(Degree lhs, Degree rhs) {
+    bool ret = NDalicPINVOKE.EqualTo__SWIG_5(Degree.getCPtr(lhs), Degree.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static bool NotEqualTo(Degree lhs, Degree rhs) {
+    bool ret = NDalicPINVOKE.NotEqualTo__SWIG_4(Degree.getCPtr(lhs), Degree.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static Degree Clamp(Degree angle, float min, float max) {
+    Degree ret = new Degree(NDalicPINVOKE.Clamp__SWIG_3(Degree.getCPtr(angle), min, max), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static bool EqualTo(Radian lhs, Radian rhs) {
+    bool ret = NDalicPINVOKE.EqualTo__SWIG_6(Radian.getCPtr(lhs), Radian.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static bool NotEqualTo(Radian lhs, Radian rhs) {
+    bool ret = NDalicPINVOKE.NotEqualTo__SWIG_5(Radian.getCPtr(lhs), Radian.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static bool EqualTo(Radian lhs, Degree rhs) {
+    bool ret = NDalicPINVOKE.EqualTo__SWIG_7(Radian.getCPtr(lhs), Degree.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static bool NotEqualTo(Radian lhs, Degree rhs) {
+    bool ret = NDalicPINVOKE.NotEqualTo__SWIG_6(Radian.getCPtr(lhs), Degree.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static bool EqualTo(Degree lhs, Radian rhs) {
+    bool ret = NDalicPINVOKE.EqualTo__SWIG_8(Degree.getCPtr(lhs), Radian.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static bool NotEqualTo(Degree lhs, Radian rhs) {
+    bool ret = NDalicPINVOKE.NotEqualTo__SWIG_7(Degree.getCPtr(lhs), Radian.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static bool GreaterThan(Radian lhs, Radian rhs) {
+    bool ret = NDalicPINVOKE.GreaterThan__SWIG_0(Radian.getCPtr(lhs), Radian.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static bool GreaterThan(Radian lhs, Degree rhs) {
+    bool ret = NDalicPINVOKE.GreaterThan__SWIG_1(Radian.getCPtr(lhs), Degree.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static bool GreaterThan(Degree lhs, Radian rhs) {
+    bool ret = NDalicPINVOKE.GreaterThan__SWIG_2(Degree.getCPtr(lhs), Radian.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static bool LessThan(Radian lhs, Radian rhs) {
+    bool ret = NDalicPINVOKE.LessThan__SWIG_0(Radian.getCPtr(lhs), Radian.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static bool LessThan(Radian lhs, Degree rhs) {
+    bool ret = NDalicPINVOKE.LessThan__SWIG_1(Radian.getCPtr(lhs), Degree.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static bool LessThan(Degree lhs, Radian rhs) {
+    bool ret = NDalicPINVOKE.LessThan__SWIG_2(Degree.getCPtr(lhs), Radian.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static Radian Multiply(Radian lhs, float rhs) {
+    Radian ret = new Radian(NDalicPINVOKE.Multiply(Radian.getCPtr(lhs), rhs), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static Radian Subtract(Radian arg0) {
+    Radian ret = new Radian(NDalicPINVOKE.Subtract(Radian.getCPtr(arg0)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static Radian Clamp(Radian angle, float min, float max) {
+    Radian ret = new Radian(NDalicPINVOKE.Clamp__SWIG_4(Radian.getCPtr(angle), min, max), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static float Range(float f0, float f1) {
+    float ret = NDalicPINVOKE.Range(f0, f1);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static Vector4 Axis() {
+    Vector4 ret = new Vector4(NDalicPINVOKE.Axis(), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static bool EqualTo(AngleAxis lhs, AngleAxis rhs) {
+    bool ret = NDalicPINVOKE.EqualTo__SWIG_9(AngleAxis.getCPtr(lhs), AngleAxis.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static uint NextPowerOfTwo(uint i) {
+    uint ret = NDalicPINVOKE.NextPowerOfTwo(i);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static bool IsPowerOfTwo(uint i) {
+    bool ret = NDalicPINVOKE.IsPowerOfTwo(i);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static float GetRangedEpsilon(float a, float b) {
+    float ret = NDalicPINVOKE.GetRangedEpsilon(a, b);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static bool EqualsZero(float value) {
+    bool ret = NDalicPINVOKE.EqualsZero(value);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static bool Equals(float a, float b) {
+    bool ret = NDalicPINVOKE.Equals__SWIG_0(a, b);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static bool Equals(float a, float b, float epsilon) {
+    bool ret = NDalicPINVOKE.Equals__SWIG_1(a, b, epsilon);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static float Round(float value, int pos) {
+    float ret = NDalicPINVOKE.Round(value, pos);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static float WrapInDomain(float x, float start, float end) {
+    float ret = NDalicPINVOKE.WrapInDomain(x, start, end);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static float ShortestDistanceInDomain(float a, float b, float start, float end) {
+    float ret = NDalicPINVOKE.ShortestDistanceInDomain(a, b, start, end);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static string GetName(Property.Type type) {
+    string ret = NDalicPINVOKE.GetName((int)type);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static BaseObject GetImplementation(BaseHandle handle) {
+    BaseObject ret = new BaseObject(NDalicPINVOKE.GetImplementation(BaseHandle.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static bool LessThan(BaseHandle lhs, BaseHandle rhs) {
+    bool ret = NDalicPINVOKE.LessThan__SWIG_3(BaseHandle.getCPtr(lhs), BaseHandle.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static PropertyCondition LessThanCondition(float arg) {
+    PropertyCondition ret = new PropertyCondition(NDalicPINVOKE.LessThanCondition(arg), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static PropertyCondition GreaterThanCondition(float arg) {
+    PropertyCondition ret = new PropertyCondition(NDalicPINVOKE.GreaterThanCondition(arg), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static PropertyCondition InsideCondition(float arg0, float arg1) {
+    PropertyCondition ret = new PropertyCondition(NDalicPINVOKE.InsideCondition(arg0, arg1), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static PropertyCondition OutsideCondition(float arg0, float arg1) {
+    PropertyCondition ret = new PropertyCondition(NDalicPINVOKE.OutsideCondition(arg0, arg1), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static PropertyCondition StepCondition(float stepAmount, float initialValue) {
+    PropertyCondition ret = new PropertyCondition(NDalicPINVOKE.StepCondition__SWIG_0(stepAmount, initialValue), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static PropertyCondition StepCondition(float stepAmount) {
+    PropertyCondition ret = new PropertyCondition(NDalicPINVOKE.StepCondition__SWIG_1(stepAmount), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static PropertyCondition VariableStepCondition(VectorFloat steps) {
+    PropertyCondition ret = new PropertyCondition(NDalicPINVOKE.VariableStepCondition(VectorFloat.getCPtr(steps)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static int WEIGHT {
+    get {
+      int ret = NDalicPINVOKE.WEIGHT_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Handle New() {
+    Handle ret = new Handle(NDalicPINVOKE.New(), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static bool RegisterType(string name, SWIGTYPE_p_std__type_info baseType, System.Delegate f) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(f); 
+    {
+      bool ret = NDalicPINVOKE.RegisterType(name, SWIGTYPE_p_std__type_info.getCPtr(baseType), new System.Runtime.InteropServices.HandleRef(null, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  }
+
+  public static bool RegisterProperty(string objectName, string name, int index, Property.Type type, System.Delegate setFunc, System.Delegate getFunc) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(setFunc); 
+System.IntPtr ip2 = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(getFunc); 
+    {
+      bool ret = NDalicPINVOKE.RegisterProperty(objectName, name, index, (int)type, new System.Runtime.InteropServices.HandleRef(null, ip), new System.Runtime.InteropServices.HandleRef(null, ip2));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  }
+
+  public static float ParentOriginTop {
+    get {
+      float ret = NDalicPINVOKE.ParentOriginTop_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static float ParentOriginBottom {
+    get {
+      float ret = NDalicPINVOKE.ParentOriginBottom_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static float ParentOriginLeft {
+    get {
+      float ret = NDalicPINVOKE.ParentOriginLeft_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static float ParentOriginRight {
+    get {
+      float ret = NDalicPINVOKE.ParentOriginRight_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static float ParentOriginMiddle {
+    get {
+      float ret = NDalicPINVOKE.ParentOriginMiddle_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 ParentOriginTopLeft {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopLeft_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 ParentOriginTopCenter {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopCenter_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 ParentOriginTopRight {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopRight_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 ParentOriginCenterLeft {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterLeft_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 ParentOriginCenter {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenter_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 ParentOriginCenterRight {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterRight_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 ParentOriginBottomLeft {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomLeft_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 ParentOriginBottomCenter {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomCenter_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 ParentOriginBottomRight {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomRight_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static float AnchorPointTop {
+    get {
+      float ret = NDalicPINVOKE.AnchorPointTop_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static float AnchorPointBottom {
+    get {
+      float ret = NDalicPINVOKE.AnchorPointBottom_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static float AnchorPointLeft {
+    get {
+      float ret = NDalicPINVOKE.AnchorPointLeft_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static float AnchorPointRight {
+    get {
+      float ret = NDalicPINVOKE.AnchorPointRight_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static float AnchorPointMiddle {
+    get {
+      float ret = NDalicPINVOKE.AnchorPointMiddle_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 AnchorPointTopLeft {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopLeft_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 AnchorPointTopCenter {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopCenter_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 AnchorPointTopRight {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopRight_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 AnchorPointCenterLeft {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterLeft_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 AnchorPointCenter {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenter_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 AnchorPointCenterRight {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterRight_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 AnchorPointBottomLeft {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomLeft_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 AnchorPointBottomCenter {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomCenter_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 AnchorPointBottomRight {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomRight_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector4 BLACK {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.BLACK_get();
+      Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector4 WHITE {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.WHITE_get();
+      Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector4 RED {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.RED_get();
+      Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector4 GREEN {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.GREEN_get();
+      Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector4 BLUE {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.BLUE_get();
+      Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector4 YELLOW {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.YELLOW_get();
+      Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector4 MAGENTA {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.MAGENTA_get();
+      Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector4 CYAN {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.CYAN_get();
+      Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector4 TRANSPARENT {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.TRANSPARENT_get();
+      Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static float MACHINE_EPSILON_0 {
+    get {
+      float ret = NDalicPINVOKE.MACHINE_EPSILON_0_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static float MACHINE_EPSILON_1 {
+    get {
+      float ret = NDalicPINVOKE.MACHINE_EPSILON_1_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static float MACHINE_EPSILON_10 {
+    get {
+      float ret = NDalicPINVOKE.MACHINE_EPSILON_10_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static float MACHINE_EPSILON_100 {
+    get {
+      float ret = NDalicPINVOKE.MACHINE_EPSILON_100_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static float MACHINE_EPSILON_1000 {
+    get {
+      float ret = NDalicPINVOKE.MACHINE_EPSILON_1000_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static float MACHINE_EPSILON_10000 {
+    get {
+      float ret = NDalicPINVOKE.MACHINE_EPSILON_10000_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static float PI {
+    get {
+      float ret = NDalicPINVOKE.PI_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static float PI_2 {
+    get {
+      float ret = NDalicPINVOKE.PI_2_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static float PI_4 {
+    get {
+      float ret = NDalicPINVOKE.PI_4_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static float PI_OVER_180 {
+    get {
+      float ret = NDalicPINVOKE.PI_OVER_180_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static float ONE80_OVER_PI {
+    get {
+      float ret = NDalicPINVOKE.ONE80_OVER_PI_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static ResizePolicyType ResizePolicyDefault {
+    get {
+      ResizePolicyType ret = (ResizePolicyType)NDalicPINVOKE.ResizePolicyDefault_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static PixelFormat FIRST_VALID_PIXEL_FORMAT {
+    get {
+      PixelFormat ret = (PixelFormat)NDalicPINVOKE.FIRST_VALID_PIXEL_FORMAT_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static PixelFormat LAST_VALID_PIXEL_FORMAT {
+    get {
+      PixelFormat ret = (PixelFormat)NDalicPINVOKE.LAST_VALID_PIXEL_FORMAT_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static bool HasAlpha(PixelFormat pixelformat) {
+    bool ret = NDalicPINVOKE.HasAlpha((int)pixelformat);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static uint GetBytesPerPixel(PixelFormat pixelFormat) {
+    uint ret = NDalicPINVOKE.GetBytesPerPixel((int)pixelFormat);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static void GetAlphaOffsetAndMask(PixelFormat pixelFormat, SWIGTYPE_p_int byteOffset, SWIGTYPE_p_int bitMask) {
+    NDalicPINVOKE.GetAlphaOffsetAndMask((int)pixelFormat, SWIGTYPE_p_int.getCPtr(byteOffset), SWIGTYPE_p_int.getCPtr(bitMask));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static uint POSITIVE_X {
+    get {
+      uint ret = NDalicPINVOKE.POSITIVE_X_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static uint NEGATIVE_X {
+    get {
+      uint ret = NDalicPINVOKE.NEGATIVE_X_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static uint POSITIVE_Y {
+    get {
+      uint ret = NDalicPINVOKE.POSITIVE_Y_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static uint NEGATIVE_Y {
+    get {
+      uint ret = NDalicPINVOKE.NEGATIVE_Y_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static uint POSITIVE_Z {
+    get {
+      uint ret = NDalicPINVOKE.POSITIVE_Z_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static uint NEGATIVE_Z {
+    get {
+      uint ret = NDalicPINVOKE.NEGATIVE_Z_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static void UnparentAndReset(Actor actor) {
+    NDalicPINVOKE.UnparentAndReset(Actor.getCPtr(actor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static void Raise(Actor actor) {
+    NDalicPINVOKE.Raise(Actor.getCPtr(actor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static void Lower(Actor actor) {
+    NDalicPINVOKE.Lower(Actor.getCPtr(actor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static void RaiseToTop(Actor actor) {
+    NDalicPINVOKE.RaiseToTop(Actor.getCPtr(actor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static void LowerToBottom(Actor actor) {
+    NDalicPINVOKE.LowerToBottom(Actor.getCPtr(actor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static void RaiseAbove(Actor actor, Actor target) {
+    NDalicPINVOKE.RaiseAbove(Actor.getCPtr(actor), Actor.getCPtr(target));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static void LowerBelow(Actor actor, Actor target) {
+    NDalicPINVOKE.LowerBelow(Actor.getCPtr(actor), Actor.getCPtr(target));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static FittingModeType FittingModeDefault {
+    get {
+      FittingModeType ret = (FittingModeType)NDalicPINVOKE.FittingModeDefault_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static SamplingModeType DEFAULT {
+    get {
+      SamplingModeType ret = (SamplingModeType)NDalicPINVOKE.DEFAULT_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static WindowFocusSignalType FocusChangedSignal(Window window) {
+    WindowFocusSignalType ret = new WindowFocusSignalType(NDalicPINVOKE.FocusChangedSignal(Window.getCPtr(window)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static void SetAcceptFocus(Window window, bool accept) {
+    NDalicPINVOKE.SetAcceptFocus(Window.getCPtr(window), accept);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static bool IsFocusAcceptable(Window window) {
+    bool ret = NDalicPINVOKE.IsFocusAcceptable(Window.getCPtr(window));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static void Show(Window window) {
+    NDalicPINVOKE.Show(Window.getCPtr(window));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static void Hide(Window window) {
+    NDalicPINVOKE.Hide(Window.getCPtr(window));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static bool IsVisible(Window window) {
+    bool ret = NDalicPINVOKE.IsVisible(Window.getCPtr(window));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static ViewImpl GetImplementation(View handle) {
+    ViewImpl ret = new ViewImpl(NDalicPINVOKE.GetImplementation__SWIG_0(View.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static bool IsVertical(ControlOrientationType orientation) {
+    bool ret = NDalicPINVOKE.IsVertical((int)orientation);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static bool IsHorizontal(ControlOrientationType orientation) {
+    bool ret = NDalicPINVOKE.IsHorizontal((int)orientation);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static SWIGTYPE_p_Dali__IntrusivePtrT_Dali__Toolkit__ItemLayout_t NewItemLayout(DefaultItemLayoutType type) {
+    SWIGTYPE_p_Dali__IntrusivePtrT_Dali__Toolkit__ItemLayout_t ret = new SWIGTYPE_p_Dali__IntrusivePtrT_Dali__Toolkit__ItemLayout_t(NDalicPINVOKE.NewItemLayout((int)type), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static void MoveActorConstraint(Vector3 current, SWIGTYPE_p_PropertyInputContainer inputs) {
+    NDalicPINVOKE.MoveActorConstraint(Vector3.getCPtr(current), SWIGTYPE_p_PropertyInputContainer.getCPtr(inputs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static void WrapActorConstraint(Vector3 position, SWIGTYPE_p_PropertyInputContainer inputs) {
+    NDalicPINVOKE.WrapActorConstraint(Vector3.getCPtr(position), SWIGTYPE_p_PropertyInputContainer.getCPtr(inputs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static uint DEFAULT_RENDERING_BACKEND {
+    get {
+      uint ret = NDalicPINVOKE.DEFAULT_RENDERING_BACKEND_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static PixelData LoadImageSynchronously(string url) {
+    PixelData ret = new PixelData(NDalicPINVOKE.LoadImageSynchronously__SWIG_0(url), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static PixelData LoadImageSynchronously(string url, Uint16Pair dimensions) {
+    PixelData ret = new PixelData(NDalicPINVOKE.LoadImageSynchronously__SWIG_1(url, Uint16Pair.getCPtr(dimensions)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static PixelData LoadImageSynchronously(string url, Uint16Pair dimensions, FittingModeType fittingMode, SamplingModeType samplingMode, bool orientationCorrection) {
+    PixelData ret = new PixelData(NDalicPINVOKE.LoadImageSynchronously__SWIG_2(url, Uint16Pair.getCPtr(dimensions), (int)fittingMode, (int)samplingMode, orientationCorrection), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static void SetCustomAlgorithm(SWIGTYPE_p_KeyboardFocusManager keyboardFocusManager, CustomAlgorithmInterface arg1) {
+    NDalicPINVOKE.SetCustomAlgorithm(SWIGTYPE_p_KeyboardFocusManager.getCPtr(keyboardFocusManager), CustomAlgorithmInterface.getCPtr(arg1));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static readonly int VISUAL_PROPERTY_TYPE = NDalicPINVOKE.VISUAL_PROPERTY_TYPE_get();
+  public static readonly int VISUAL_PROPERTY_SHADER = NDalicPINVOKE.VISUAL_PROPERTY_SHADER_get();
+
+  public static readonly int VISUAL_SHADER_VERTEX = NDalicPINVOKE.VISUAL_SHADER_VERTEX_get();
+  public static readonly int VISUAL_SHADER_FRAGMENT = NDalicPINVOKE.VISUAL_SHADER_FRAGMENT_get();
+  public static readonly int VISUAL_SHADER_SUBDIVIDE_GRID_X = NDalicPINVOKE.VISUAL_SHADER_SUBDIVIDE_GRID_X_get();
+  public static readonly int VISUAL_SHADER_SUBDIVIDE_GRID_Y = NDalicPINVOKE.VISUAL_SHADER_SUBDIVIDE_GRID_Y_get();
+  public static readonly int VISUAL_SHADER_HINTS = NDalicPINVOKE.VISUAL_SHADER_HINTS_get();
+
+  public static readonly int BORDER_VISUAL_COLOR = NDalicPINVOKE.BORDER_VISUAL_COLOR_get();
+  public static readonly int BORDER_VISUAL_SIZE = NDalicPINVOKE.BORDER_VISUAL_SIZE_get();
+  public static readonly int BORDER_VISUAL_ANTI_ALIASING = NDalicPINVOKE.BORDER_VISUAL_ANTI_ALIASING_get();
+
+  public static readonly int COLOR_VISUAL_MIX_COLOR = NDalicPINVOKE.COLOR_VISUAL_MIX_COLOR_get();
+
+  public static readonly int GRADIENT_VISUAL_START_POSITION = NDalicPINVOKE.GRADIENT_VISUAL_START_POSITION_get();
+  public static readonly int GRADIENT_VISUAL_END_POSITION = NDalicPINVOKE.GRADIENT_VISUAL_END_POSITION_get();
+  public static readonly int GRADIENT_VISUAL_CENTER = NDalicPINVOKE.GRADIENT_VISUAL_CENTER_get();
+  public static readonly int GRADIENT_VISUAL_RADIUS = NDalicPINVOKE.GRADIENT_VISUAL_RADIUS_get();
+  public static readonly int GRADIENT_VISUAL_STOP_OFFSET = NDalicPINVOKE.GRADIENT_VISUAL_STOP_OFFSET_get();
+  public static readonly int GRADIENT_VISUAL_STOP_COLOR = NDalicPINVOKE.GRADIENT_VISUAL_STOP_COLOR_get();
+  public static readonly int GRADIENT_VISUAL_UNITS = NDalicPINVOKE.GRADIENT_VISUAL_UNITS_get();
+  public static readonly int GRADIENT_VISUAL_SPREAD_METHOD = NDalicPINVOKE.GRADIENT_VISUAL_SPREAD_METHOD_get();
+
+  public static readonly int IMAGE_VISUAL_URL = NDalicPINVOKE.IMAGE_VISUAL_URL_get();
+  public static readonly int IMAGE_VISUAL_FITTING_MODE = NDalicPINVOKE.IMAGE_VISUAL_FITTING_MODE_get();
+  public static readonly int IMAGE_VISUAL_SAMPLING_MODE = NDalicPINVOKE.IMAGE_VISUAL_SAMPLING_MODE_get();
+  public static readonly int IMAGE_VISUAL_DESIRED_WIDTH = NDalicPINVOKE.IMAGE_VISUAL_DESIRED_WIDTH_get();
+  public static readonly int IMAGE_VISUAL_DESIRED_HEIGHT = NDalicPINVOKE.IMAGE_VISUAL_DESIRED_HEIGHT_get();
+  public static readonly int IMAGE_VISUAL_SYNCHRONOUS_LOADING = NDalicPINVOKE.IMAGE_VISUAL_SYNCHRONOUS_LOADING_get();
+  public static readonly int IMAGE_VISUAL_BORDER_ONLY = NDalicPINVOKE.IMAGE_VISUAL_BORDER_ONLY_get();
+  public static readonly int IMAGE_VISUAL_PIXEL_AREA = NDalicPINVOKE.IMAGE_VISUAL_PIXEL_AREA_get();
+  public static readonly int IMAGE_VISUAL_WRAP_MODE_U = NDalicPINVOKE.IMAGE_VISUAL_WRAP_MODE_U_get();
+  public static readonly int IMAGE_VISUAL_WRAP_MODE_V = NDalicPINVOKE.IMAGE_VISUAL_WRAP_MODE_V_get();
+
+  public static readonly int MESH_VISUAL_OBJECT_URL = NDalicPINVOKE.MESH_VISUAL_OBJECT_URL_get();
+  public static readonly int MESH_VISUAL_MATERIAL_URL = NDalicPINVOKE.MESH_VISUAL_MATERIAL_URL_get();
+  public static readonly int MESH_VISUAL_TEXTURES_PATH = NDalicPINVOKE.MESH_VISUAL_TEXTURES_PATH_get();
+  public static readonly int MESH_VISUAL_SHADING_MODE = NDalicPINVOKE.MESH_VISUAL_SHADING_MODE_get();
+  public static readonly int MESH_VISUAL_USE_MIPMAPPING = NDalicPINVOKE.MESH_VISUAL_USE_MIPMAPPING_get();
+  public static readonly int MESH_VISUAL_USE_SOFT_NORMALS = NDalicPINVOKE.MESH_VISUAL_USE_SOFT_NORMALS_get();
+  public static readonly int MESH_VISUAL_LIGHT_POSITION = NDalicPINVOKE.MESH_VISUAL_LIGHT_POSITION_get();
+
+  public static readonly int PRIMITIVE_VISUAL_SHAPE = NDalicPINVOKE.PRIMITIVE_VISUAL_SHAPE_get();
+  public static readonly int PRIMITIVE_VISUAL_MIX_COLOR = NDalicPINVOKE.PRIMITIVE_VISUAL_MIX_COLOR_get();
+  public static readonly int PRIMITIVE_VISUAL_SLICES = NDalicPINVOKE.PRIMITIVE_VISUAL_SLICES_get();
+  public static readonly int PRIMITIVE_VISUAL_STACKS = NDalicPINVOKE.PRIMITIVE_VISUAL_STACKS_get();
+  public static readonly int PRIMITIVE_VISUAL_SCALE_TOP_RADIUS = NDalicPINVOKE.PRIMITIVE_VISUAL_SCALE_TOP_RADIUS_get();
+  public static readonly int PRIMITIVE_VISUAL_SCALE_BOTTOM_RADIUS = NDalicPINVOKE.PRIMITIVE_VISUAL_SCALE_BOTTOM_RADIUS_get();
+  public static readonly int PRIMITIVE_VISUAL_SCALE_HEIGHT = NDalicPINVOKE.PRIMITIVE_VISUAL_SCALE_HEIGHT_get();
+  public static readonly int PRIMITIVE_VISUAL_SCALE_RADIUS = NDalicPINVOKE.PRIMITIVE_VISUAL_SCALE_RADIUS_get();
+  public static readonly int PRIMITIVE_VISUAL_SCALE_DIMENSIONS = NDalicPINVOKE.PRIMITIVE_VISUAL_SCALE_DIMENSIONS_get();
+  public static readonly int PRIMITIVE_VISUAL_BEVEL_PERCENTAGE = NDalicPINVOKE.PRIMITIVE_VISUAL_BEVEL_PERCENTAGE_get();
+  public static readonly int PRIMITIVE_VISUAL_BEVEL_SMOOTHNESS = NDalicPINVOKE.PRIMITIVE_VISUAL_BEVEL_SMOOTHNESS_get();
+  public static readonly int PRIMITIVE_VISUAL_LIGHT_POSITION = NDalicPINVOKE.PRIMITIVE_VISUAL_LIGHT_POSITION_get();
+
+  public static readonly int TEXT_VISUAL_TEXT = NDalicPINVOKE.TEXT_VISUAL_TEXT_get();
+  public static readonly int TEXT_VISUAL_FONT_FAMILY = NDalicPINVOKE.TEXT_VISUAL_FONT_FAMILY_get();
+  public static readonly int TEXT_VISUAL_FONT_STYLE = NDalicPINVOKE.TEXT_VISUAL_FONT_STYLE_get();
+  public static readonly int TEXT_VISUAL_POINT_SIZE = NDalicPINVOKE.TEXT_VISUAL_POINT_SIZE_get();
+  public static readonly int TEXT_VISUAL_MULTI_LINE = NDalicPINVOKE.TEXT_VISUAL_MULTI_LINE_get();
+  public static readonly int TEXT_VISUAL_HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TEXT_VISUAL_HORIZONTAL_ALIGNMENT_get();
+  public static readonly int TEXT_VISUAL_VERTICAL_ALIGNMENT = NDalicPINVOKE.TEXT_VISUAL_VERTICAL_ALIGNMENT_get();
+  public static readonly int TEXT_VISUAL_TEXT_COLOR = NDalicPINVOKE.TEXT_VISUAL_TEXT_COLOR_get();
+  public static readonly int TEXT_VISUAL_ENABLE_MARKUP = NDalicPINVOKE.TEXT_VISUAL_ENABLE_MARKUP_get();
+
+  public static readonly int TOOLTIP_CONTENT = NDalicPINVOKE.TOOLTIP_CONTENT_get();
+  public static readonly int TOOLTIP_LAYOUT = NDalicPINVOKE.TOOLTIP_LAYOUT_get();
+  public static readonly int TOOLTIP_WAIT_TIME = NDalicPINVOKE.TOOLTIP_WAIT_TIME_get();
+  public static readonly int TOOLTIP_BACKGROUND = NDalicPINVOKE.TOOLTIP_BACKGROUND_get();
+  public static readonly int TOOLTIP_TAIL = NDalicPINVOKE.TOOLTIP_TAIL_get();
+  public static readonly int TOOLTIP_POSITION = NDalicPINVOKE.TOOLTIP_POSITION_get();
+  public static readonly int TOOLTIP_HOVER_POINT_OFFSET = NDalicPINVOKE.TOOLTIP_HOVER_POINT_OFFSET_get();
+  public static readonly int TOOLTIP_MOVEMENT_THRESHOLD = NDalicPINVOKE.TOOLTIP_MOVEMENT_THRESHOLD_get();
+  public static readonly int TOOLTIP_DISAPPEAR_ON_MOVEMENT = NDalicPINVOKE.TOOLTIP_DISAPPEAR_ON_MOVEMENT_get();
+
+  public static readonly int TOOLTIP_BACKGROUND_VISUAL = NDalicPINVOKE.TOOLTIP_BACKGROUND_VISUAL_get();
+  public static readonly int TOOLTIP_BACKGROUND_BORDER = NDalicPINVOKE.TOOLTIP_BACKGROUND_BORDER_get();
+
+  public static readonly int TOOLTIP_TAIL_VISIBILITY = NDalicPINVOKE.TOOLTIP_TAIL_VISIBILITY_get();
+  public static readonly int TOOLTIP_TAIL_ABOVE_VISUAL = NDalicPINVOKE.TOOLTIP_TAIL_ABOVE_VISUAL_get();
+  public static readonly int TOOLTIP_TAIL_BELOW_VISUAL = NDalicPINVOKE.TOOLTIP_TAIL_BELOW_VISUAL_get();
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/NDalicPINVOKE.cs b/plugins/dali-sharp/sharp/internal/NDalicPINVOKE.cs
new file mode 100644 (file)
index 0000000..0fd09c4
--- /dev/null
@@ -0,0 +1,11052 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+class NDalicPINVOKE {
+
+  protected class SWIGExceptionHelper {
+
+    public delegate void ExceptionDelegate(string message);
+    public delegate void ExceptionArgumentDelegate(string message, string paramName);
+
+    static ExceptionDelegate applicationDelegate = new ExceptionDelegate(SetPendingApplicationException);
+    static ExceptionDelegate arithmeticDelegate = new ExceptionDelegate(SetPendingArithmeticException);
+    static ExceptionDelegate divideByZeroDelegate = new ExceptionDelegate(SetPendingDivideByZeroException);
+    static ExceptionDelegate indexOutOfRangeDelegate = new ExceptionDelegate(SetPendingIndexOutOfRangeException);
+    static ExceptionDelegate invalidCastDelegate = new ExceptionDelegate(SetPendingInvalidCastException);
+    static ExceptionDelegate invalidOperationDelegate = new ExceptionDelegate(SetPendingInvalidOperationException);
+    static ExceptionDelegate ioDelegate = new ExceptionDelegate(SetPendingIOException);
+    static ExceptionDelegate nullReferenceDelegate = new ExceptionDelegate(SetPendingNullReferenceException);
+    static ExceptionDelegate outOfMemoryDelegate = new ExceptionDelegate(SetPendingOutOfMemoryException);
+    static ExceptionDelegate overflowDelegate = new ExceptionDelegate(SetPendingOverflowException);
+    static ExceptionDelegate systemDelegate = new ExceptionDelegate(SetPendingSystemException);
+
+    static ExceptionArgumentDelegate argumentDelegate = new ExceptionArgumentDelegate(SetPendingArgumentException);
+    static ExceptionArgumentDelegate argumentNullDelegate = new ExceptionArgumentDelegate(SetPendingArgumentNullException);
+    static ExceptionArgumentDelegate argumentOutOfRangeDelegate = new ExceptionArgumentDelegate(SetPendingArgumentOutOfRangeException);
+
+    [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="SWIGRegisterExceptionCallbacks_NDalic")]
+    public static extern void SWIGRegisterExceptionCallbacks_NDalic(
+                                ExceptionDelegate applicationDelegate,
+                                ExceptionDelegate arithmeticDelegate,
+                                ExceptionDelegate divideByZeroDelegate, 
+                                ExceptionDelegate indexOutOfRangeDelegate, 
+                                ExceptionDelegate invalidCastDelegate,
+                                ExceptionDelegate invalidOperationDelegate,
+                                ExceptionDelegate ioDelegate,
+                                ExceptionDelegate nullReferenceDelegate,
+                                ExceptionDelegate outOfMemoryDelegate, 
+                                ExceptionDelegate overflowDelegate, 
+                                ExceptionDelegate systemExceptionDelegate);
+
+    [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="SWIGRegisterExceptionArgumentCallbacks_NDalic")]
+    public static extern void SWIGRegisterExceptionCallbacksArgument_NDalic(
+                                ExceptionArgumentDelegate argumentDelegate,
+                                ExceptionArgumentDelegate argumentNullDelegate,
+                                ExceptionArgumentDelegate argumentOutOfRangeDelegate);
+
+    static void SetPendingApplicationException(string message) {
+      SWIGPendingException.Set(new global::System.ApplicationException(message, SWIGPendingException.Retrieve()));
+    }
+    static void SetPendingArithmeticException(string message) {
+      SWIGPendingException.Set(new global::System.ArithmeticException(message, SWIGPendingException.Retrieve()));
+    }
+    static void SetPendingDivideByZeroException(string message) {
+      SWIGPendingException.Set(new global::System.DivideByZeroException(message, SWIGPendingException.Retrieve()));
+    }
+    static void SetPendingIndexOutOfRangeException(string message) {
+      SWIGPendingException.Set(new global::System.IndexOutOfRangeException(message, SWIGPendingException.Retrieve()));
+    }
+    static void SetPendingInvalidCastException(string message) {
+      SWIGPendingException.Set(new global::System.InvalidCastException(message, SWIGPendingException.Retrieve()));
+    }
+    static void SetPendingInvalidOperationException(string message) {
+      SWIGPendingException.Set(new global::System.InvalidOperationException(message, SWIGPendingException.Retrieve()));
+    }
+    static void SetPendingIOException(string message) {
+      SWIGPendingException.Set(new global::System.IO.IOException(message, SWIGPendingException.Retrieve()));
+    }
+    static void SetPendingNullReferenceException(string message) {
+      SWIGPendingException.Set(new global::System.NullReferenceException(message, SWIGPendingException.Retrieve()));
+    }
+    static void SetPendingOutOfMemoryException(string message) {
+      SWIGPendingException.Set(new global::System.OutOfMemoryException(message, SWIGPendingException.Retrieve()));
+    }
+    static void SetPendingOverflowException(string message) {
+      SWIGPendingException.Set(new global::System.OverflowException(message, SWIGPendingException.Retrieve()));
+    }
+    static void SetPendingSystemException(string message) {
+      SWIGPendingException.Set(new global::System.SystemException(message, SWIGPendingException.Retrieve()));
+    }
+
+    static void SetPendingArgumentException(string message, string paramName) {
+      SWIGPendingException.Set(new global::System.ArgumentException(message, paramName, SWIGPendingException.Retrieve()));
+    }
+    static void SetPendingArgumentNullException(string message, string paramName) {
+      global::System.Exception e = SWIGPendingException.Retrieve();
+      if (e != null) message = message + " Inner Exception: " + e.Message;
+      SWIGPendingException.Set(new global::System.ArgumentNullException(paramName, message));
+    }
+    static void SetPendingArgumentOutOfRangeException(string message, string paramName) {
+      global::System.Exception e = SWIGPendingException.Retrieve();
+      if (e != null) message = message + " Inner Exception: " + e.Message;
+      SWIGPendingException.Set(new global::System.ArgumentOutOfRangeException(paramName, message));
+    }
+
+    static SWIGExceptionHelper() {
+      SWIGRegisterExceptionCallbacks_NDalic(
+                                applicationDelegate,
+                                arithmeticDelegate,
+                                divideByZeroDelegate,
+                                indexOutOfRangeDelegate,
+                                invalidCastDelegate,
+                                invalidOperationDelegate,
+                                ioDelegate,
+                                nullReferenceDelegate,
+                                outOfMemoryDelegate,
+                                overflowDelegate,
+                                systemDelegate);
+
+      SWIGRegisterExceptionCallbacksArgument_NDalic(
+                                argumentDelegate,
+                                argumentNullDelegate,
+                                argumentOutOfRangeDelegate);
+    }
+  }
+
+  protected static SWIGExceptionHelper swigExceptionHelper = new SWIGExceptionHelper();
+
+  public class SWIGPendingException {
+    [global::System.ThreadStatic]
+    private static global::System.Exception pendingException = null;
+    private static int numExceptionsPending = 0;
+
+    public static bool Pending {
+      get {
+        bool pending = false;
+        if (numExceptionsPending > 0)
+          if (pendingException != null)
+            pending = true;
+        return pending;
+      } 
+    }
+
+    public static void Set(global::System.Exception e) {
+      if (pendingException != null)
+        throw new global::System.ApplicationException("FATAL: An earlier pending exception from unmanaged code was missed and thus not thrown (" + pendingException.ToString() + ")", e);
+      pendingException = e;
+      lock(typeof(NDalicPINVOKE)) {
+        numExceptionsPending++;
+      }
+    }
+
+    public static global::System.Exception Retrieve() {
+      global::System.Exception e = null;
+      if (numExceptionsPending > 0) {
+        if (pendingException != null) {
+          e = pendingException;
+          pendingException = null;
+          lock(typeof(NDalicPINVOKE)) {
+            numExceptionsPending--;
+          }
+        }
+      }
+      return e;
+    }
+  }
+
+
+  protected class SWIGStringHelper {
+
+    public delegate string SWIGStringDelegate(string message);
+    static SWIGStringDelegate stringDelegate = new SWIGStringDelegate(CreateString);
+
+    [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="SWIGRegisterStringCallback_NDalic")]
+    public static extern void SWIGRegisterStringCallback_NDalic(SWIGStringDelegate stringDelegate);
+
+    static string CreateString(string cString) {
+      return cString;
+    }
+
+    static SWIGStringHelper() {
+      SWIGRegisterStringCallback_NDalic(stringDelegate);
+    }
+  }
+
+  static protected SWIGStringHelper swigStringHelper = new SWIGStringHelper();
+
+
+  static NDalicPINVOKE() {
+  }
+
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_floatp")]
+  public static extern global::System.IntPtr new_floatp();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_floatp")]
+  public static extern void delete_floatp(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_floatp_assign")]
+  public static extern void floatp_assign(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_floatp_value")]
+  public static extern float floatp_value(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_floatp_cast")]
+  public static extern global::System.IntPtr floatp_cast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_floatp_frompointer")]
+  public static extern global::System.IntPtr floatp_frompointer(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_intp")]
+  public static extern global::System.IntPtr new_intp();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_intp")]
+  public static extern void delete_intp(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_intp_assign")]
+  public static extern void intp_assign(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_intp_value")]
+  public static extern int intp_value(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_intp_cast")]
+  public static extern global::System.IntPtr intp_cast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_intp_frompointer")]
+  public static extern global::System.IntPtr intp_frompointer(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_doublep")]
+  public static extern global::System.IntPtr new_doublep();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_doublep")]
+  public static extern void delete_doublep(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_doublep_assign")]
+  public static extern void doublep_assign(global::System.Runtime.InteropServices.HandleRef jarg1, double jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_doublep_value")]
+  public static extern double doublep_value(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_doublep_cast")]
+  public static extern global::System.IntPtr doublep_cast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_doublep_frompointer")]
+  public static extern global::System.IntPtr doublep_frompointer(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_uintp")]
+  public static extern global::System.IntPtr new_uintp();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_uintp")]
+  public static extern void delete_uintp(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_uintp_assign")]
+  public static extern void uintp_assign(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_uintp_value")]
+  public static extern uint uintp_value(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_uintp_cast")]
+  public static extern global::System.IntPtr uintp_cast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_uintp_frompointer")]
+  public static extern global::System.IntPtr uintp_frompointer(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ushortp")]
+  public static extern global::System.IntPtr new_ushortp();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ushortp")]
+  public static extern void delete_ushortp(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ushortp_assign")]
+  public static extern void ushortp_assign(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ushortp_value")]
+  public static extern ushort ushortp_value(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ushortp_cast")]
+  public static extern global::System.IntPtr ushortp_cast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ushortp_frompointer")]
+  public static extern global::System.IntPtr ushortp_frompointer(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_int_to_uint")]
+  public static extern uint int_to_uint(int jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RefObject_Reference")]
+  public static extern void RefObject_Reference(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RefObject_Unreference")]
+  public static extern void RefObject_Unreference(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RefObject_ReferenceCount")]
+  public static extern int RefObject_ReferenceCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Any__SWIG_0")]
+  public static extern global::System.IntPtr new_Any__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Any")]
+  public static extern void delete_Any(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Any_AssertAlways")]
+  public static extern void Any_AssertAlways(string jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Any__SWIG_2")]
+  public static extern global::System.IntPtr new_Any__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Any_Assign")]
+  public static extern global::System.IntPtr Any_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Any_GetType")]
+  public static extern global::System.IntPtr Any_GetType(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Any_Empty")]
+  public static extern bool Any_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Any_AnyContainerBase")]
+  public static extern global::System.IntPtr new_Any_AnyContainerBase(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Any_AnyContainerBase_GetType")]
+  public static extern global::System.IntPtr Any_AnyContainerBase_GetType(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Any_AnyContainerBase_mType_get")]
+  public static extern global::System.IntPtr Any_AnyContainerBase_mType_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Any_AnyContainerBase_mCloneFunc_set")]
+  public static extern void Any_AnyContainerBase_mCloneFunc_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Any_AnyContainerBase_mCloneFunc_get")]
+  public static extern global::System.IntPtr Any_AnyContainerBase_mCloneFunc_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Any_AnyContainerBase_mDeleteFunc_set")]
+  public static extern void Any_AnyContainerBase_mDeleteFunc_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Any_AnyContainerBase_mDeleteFunc_get")]
+  public static extern global::System.IntPtr Any_AnyContainerBase_mDeleteFunc_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Any_AnyContainerBase")]
+  public static extern void delete_Any_AnyContainerBase(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Any_mContainer_set")]
+  public static extern void Any_mContainer_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Any_mContainer_get")]
+  public static extern global::System.IntPtr Any_mContainer_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_DaliAssertMessage")]
+  public static extern void DaliAssertMessage(string jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_DaliException")]
+  public static extern global::System.IntPtr new_DaliException(string jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_DaliException_location_set")]
+  public static extern void DaliException_location_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_DaliException_location_get")]
+  public static extern string DaliException_location_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_DaliException_condition_set")]
+  public static extern void DaliException_condition_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_DaliException_condition_get")]
+  public static extern string DaliException_condition_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_DaliException")]
+  public static extern void delete_DaliException(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Vector2__SWIG_0")]
+  public static extern global::System.IntPtr new_Vector2__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Vector2__SWIG_1")]
+  public static extern global::System.IntPtr new_Vector2__SWIG_1(float jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Vector2__SWIG_2")]
+  public static extern global::System.IntPtr new_Vector2__SWIG_2([global::System.Runtime.InteropServices.In, global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.LPArray)]float[] jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Vector2__SWIG_3")]
+  public static extern global::System.IntPtr new_Vector2__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Vector2__SWIG_4")]
+  public static extern global::System.IntPtr new_Vector2__SWIG_4(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_ONE_get")]
+  public static extern global::System.IntPtr Vector2_ONE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_XAXIS_get")]
+  public static extern global::System.IntPtr Vector2_XAXIS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_YAXIS_get")]
+  public static extern global::System.IntPtr Vector2_YAXIS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_NEGATIVE_XAXIS_get")]
+  public static extern global::System.IntPtr Vector2_NEGATIVE_XAXIS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_NEGATIVE_YAXIS_get")]
+  public static extern global::System.IntPtr Vector2_NEGATIVE_YAXIS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_ZERO_get")]
+  public static extern global::System.IntPtr Vector2_ZERO_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_Assign__SWIG_0")]
+  public static extern global::System.IntPtr Vector2_Assign__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, [global::System.Runtime.InteropServices.In, global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.LPArray)]float[] jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_Assign__SWIG_1")]
+  public static extern global::System.IntPtr Vector2_Assign__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_Assign__SWIG_2")]
+  public static extern global::System.IntPtr Vector2_Assign__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_Add")]
+  public static extern global::System.IntPtr Vector2_Add(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_AddAssign")]
+  public static extern global::System.IntPtr Vector2_AddAssign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_Subtract__SWIG_0")]
+  public static extern global::System.IntPtr Vector2_Subtract__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_SubtractAssign")]
+  public static extern global::System.IntPtr Vector2_SubtractAssign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_Multiply__SWIG_0")]
+  public static extern global::System.IntPtr Vector2_Multiply__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_Multiply__SWIG_1")]
+  public static extern global::System.IntPtr Vector2_Multiply__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_MultiplyAssign__SWIG_0")]
+  public static extern global::System.IntPtr Vector2_MultiplyAssign__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_MultiplyAssign__SWIG_1")]
+  public static extern global::System.IntPtr Vector2_MultiplyAssign__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_Divide__SWIG_0")]
+  public static extern global::System.IntPtr Vector2_Divide__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_Divide__SWIG_1")]
+  public static extern global::System.IntPtr Vector2_Divide__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_DivideAssign__SWIG_0")]
+  public static extern global::System.IntPtr Vector2_DivideAssign__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_DivideAssign__SWIG_1")]
+  public static extern global::System.IntPtr Vector2_DivideAssign__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_Subtract__SWIG_1")]
+  public static extern global::System.IntPtr Vector2_Subtract__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_EqualTo")]
+  public static extern bool Vector2_EqualTo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_NotEqualTo")]
+  public static extern bool Vector2_NotEqualTo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_ValueOfIndex__SWIG_0")]
+  public static extern float Vector2_ValueOfIndex__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_Length")]
+  public static extern float Vector2_Length(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_LengthSquared")]
+  public static extern float Vector2_LengthSquared(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_Normalize")]
+  public static extern void Vector2_Normalize(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_Clamp")]
+  public static extern void Vector2_Clamp(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_AsFloat__SWIG_0")]
+  public static extern global::System.IntPtr Vector2_AsFloat__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_X_set")]
+  public static extern void Vector2_X_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_X_get")]
+  public static extern float Vector2_X_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_Width_set")]
+  public static extern void Vector2_Width_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_Width_get")]
+  public static extern float Vector2_Width_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_Y_set")]
+  public static extern void Vector2_Y_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_Y_get")]
+  public static extern float Vector2_Y_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_Height_set")]
+  public static extern void Vector2_Height_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector2_Height_get")]
+  public static extern float Vector2_Height_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Vector2")]
+  public static extern void delete_Vector2(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Min__SWIG_0")]
+  public static extern global::System.IntPtr Min__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Max__SWIG_0")]
+  public static extern global::System.IntPtr Max__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Clamp__SWIG_0")]
+  public static extern global::System.IntPtr Clamp__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Vector3__SWIG_0")]
+  public static extern global::System.IntPtr new_Vector3__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Vector3__SWIG_1")]
+  public static extern global::System.IntPtr new_Vector3__SWIG_1(float jarg1, float jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Vector3__SWIG_2")]
+  public static extern global::System.IntPtr new_Vector3__SWIG_2([global::System.Runtime.InteropServices.In, global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.LPArray)]float[] jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Vector3__SWIG_3")]
+  public static extern global::System.IntPtr new_Vector3__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Vector3__SWIG_4")]
+  public static extern global::System.IntPtr new_Vector3__SWIG_4(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_ONE_get")]
+  public static extern global::System.IntPtr Vector3_ONE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_XAXIS_get")]
+  public static extern global::System.IntPtr Vector3_XAXIS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_YAXIS_get")]
+  public static extern global::System.IntPtr Vector3_YAXIS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_ZAXIS_get")]
+  public static extern global::System.IntPtr Vector3_ZAXIS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_NEGATIVE_XAXIS_get")]
+  public static extern global::System.IntPtr Vector3_NEGATIVE_XAXIS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_NEGATIVE_YAXIS_get")]
+  public static extern global::System.IntPtr Vector3_NEGATIVE_YAXIS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_NEGATIVE_ZAXIS_get")]
+  public static extern global::System.IntPtr Vector3_NEGATIVE_ZAXIS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_ZERO_get")]
+  public static extern global::System.IntPtr Vector3_ZERO_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Assign__SWIG_0")]
+  public static extern global::System.IntPtr Vector3_Assign__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, [global::System.Runtime.InteropServices.In, global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.LPArray)]float[] jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Assign__SWIG_1")]
+  public static extern global::System.IntPtr Vector3_Assign__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Assign__SWIG_2")]
+  public static extern global::System.IntPtr Vector3_Assign__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Add")]
+  public static extern global::System.IntPtr Vector3_Add(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_AddAssign")]
+  public static extern global::System.IntPtr Vector3_AddAssign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Subtract__SWIG_0")]
+  public static extern global::System.IntPtr Vector3_Subtract__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_SubtractAssign")]
+  public static extern global::System.IntPtr Vector3_SubtractAssign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Multiply__SWIG_0")]
+  public static extern global::System.IntPtr Vector3_Multiply__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Multiply__SWIG_1")]
+  public static extern global::System.IntPtr Vector3_Multiply__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_MultiplyAssign__SWIG_0")]
+  public static extern global::System.IntPtr Vector3_MultiplyAssign__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_MultiplyAssign__SWIG_1")]
+  public static extern global::System.IntPtr Vector3_MultiplyAssign__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_MultiplyAssign__SWIG_2")]
+  public static extern global::System.IntPtr Vector3_MultiplyAssign__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Divide__SWIG_0")]
+  public static extern global::System.IntPtr Vector3_Divide__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Divide__SWIG_1")]
+  public static extern global::System.IntPtr Vector3_Divide__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_DivideAssign__SWIG_0")]
+  public static extern global::System.IntPtr Vector3_DivideAssign__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_DivideAssign__SWIG_1")]
+  public static extern global::System.IntPtr Vector3_DivideAssign__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Subtract__SWIG_1")]
+  public static extern global::System.IntPtr Vector3_Subtract__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_EqualTo")]
+  public static extern bool Vector3_EqualTo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_NotEqualTo")]
+  public static extern bool Vector3_NotEqualTo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_ValueOfIndex__SWIG_0")]
+  public static extern float Vector3_ValueOfIndex__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Dot")]
+  public static extern float Vector3_Dot(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Cross")]
+  public static extern global::System.IntPtr Vector3_Cross(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Length")]
+  public static extern float Vector3_Length(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_LengthSquared")]
+  public static extern float Vector3_LengthSquared(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Normalize")]
+  public static extern void Vector3_Normalize(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Clamp")]
+  public static extern void Vector3_Clamp(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_AsFloat__SWIG_0")]
+  public static extern global::System.IntPtr Vector3_AsFloat__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_GetVectorXY__SWIG_0")]
+  public static extern global::System.IntPtr Vector3_GetVectorXY__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_GetVectorYZ__SWIG_0")]
+  public static extern global::System.IntPtr Vector3_GetVectorYZ__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_X_set")]
+  public static extern void Vector3_X_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_X_get")]
+  public static extern float Vector3_X_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Width_set")]
+  public static extern void Vector3_Width_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Width_get")]
+  public static extern float Vector3_Width_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_r_set")]
+  public static extern void Vector3_r_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_r_get")]
+  public static extern float Vector3_r_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Y_set")]
+  public static extern void Vector3_Y_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Y_get")]
+  public static extern float Vector3_Y_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Height_set")]
+  public static extern void Vector3_Height_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Height_get")]
+  public static extern float Vector3_Height_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_g_set")]
+  public static extern void Vector3_g_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_g_get")]
+  public static extern float Vector3_g_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Z_set")]
+  public static extern void Vector3_Z_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Z_get")]
+  public static extern float Vector3_Z_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Depth_set")]
+  public static extern void Vector3_Depth_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_Depth_get")]
+  public static extern float Vector3_Depth_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_b_set")]
+  public static extern void Vector3_b_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector3_b_get")]
+  public static extern float Vector3_b_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Vector3")]
+  public static extern void delete_Vector3(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Min__SWIG_1")]
+  public static extern global::System.IntPtr Min__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Max__SWIG_1")]
+  public static extern global::System.IntPtr Max__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Clamp__SWIG_1")]
+  public static extern global::System.IntPtr Clamp__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Vector4__SWIG_0")]
+  public static extern global::System.IntPtr new_Vector4__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Vector4__SWIG_1")]
+  public static extern global::System.IntPtr new_Vector4__SWIG_1(float jarg1, float jarg2, float jarg3, float jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Vector4__SWIG_2")]
+  public static extern global::System.IntPtr new_Vector4__SWIG_2([global::System.Runtime.InteropServices.In, global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.LPArray)]float[] jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Vector4__SWIG_3")]
+  public static extern global::System.IntPtr new_Vector4__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Vector4__SWIG_4")]
+  public static extern global::System.IntPtr new_Vector4__SWIG_4(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_ONE_get")]
+  public static extern global::System.IntPtr Vector4_ONE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_XAXIS_get")]
+  public static extern global::System.IntPtr Vector4_XAXIS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_YAXIS_get")]
+  public static extern global::System.IntPtr Vector4_YAXIS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_ZAXIS_get")]
+  public static extern global::System.IntPtr Vector4_ZAXIS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_ZERO_get")]
+  public static extern global::System.IntPtr Vector4_ZERO_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_Assign__SWIG_0")]
+  public static extern global::System.IntPtr Vector4_Assign__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, [global::System.Runtime.InteropServices.In, global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.LPArray)]float[] jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_Assign__SWIG_1")]
+  public static extern global::System.IntPtr Vector4_Assign__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_Assign__SWIG_2")]
+  public static extern global::System.IntPtr Vector4_Assign__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_Add")]
+  public static extern global::System.IntPtr Vector4_Add(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_AddAssign")]
+  public static extern global::System.IntPtr Vector4_AddAssign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_Subtract__SWIG_0")]
+  public static extern global::System.IntPtr Vector4_Subtract__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_SubtractAssign")]
+  public static extern global::System.IntPtr Vector4_SubtractAssign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_Multiply__SWIG_0")]
+  public static extern global::System.IntPtr Vector4_Multiply__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_Multiply__SWIG_1")]
+  public static extern global::System.IntPtr Vector4_Multiply__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_MultiplyAssign__SWIG_0")]
+  public static extern global::System.IntPtr Vector4_MultiplyAssign__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_MultiplyAssign__SWIG_1")]
+  public static extern global::System.IntPtr Vector4_MultiplyAssign__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_Divide__SWIG_0")]
+  public static extern global::System.IntPtr Vector4_Divide__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_Divide__SWIG_1")]
+  public static extern global::System.IntPtr Vector4_Divide__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_DivideAssign__SWIG_0")]
+  public static extern global::System.IntPtr Vector4_DivideAssign__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_DivideAssign__SWIG_1")]
+  public static extern global::System.IntPtr Vector4_DivideAssign__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_Subtract__SWIG_1")]
+  public static extern global::System.IntPtr Vector4_Subtract__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_EqualTo")]
+  public static extern bool Vector4_EqualTo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_NotEqualTo")]
+  public static extern bool Vector4_NotEqualTo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_ValueOfIndex__SWIG_0")]
+  public static extern float Vector4_ValueOfIndex__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_Dot__SWIG_0")]
+  public static extern float Vector4_Dot__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_Dot__SWIG_1")]
+  public static extern float Vector4_Dot__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_Dot4")]
+  public static extern float Vector4_Dot4(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_Cross")]
+  public static extern global::System.IntPtr Vector4_Cross(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_Length")]
+  public static extern float Vector4_Length(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_LengthSquared")]
+  public static extern float Vector4_LengthSquared(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_Normalize")]
+  public static extern void Vector4_Normalize(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_Clamp")]
+  public static extern void Vector4_Clamp(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_AsFloat__SWIG_0")]
+  public static extern global::System.IntPtr Vector4_AsFloat__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_X_set")]
+  public static extern void Vector4_X_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_X_get")]
+  public static extern float Vector4_X_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_r_set")]
+  public static extern void Vector4_r_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_r_get")]
+  public static extern float Vector4_r_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_s_set")]
+  public static extern void Vector4_s_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_s_get")]
+  public static extern float Vector4_s_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_Y_set")]
+  public static extern void Vector4_Y_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_Y_get")]
+  public static extern float Vector4_Y_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_g_set")]
+  public static extern void Vector4_g_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_g_get")]
+  public static extern float Vector4_g_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_t_set")]
+  public static extern void Vector4_t_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_t_get")]
+  public static extern float Vector4_t_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_Z_set")]
+  public static extern void Vector4_Z_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_Z_get")]
+  public static extern float Vector4_Z_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_b_set")]
+  public static extern void Vector4_b_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_b_get")]
+  public static extern float Vector4_b_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_p_set")]
+  public static extern void Vector4_p_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_p_get")]
+  public static extern float Vector4_p_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_W_set")]
+  public static extern void Vector4_W_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_W_get")]
+  public static extern float Vector4_W_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_a_set")]
+  public static extern void Vector4_a_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_a_get")]
+  public static extern float Vector4_a_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_q_set")]
+  public static extern void Vector4_q_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Vector4_q_get")]
+  public static extern float Vector4_q_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Vector4")]
+  public static extern void delete_Vector4(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Min__SWIG_2")]
+  public static extern global::System.IntPtr Min__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Max__SWIG_2")]
+  public static extern global::System.IntPtr Max__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Clamp__SWIG_2")]
+  public static extern global::System.IntPtr Clamp__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Uint16Pair__SWIG_0")]
+  public static extern global::System.IntPtr new_Uint16Pair__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Uint16Pair__SWIG_1")]
+  public static extern global::System.IntPtr new_Uint16Pair__SWIG_1(uint jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Uint16Pair__SWIG_2")]
+  public static extern global::System.IntPtr new_Uint16Pair__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Uint16Pair_SetWidth")]
+  public static extern void Uint16Pair_SetWidth(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Uint16Pair_GetWidth")]
+  public static extern ushort Uint16Pair_GetWidth(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Uint16Pair_SetHeight")]
+  public static extern void Uint16Pair_SetHeight(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Uint16Pair_GetHeight")]
+  public static extern ushort Uint16Pair_GetHeight(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Uint16Pair_SetX")]
+  public static extern void Uint16Pair_SetX(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Uint16Pair_GetX")]
+  public static extern ushort Uint16Pair_GetX(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Uint16Pair_SetY")]
+  public static extern void Uint16Pair_SetY(global::System.Runtime.InteropServices.HandleRef jarg1, ushort jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Uint16Pair_GetY")]
+  public static extern ushort Uint16Pair_GetY(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Uint16Pair_Assign")]
+  public static extern global::System.IntPtr Uint16Pair_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Uint16Pair_EqualTo")]
+  public static extern bool Uint16Pair_EqualTo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Uint16Pair_NotEqualTo")]
+  public static extern bool Uint16Pair_NotEqualTo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Uint16Pair_LessThan")]
+  public static extern bool Uint16Pair_LessThan(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Uint16Pair_GreaterThan")]
+  public static extern bool Uint16Pair_GreaterThan(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Uint16Pair")]
+  public static extern void delete_Uint16Pair(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Degree__SWIG_0")]
+  public static extern global::System.IntPtr new_Degree__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Degree__SWIG_1")]
+  public static extern global::System.IntPtr new_Degree__SWIG_1(float jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Degree__SWIG_2")]
+  public static extern global::System.IntPtr new_Degree__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Degree_degree_set")]
+  public static extern void Degree_degree_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Degree_degree_get")]
+  public static extern float Degree_degree_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Degree")]
+  public static extern void delete_Degree(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ANGLE_360_get")]
+  public static extern global::System.IntPtr ANGLE_360_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ANGLE_315_get")]
+  public static extern global::System.IntPtr ANGLE_315_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ANGLE_270_get")]
+  public static extern global::System.IntPtr ANGLE_270_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ANGLE_225_get")]
+  public static extern global::System.IntPtr ANGLE_225_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ANGLE_180_get")]
+  public static extern global::System.IntPtr ANGLE_180_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ANGLE_135_get")]
+  public static extern global::System.IntPtr ANGLE_135_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ANGLE_120_get")]
+  public static extern global::System.IntPtr ANGLE_120_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ANGLE_90_get")]
+  public static extern global::System.IntPtr ANGLE_90_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ANGLE_60_get")]
+  public static extern global::System.IntPtr ANGLE_60_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ANGLE_45_get")]
+  public static extern global::System.IntPtr ANGLE_45_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ANGLE_30_get")]
+  public static extern global::System.IntPtr ANGLE_30_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ANGLE_0_get")]
+  public static extern global::System.IntPtr ANGLE_0_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_EqualTo__SWIG_5")]
+  public static extern bool EqualTo__SWIG_5(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NotEqualTo__SWIG_4")]
+  public static extern bool NotEqualTo__SWIG_4(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Clamp__SWIG_3")]
+  public static extern global::System.IntPtr Clamp__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Radian__SWIG_0")]
+  public static extern global::System.IntPtr new_Radian__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Radian__SWIG_1")]
+  public static extern global::System.IntPtr new_Radian__SWIG_1(float jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Radian__SWIG_2")]
+  public static extern global::System.IntPtr new_Radian__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Radian_Assign__SWIG_0")]
+  public static extern global::System.IntPtr Radian_Assign__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Radian_Assign__SWIG_1")]
+  public static extern global::System.IntPtr Radian_Assign__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Radian_ConvertToFloat")]
+  public static extern float Radian_ConvertToFloat(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Radian_radian_set")]
+  public static extern void Radian_radian_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Radian_radian_get")]
+  public static extern float Radian_radian_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Radian")]
+  public static extern void delete_Radian(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_EqualTo__SWIG_6")]
+  public static extern bool EqualTo__SWIG_6(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NotEqualTo__SWIG_5")]
+  public static extern bool NotEqualTo__SWIG_5(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_EqualTo__SWIG_7")]
+  public static extern bool EqualTo__SWIG_7(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NotEqualTo__SWIG_6")]
+  public static extern bool NotEqualTo__SWIG_6(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_EqualTo__SWIG_8")]
+  public static extern bool EqualTo__SWIG_8(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NotEqualTo__SWIG_7")]
+  public static extern bool NotEqualTo__SWIG_7(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GreaterThan__SWIG_0")]
+  public static extern bool GreaterThan__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GreaterThan__SWIG_1")]
+  public static extern bool GreaterThan__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GreaterThan__SWIG_2")]
+  public static extern bool GreaterThan__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LessThan__SWIG_0")]
+  public static extern bool LessThan__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LessThan__SWIG_1")]
+  public static extern bool LessThan__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LessThan__SWIG_2")]
+  public static extern bool LessThan__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Multiply")]
+  public static extern global::System.IntPtr Multiply(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Subtract")]
+  public static extern global::System.IntPtr Subtract(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Clamp__SWIG_4")]
+  public static extern global::System.IntPtr Clamp__SWIG_4(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Rotation__SWIG_0")]
+  public static extern global::System.IntPtr new_Rotation__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Rotation__SWIG_1")]
+  public static extern global::System.IntPtr new_Rotation__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Rotation")]
+  public static extern void delete_Rotation(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_IDENTITY_get")]
+  public static extern global::System.IntPtr Rotation_IDENTITY_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_IsIdentity")]
+  public static extern bool Rotation_IsIdentity(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_GetAxisAngle")]
+  public static extern bool Rotation_GetAxisAngle(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_Add")]
+  public static extern global::System.IntPtr Rotation_Add(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_Subtract__SWIG_0")]
+  public static extern global::System.IntPtr Rotation_Subtract__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_Multiply__SWIG_0")]
+  public static extern global::System.IntPtr Rotation_Multiply__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_Multiply__SWIG_1")]
+  public static extern global::System.IntPtr Rotation_Multiply__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_Divide__SWIG_0")]
+  public static extern global::System.IntPtr Rotation_Divide__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_Multiply__SWIG_2")]
+  public static extern global::System.IntPtr Rotation_Multiply__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_Divide__SWIG_1")]
+  public static extern global::System.IntPtr Rotation_Divide__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_Subtract__SWIG_1")]
+  public static extern global::System.IntPtr Rotation_Subtract__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_AddAssign")]
+  public static extern global::System.IntPtr Rotation_AddAssign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_SubtractAssign")]
+  public static extern global::System.IntPtr Rotation_SubtractAssign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_MultiplyAssign__SWIG_0")]
+  public static extern global::System.IntPtr Rotation_MultiplyAssign__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_MultiplyAssign__SWIG_1")]
+  public static extern global::System.IntPtr Rotation_MultiplyAssign__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_DivideAssign")]
+  public static extern global::System.IntPtr Rotation_DivideAssign(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_EqualTo")]
+  public static extern bool Rotation_EqualTo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_NotEqualTo")]
+  public static extern bool Rotation_NotEqualTo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_Length")]
+  public static extern float Rotation_Length(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_LengthSquared")]
+  public static extern float Rotation_LengthSquared(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_Normalize")]
+  public static extern void Rotation_Normalize(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_Normalized")]
+  public static extern global::System.IntPtr Rotation_Normalized(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_Conjugate")]
+  public static extern void Rotation_Conjugate(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_Invert")]
+  public static extern void Rotation_Invert(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_Log")]
+  public static extern global::System.IntPtr Rotation_Log(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_Exp")]
+  public static extern global::System.IntPtr Rotation_Exp(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_Dot")]
+  public static extern float Rotation_Dot(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_Lerp")]
+  public static extern global::System.IntPtr Rotation_Lerp(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_Slerp")]
+  public static extern global::System.IntPtr Rotation_Slerp(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_SlerpNoInvert")]
+  public static extern global::System.IntPtr Rotation_SlerpNoInvert(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_Squad")]
+  public static extern global::System.IntPtr Rotation_Squad(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, float jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rotation_AngleBetween")]
+  public static extern float Rotation_AngleBetween(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Matrix__SWIG_0")]
+  public static extern global::System.IntPtr new_Matrix__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Matrix__SWIG_1")]
+  public static extern global::System.IntPtr new_Matrix__SWIG_1(bool jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Matrix__SWIG_2")]
+  public static extern global::System.IntPtr new_Matrix__SWIG_2([global::System.Runtime.InteropServices.In, global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.LPArray)]float[] jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Matrix__SWIG_3")]
+  public static extern global::System.IntPtr new_Matrix__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Matrix__SWIG_4")]
+  public static extern global::System.IntPtr new_Matrix__SWIG_4(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_Assign")]
+  public static extern global::System.IntPtr Matrix_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_IDENTITY_get")]
+  public static extern global::System.IntPtr Matrix_IDENTITY_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_SetIdentity")]
+  public static extern void Matrix_SetIdentity(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_SetIdentityAndScale")]
+  public static extern void Matrix_SetIdentityAndScale(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_InvertTransform")]
+  public static extern void Matrix_InvertTransform(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_Invert")]
+  public static extern bool Matrix_Invert(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_Transpose")]
+  public static extern void Matrix_Transpose(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_GetXAxis")]
+  public static extern global::System.IntPtr Matrix_GetXAxis(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_GetYAxis")]
+  public static extern global::System.IntPtr Matrix_GetYAxis(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_GetZAxis")]
+  public static extern global::System.IntPtr Matrix_GetZAxis(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_SetXAxis")]
+  public static extern void Matrix_SetXAxis(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_SetYAxis")]
+  public static extern void Matrix_SetYAxis(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_SetZAxis")]
+  public static extern void Matrix_SetZAxis(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_GetTranslation")]
+  public static extern global::System.IntPtr Matrix_GetTranslation(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_GetTranslation3")]
+  public static extern global::System.IntPtr Matrix_GetTranslation3(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_SetTranslation__SWIG_0")]
+  public static extern void Matrix_SetTranslation__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_SetTranslation__SWIG_1")]
+  public static extern void Matrix_SetTranslation__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_OrthoNormalize")]
+  public static extern void Matrix_OrthoNormalize(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_AsFloat__SWIG_0")]
+  public static extern global::System.IntPtr Matrix_AsFloat__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_Multiply__SWIG_0")]
+  public static extern void Matrix_Multiply__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_Multiply__SWIG_1")]
+  public static extern void Matrix_Multiply__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_Multiply__SWIG_2")]
+  public static extern global::System.IntPtr Matrix_Multiply__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_EqualTo")]
+  public static extern bool Matrix_EqualTo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_NotEqualTo")]
+  public static extern bool Matrix_NotEqualTo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_SetTransformComponents")]
+  public static extern void Matrix_SetTransformComponents(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_SetInverseTransformComponents__SWIG_0")]
+  public static extern void Matrix_SetInverseTransformComponents__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_SetInverseTransformComponents__SWIG_1")]
+  public static extern void Matrix_SetInverseTransformComponents__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix_GetTransformComponents")]
+  public static extern void Matrix_GetTransformComponents(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Matrix")]
+  public static extern void delete_Matrix(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix3_IDENTITY_get")]
+  public static extern global::System.IntPtr Matrix3_IDENTITY_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Matrix3__SWIG_0")]
+  public static extern global::System.IntPtr new_Matrix3__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Matrix3__SWIG_1")]
+  public static extern global::System.IntPtr new_Matrix3__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Matrix3__SWIG_2")]
+  public static extern global::System.IntPtr new_Matrix3__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Matrix3__SWIG_3")]
+  public static extern global::System.IntPtr new_Matrix3__SWIG_3(float jarg1, float jarg2, float jarg3, float jarg4, float jarg5, float jarg6, float jarg7, float jarg8, float jarg9);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix3_Assign__SWIG_0")]
+  public static extern global::System.IntPtr Matrix3_Assign__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix3_Assign__SWIG_1")]
+  public static extern global::System.IntPtr Matrix3_Assign__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix3_EqualTo")]
+  public static extern bool Matrix3_EqualTo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix3_NotEqualTo")]
+  public static extern bool Matrix3_NotEqualTo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Matrix3")]
+  public static extern void delete_Matrix3(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix3_SetIdentity")]
+  public static extern void Matrix3_SetIdentity(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix3_AsFloat__SWIG_0")]
+  public static extern global::System.IntPtr Matrix3_AsFloat__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix3_Invert")]
+  public static extern bool Matrix3_Invert(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix3_Transpose")]
+  public static extern bool Matrix3_Transpose(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix3_Scale")]
+  public static extern void Matrix3_Scale(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix3_Magnitude")]
+  public static extern float Matrix3_Magnitude(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix3_ScaledInverseTranspose")]
+  public static extern bool Matrix3_ScaledInverseTranspose(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Matrix3_Multiply")]
+  public static extern void Matrix3_Multiply(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Range")]
+  public static extern float Range(float jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Axis")]
+  public static extern global::System.IntPtr Axis();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_AngleAxis__SWIG_0")]
+  public static extern global::System.IntPtr new_AngleAxis__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_AngleAxis__SWIG_1")]
+  public static extern global::System.IntPtr new_AngleAxis__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AngleAxis_angle_set")]
+  public static extern void AngleAxis_angle_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AngleAxis_angle_get")]
+  public static extern global::System.IntPtr AngleAxis_angle_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AngleAxis_axis_set")]
+  public static extern void AngleAxis_axis_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AngleAxis_axis_get")]
+  public static extern global::System.IntPtr AngleAxis_axis_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_AngleAxis")]
+  public static extern void delete_AngleAxis(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_EqualTo__SWIG_9")]
+  public static extern bool EqualTo__SWIG_9(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NextPowerOfTwo")]
+  public static extern uint NextPowerOfTwo(uint jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_IsPowerOfTwo")]
+  public static extern bool IsPowerOfTwo(uint jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GetRangedEpsilon")]
+  public static extern float GetRangedEpsilon(float jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_EqualsZero")]
+  public static extern bool EqualsZero(float jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Equals__SWIG_0")]
+  public static extern bool Equals__SWIG_0(float jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Equals__SWIG_1")]
+  public static extern bool Equals__SWIG_1(float jarg1, float jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Round")]
+  public static extern float Round(float jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_WrapInDomain")]
+  public static extern float WrapInDomain(float jarg1, float jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ShortestDistanceInDomain")]
+  public static extern float ShortestDistanceInDomain(float jarg1, float jarg2, float jarg3, float jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_INVALID_INDEX_get")]
+  public static extern int Property_INVALID_INDEX_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_INVALID_KEY_get")]
+  public static extern int Property_INVALID_KEY_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_INVALID_COMPONENT_INDEX_get")]
+  public static extern int Property_INVALID_COMPONENT_INDEX_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property__SWIG_0")]
+  public static extern global::System.IntPtr new_Property__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property__SWIG_1")]
+  public static extern global::System.IntPtr new_Property__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property__SWIG_2")]
+  public static extern global::System.IntPtr new_Property__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property__SWIG_3")]
+  public static extern global::System.IntPtr new_Property__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Property")]
+  public static extern void delete_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property__object_set")]
+  public static extern void Property__object_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property__object_get")]
+  public static extern global::System.IntPtr Property__object_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_propertyIndex_set")]
+  public static extern void Property_propertyIndex_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_propertyIndex_get")]
+  public static extern int Property_propertyIndex_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_componentIndex_set")]
+  public static extern void Property_componentIndex_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_componentIndex_get")]
+  public static extern int Property_componentIndex_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property_Array__SWIG_0")]
+  public static extern global::System.IntPtr new_Property_Array__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property_Array__SWIG_1")]
+  public static extern global::System.IntPtr new_Property_Array__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Property_Array")]
+  public static extern void delete_Property_Array(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Array_Size")]
+  public static extern uint Property_Array_Size(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Array_Count")]
+  public static extern uint Property_Array_Count(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Array_Empty")]
+  public static extern bool Property_Array_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Array_Clear")]
+  public static extern void Property_Array_Clear(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Array_Reserve")]
+  public static extern void Property_Array_Reserve(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Array_Resize")]
+  public static extern void Property_Array_Resize(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Array_Capacity")]
+  public static extern uint Property_Array_Capacity(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Array_PushBack")]
+  public static extern void Property_Array_PushBack(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Array_Add")]
+  public static extern global::System.IntPtr Property_Array_Add(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Array_GetElementAt__SWIG_0")]
+  public static extern global::System.IntPtr Property_Array_GetElementAt__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Array_ValueOfIndex__SWIG_0")]
+  public static extern global::System.IntPtr Property_Array_ValueOfIndex__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Array_Assign")]
+  public static extern global::System.IntPtr Property_Array_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Key_type_set")]
+  public static extern void Property_Key_type_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Key_type_get")]
+  public static extern int Property_Key_type_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Key_indexKey_set")]
+  public static extern void Property_Key_indexKey_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Key_indexKey_get")]
+  public static extern int Property_Key_indexKey_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Key_stringKey_set")]
+  public static extern void Property_Key_stringKey_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Key_stringKey_get")]
+  public static extern string Property_Key_stringKey_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property_Key__SWIG_0")]
+  public static extern global::System.IntPtr new_Property_Key__SWIG_0(string jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property_Key__SWIG_1")]
+  public static extern global::System.IntPtr new_Property_Key__SWIG_1(int jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Key_EqualTo__SWIG_0")]
+  public static extern bool Property_Key_EqualTo__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Key_EqualTo__SWIG_1")]
+  public static extern bool Property_Key_EqualTo__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Key_EqualTo__SWIG_2")]
+  public static extern bool Property_Key_EqualTo__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Key_NotEqualTo__SWIG_0")]
+  public static extern bool Property_Key_NotEqualTo__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Key_NotEqualTo__SWIG_1")]
+  public static extern bool Property_Key_NotEqualTo__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Key_NotEqualTo__SWIG_2")]
+  public static extern bool Property_Key_NotEqualTo__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Property_Key")]
+  public static extern void delete_Property_Key(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property_Map__SWIG_0")]
+  public static extern global::System.IntPtr new_Property_Map__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property_Map__SWIG_1")]
+  public static extern global::System.IntPtr new_Property_Map__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Property_Map")]
+  public static extern void delete_Property_Map(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Map_Count")]
+  public static extern uint Property_Map_Count(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Map_Empty")]
+  public static extern bool Property_Map_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Map_Insert__SWIG_0")]
+  public static extern void Property_Map_Insert__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Map_Insert__SWIG_2")]
+  public static extern void Property_Map_Insert__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Map_Add__SWIG_0")]
+  public static extern global::System.IntPtr Property_Map_Add__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Map_Add__SWIG_2")]
+  public static extern global::System.IntPtr Property_Map_Add__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Map_GetValue")]
+  public static extern global::System.IntPtr Property_Map_GetValue(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Map_GetKey")]
+  public static extern string Property_Map_GetKey(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Map_GetKeyAt")]
+  public static extern global::System.IntPtr Property_Map_GetKeyAt(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Map_GetPair")]
+  public static extern global::System.IntPtr Property_Map_GetPair(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Map_Find__SWIG_0")]
+  public static extern global::System.IntPtr Property_Map_Find__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Map_Find__SWIG_2")]
+  public static extern global::System.IntPtr Property_Map_Find__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Map_Find__SWIG_3")]
+  public static extern global::System.IntPtr Property_Map_Find__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, string jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Map_Find__SWIG_4")]
+  public static extern global::System.IntPtr Property_Map_Find__SWIG_4(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Map_Find__SWIG_5")]
+  public static extern global::System.IntPtr Property_Map_Find__SWIG_5(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Map_Clear")]
+  public static extern void Property_Map_Clear(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Map_Merge")]
+  public static extern void Property_Map_Merge(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Map_ValueOfIndex__SWIG_0")]
+  public static extern global::System.IntPtr Property_Map_ValueOfIndex__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Map_ValueOfIndex__SWIG_2")]
+  public static extern global::System.IntPtr Property_Map_ValueOfIndex__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Map_Assign")]
+  public static extern global::System.IntPtr Property_Map_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property_Value__SWIG_0")]
+  public static extern global::System.IntPtr new_Property_Value__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property_Value__SWIG_1")]
+  public static extern global::System.IntPtr new_Property_Value__SWIG_1(bool jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property_Value__SWIG_2")]
+  public static extern global::System.IntPtr new_Property_Value__SWIG_2(int jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property_Value__SWIG_3")]
+  public static extern global::System.IntPtr new_Property_Value__SWIG_3(float jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property_Value__SWIG_4")]
+  public static extern global::System.IntPtr new_Property_Value__SWIG_4(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property_Value__SWIG_5")]
+  public static extern global::System.IntPtr new_Property_Value__SWIG_5(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property_Value__SWIG_6")]
+  public static extern global::System.IntPtr new_Property_Value__SWIG_6(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property_Value__SWIG_7")]
+  public static extern global::System.IntPtr new_Property_Value__SWIG_7(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property_Value__SWIG_8")]
+  public static extern global::System.IntPtr new_Property_Value__SWIG_8(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property_Value__SWIG_9")]
+  public static extern global::System.IntPtr new_Property_Value__SWIG_9(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property_Value__SWIG_10")]
+  public static extern global::System.IntPtr new_Property_Value__SWIG_10(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property_Value__SWIG_11")]
+  public static extern global::System.IntPtr new_Property_Value__SWIG_11(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property_Value__SWIG_12")]
+  public static extern global::System.IntPtr new_Property_Value__SWIG_12(string jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property_Value__SWIG_14")]
+  public static extern global::System.IntPtr new_Property_Value__SWIG_14(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property_Value__SWIG_15")]
+  public static extern global::System.IntPtr new_Property_Value__SWIG_15(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property_Value__SWIG_16")]
+  public static extern global::System.IntPtr new_Property_Value__SWIG_16(int jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Property_Value__SWIG_17")]
+  public static extern global::System.IntPtr new_Property_Value__SWIG_17(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Value_Assign")]
+  public static extern global::System.IntPtr Property_Value_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Property_Value")]
+  public static extern void delete_Property_Value(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Value_GetType")]
+  public static extern int Property_Value_GetType(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Value_Get__SWIG_1")]
+  public static extern bool Property_Value_Get__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, ref bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Value_Get__SWIG_2")]
+  public static extern bool Property_Value_Get__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, ref float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Value_Get__SWIG_3")]
+  public static extern bool Property_Value_Get__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1, ref int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Value_Get__SWIG_4")]
+  public static extern bool Property_Value_Get__SWIG_4(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Value_Get__SWIG_5")]
+  public static extern bool Property_Value_Get__SWIG_5(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Value_Get__SWIG_6")]
+  public static extern bool Property_Value_Get__SWIG_6(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Value_Get__SWIG_7")]
+  public static extern bool Property_Value_Get__SWIG_7(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Value_Get__SWIG_8")]
+  public static extern bool Property_Value_Get__SWIG_8(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Value_Get__SWIG_9")]
+  public static extern bool Property_Value_Get__SWIG_9(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Value_Get__SWIG_10")]
+  public static extern bool Property_Value_Get__SWIG_10(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Value_Get__SWIG_11")]
+  public static extern bool Property_Value_Get__SWIG_11(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Value_Get__SWIG_12")]
+  public static extern bool Property_Value_Get__SWIG_12(global::System.Runtime.InteropServices.HandleRef jarg1, out string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Value_Get__SWIG_13")]
+  public static extern bool Property_Value_Get__SWIG_13(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Value_Get__SWIG_14")]
+  public static extern bool Property_Value_Get__SWIG_14(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Value_GetArray")]
+  public static extern global::System.IntPtr Property_Value_GetArray(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Property_Value_GetMap")]
+  public static extern global::System.IntPtr Property_Value_GetMap(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GetName")]
+  public static extern string GetName(int jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BaseObject_DoAction")]
+  public static extern bool BaseObject_DoAction(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BaseObject_GetTypeName")]
+  public static extern string BaseObject_GetTypeName(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BaseObject_GetTypeInfo")]
+  public static extern bool BaseObject_GetTypeInfo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BaseObject_DoConnectSignal")]
+  public static extern bool BaseObject_DoConnectSignal(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GetImplementation")]
+  public static extern global::System.IntPtr GetImplementation(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_BaseHandle__SWIG_0")]
+  public static extern global::System.IntPtr new_BaseHandle__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_BaseHandle__SWIG_1")]
+  public static extern global::System.IntPtr new_BaseHandle__SWIG_1();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_BaseHandle")]
+  public static extern void delete_BaseHandle(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_BaseHandle__SWIG_2")]
+  public static extern global::System.IntPtr new_BaseHandle__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BaseHandle_Assign")]
+  public static extern global::System.IntPtr BaseHandle_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BaseHandle_DoAction")]
+  public static extern bool BaseHandle_DoAction(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BaseHandle_GetTypeName")]
+  public static extern string BaseHandle_GetTypeName(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BaseHandle_GetTypeInfo")]
+  public static extern bool BaseHandle_GetTypeInfo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BaseHandle_GetBaseObject__SWIG_0")]
+  public static extern global::System.IntPtr BaseHandle_GetBaseObject__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BaseHandle_Reset")]
+  public static extern void BaseHandle_Reset(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BaseHandle_EqualTo")]
+  public static extern bool BaseHandle_EqualTo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BaseHandle_NotEqualTo")]
+  public static extern bool BaseHandle_NotEqualTo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BaseHandle_GetObjectPtr")]
+  public static extern global::System.IntPtr BaseHandle_GetObjectPtr(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BaseHandle_HasBody")]
+  public static extern bool BaseHandle_HasBody(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BaseHandle_IsEqual")]
+  public static extern bool BaseHandle_IsEqual(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LessThan__SWIG_3")]
+  public static extern bool LessThan__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ConnectionTrackerInterface")]
+  public static extern void delete_ConnectionTrackerInterface(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ConnectionTrackerInterface_SignalConnected")]
+  public static extern void ConnectionTrackerInterface_SignalConnected(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_SignalObserver")]
+  public static extern void delete_SignalObserver(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_SignalObserver_SignalDisconnected")]
+  public static extern void SignalObserver_SignalDisconnected(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_SlotObserver")]
+  public static extern void delete_SlotObserver(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_SlotObserver_SlotDisconnected")]
+  public static extern void SlotObserver_SlotDisconnected(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ConnectionTracker")]
+  public static extern void delete_ConnectionTracker(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ConnectionTracker_DisconnectAll")]
+  public static extern void ConnectionTracker_DisconnectAll(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ConnectionTracker_SignalConnected")]
+  public static extern void ConnectionTracker_SignalConnected(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ConnectionTracker_SignalDisconnected")]
+  public static extern void ConnectionTracker_SignalDisconnected(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ConnectionTracker_GetConnectionCount")]
+  public static extern uint ConnectionTracker_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ObjectRegistry__SWIG_0")]
+  public static extern global::System.IntPtr new_ObjectRegistry__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ObjectRegistry")]
+  public static extern void delete_ObjectRegistry(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ObjectRegistry__SWIG_1")]
+  public static extern global::System.IntPtr new_ObjectRegistry__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ObjectRegistry_Assign")]
+  public static extern global::System.IntPtr ObjectRegistry_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ObjectRegistry_ObjectCreatedSignal")]
+  public static extern global::System.IntPtr ObjectRegistry_ObjectCreatedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ObjectRegistry_ObjectDestroyedSignal")]
+  public static extern global::System.IntPtr ObjectRegistry_ObjectDestroyedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PropertyCondition__SWIG_0")]
+  public static extern global::System.IntPtr new_PropertyCondition__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PropertyCondition")]
+  public static extern void delete_PropertyCondition(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PropertyCondition__SWIG_1")]
+  public static extern global::System.IntPtr new_PropertyCondition__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyCondition_Assign")]
+  public static extern global::System.IntPtr PropertyCondition_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyCondition_GetArgumentCount")]
+  public static extern uint PropertyCondition_GetArgumentCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyCondition_GetArgument")]
+  public static extern float PropertyCondition_GetArgument(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LessThanCondition")]
+  public static extern global::System.IntPtr LessThanCondition(float jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GreaterThanCondition")]
+  public static extern global::System.IntPtr GreaterThanCondition(float jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_InsideCondition")]
+  public static extern global::System.IntPtr InsideCondition(float jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_OutsideCondition")]
+  public static extern global::System.IntPtr OutsideCondition(float jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_StepCondition__SWIG_0")]
+  public static extern global::System.IntPtr StepCondition__SWIG_0(float jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_StepCondition__SWIG_1")]
+  public static extern global::System.IntPtr StepCondition__SWIG_1(float jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VariableStepCondition")]
+  public static extern global::System.IntPtr VariableStepCondition(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PropertyNotification__SWIG_0")]
+  public static extern global::System.IntPtr new_PropertyNotification__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyNotification_DownCast")]
+  public static extern global::System.IntPtr PropertyNotification_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PropertyNotification")]
+  public static extern void delete_PropertyNotification(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PropertyNotification__SWIG_1")]
+  public static extern global::System.IntPtr new_PropertyNotification__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyNotification_Assign")]
+  public static extern global::System.IntPtr PropertyNotification_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyNotification_GetCondition__SWIG_0")]
+  public static extern global::System.IntPtr PropertyNotification_GetCondition__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyNotification_GetTarget")]
+  public static extern global::System.IntPtr PropertyNotification_GetTarget(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyNotification_GetTargetProperty")]
+  public static extern int PropertyNotification_GetTargetProperty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyNotification_SetNotifyMode")]
+  public static extern void PropertyNotification_SetNotifyMode(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyNotification_GetNotifyMode")]
+  public static extern int PropertyNotification_GetNotifyMode(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyNotification_GetNotifyResult")]
+  public static extern bool PropertyNotification_GetNotifyResult(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyNotification_NotifySignal")]
+  public static extern global::System.IntPtr PropertyNotification_NotifySignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Handle__SWIG_0")]
+  public static extern global::System.IntPtr new_Handle__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Handle_New")]
+  public static extern global::System.IntPtr Handle_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Handle")]
+  public static extern void delete_Handle(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Handle__SWIG_1")]
+  public static extern global::System.IntPtr new_Handle__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Handle_Assign")]
+  public static extern global::System.IntPtr Handle_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Handle_DownCast")]
+  public static extern global::System.IntPtr Handle_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Handle_Supports")]
+  public static extern bool Handle_Supports(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Handle_GetPropertyCount")]
+  public static extern uint Handle_GetPropertyCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Handle_GetPropertyName")]
+  public static extern string Handle_GetPropertyName(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Handle_GetPropertyIndex")]
+  public static extern int Handle_GetPropertyIndex(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Handle_IsPropertyWritable")]
+  public static extern bool Handle_IsPropertyWritable(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Handle_IsPropertyAnimatable")]
+  public static extern bool Handle_IsPropertyAnimatable(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Handle_IsPropertyAConstraintInput")]
+  public static extern bool Handle_IsPropertyAConstraintInput(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Handle_GetPropertyType")]
+  public static extern int Handle_GetPropertyType(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Handle_SetProperty")]
+  public static extern void Handle_SetProperty(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Handle_RegisterProperty__SWIG_0")]
+  public static extern int Handle_RegisterProperty__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Handle_RegisterProperty__SWIG_1")]
+  public static extern int Handle_RegisterProperty__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, int jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Handle_GetProperty")]
+  public static extern global::System.IntPtr Handle_GetProperty(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Handle_GetPropertyIndices")]
+  public static extern void Handle_GetPropertyIndices(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Handle_AddPropertyNotification__SWIG_0")]
+  public static extern global::System.IntPtr Handle_AddPropertyNotification__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Handle_AddPropertyNotification__SWIG_1")]
+  public static extern global::System.IntPtr Handle_AddPropertyNotification__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Handle_RemovePropertyNotification")]
+  public static extern void Handle_RemovePropertyNotification(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Handle_RemovePropertyNotifications")]
+  public static extern void Handle_RemovePropertyNotifications(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Handle_RemoveConstraints__SWIG_0")]
+  public static extern void Handle_RemoveConstraints__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Handle_RemoveConstraints__SWIG_1")]
+  public static extern void Handle_RemoveConstraints__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_WEIGHT_get")]
+  public static extern int WEIGHT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_New")]
+  public static extern global::System.IntPtr New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TypeInfo__SWIG_0")]
+  public static extern global::System.IntPtr new_TypeInfo__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TypeInfo")]
+  public static extern void delete_TypeInfo(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TypeInfo__SWIG_1")]
+  public static extern global::System.IntPtr new_TypeInfo__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TypeInfo_Assign")]
+  public static extern global::System.IntPtr TypeInfo_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TypeInfo_GetName")]
+  public static extern string TypeInfo_GetName(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TypeInfo_GetBaseName")]
+  public static extern string TypeInfo_GetBaseName(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TypeInfo_CreateInstance")]
+  public static extern global::System.IntPtr TypeInfo_CreateInstance(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TypeInfo_GetActionCount")]
+  public static extern uint TypeInfo_GetActionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TypeInfo_GetActionName")]
+  public static extern string TypeInfo_GetActionName(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TypeInfo_GetSignalCount")]
+  public static extern uint TypeInfo_GetSignalCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TypeInfo_GetSignalName")]
+  public static extern string TypeInfo_GetSignalName(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TypeInfo_GetPropertyCount")]
+  public static extern uint TypeInfo_GetPropertyCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TypeInfo_GetPropertyIndices")]
+  public static extern void TypeInfo_GetPropertyIndices(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TypeInfo_GetPropertyName")]
+  public static extern string TypeInfo_GetPropertyName(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TypeRegistry_Get")]
+  public static extern global::System.IntPtr TypeRegistry_Get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TypeRegistry__SWIG_0")]
+  public static extern global::System.IntPtr new_TypeRegistry__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TypeRegistry")]
+  public static extern void delete_TypeRegistry(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TypeRegistry__SWIG_1")]
+  public static extern global::System.IntPtr new_TypeRegistry__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TypeRegistry_Assign")]
+  public static extern global::System.IntPtr TypeRegistry_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TypeRegistry_GetTypeInfo__SWIG_0")]
+  public static extern global::System.IntPtr TypeRegistry_GetTypeInfo__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TypeRegistry_GetTypeInfo__SWIG_1")]
+  public static extern global::System.IntPtr TypeRegistry_GetTypeInfo__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TypeRegistry_GetTypeNameCount")]
+  public static extern uint TypeRegistry_GetTypeNameCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TypeRegistry_GetTypeName")]
+  public static extern string TypeRegistry_GetTypeName(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TypeRegistry__SWIG_2")]
+  public static extern global::System.IntPtr new_TypeRegistry__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TypeRegistration__SWIG_0")]
+  public static extern global::System.IntPtr new_TypeRegistration__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TypeRegistration__SWIG_1")]
+  public static extern global::System.IntPtr new_TypeRegistration__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, bool jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TypeRegistration__SWIG_2")]
+  public static extern global::System.IntPtr new_TypeRegistration__SWIG_2(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TypeRegistration_RegisteredName")]
+  public static extern string TypeRegistration_RegisteredName(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TypeRegistration_RegisterControl")]
+  public static extern void TypeRegistration_RegisterControl(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TypeRegistration_RegisterProperty")]
+  public static extern void TypeRegistration_RegisterProperty(string jarg1, string jarg2, int jarg3, int jarg4, global::System.Runtime.InteropServices.HandleRef jarg5, global::System.Runtime.InteropServices.HandleRef jarg6);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TypeRegistration")]
+  public static extern void delete_TypeRegistration(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_SignalConnectorType")]
+  public static extern global::System.IntPtr new_SignalConnectorType(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_SignalConnectorType")]
+  public static extern void delete_SignalConnectorType(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TypeAction")]
+  public static extern global::System.IntPtr new_TypeAction(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TypeAction")]
+  public static extern void delete_TypeAction(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PropertyRegistration")]
+  public static extern global::System.IntPtr new_PropertyRegistration(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3, int jarg4, global::System.Runtime.InteropServices.HandleRef jarg5, global::System.Runtime.InteropServices.HandleRef jarg6);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PropertyRegistration")]
+  public static extern void delete_PropertyRegistration(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_AnimatablePropertyRegistration__SWIG_0")]
+  public static extern global::System.IntPtr new_AnimatablePropertyRegistration__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3, int jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_AnimatablePropertyRegistration__SWIG_1")]
+  public static extern global::System.IntPtr new_AnimatablePropertyRegistration__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_AnimatablePropertyRegistration")]
+  public static extern void delete_AnimatablePropertyRegistration(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_AnimatablePropertyComponentRegistration")]
+  public static extern global::System.IntPtr new_AnimatablePropertyComponentRegistration(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3, int jarg4, uint jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_AnimatablePropertyComponentRegistration")]
+  public static extern void delete_AnimatablePropertyComponentRegistration(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ChildPropertyRegistration")]
+  public static extern global::System.IntPtr new_ChildPropertyRegistration(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3, int jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ChildPropertyRegistration")]
+  public static extern void delete_ChildPropertyRegistration(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RegisterType")]
+  public static extern bool RegisterType(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RegisterProperty")]
+  public static extern bool RegisterProperty(string jarg1, string jarg2, int jarg3, int jarg4, global::System.Runtime.InteropServices.HandleRef jarg5, global::System.Runtime.InteropServices.HandleRef jarg6);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ParentOriginTop_get")]
+  public static extern float ParentOriginTop_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ParentOriginBottom_get")]
+  public static extern float ParentOriginBottom_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ParentOriginLeft_get")]
+  public static extern float ParentOriginLeft_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ParentOriginRight_get")]
+  public static extern float ParentOriginRight_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ParentOriginMiddle_get")]
+  public static extern float ParentOriginMiddle_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ParentOriginTopLeft_get")]
+  public static extern global::System.IntPtr ParentOriginTopLeft_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ParentOriginTopCenter_get")]
+  public static extern global::System.IntPtr ParentOriginTopCenter_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ParentOriginTopRight_get")]
+  public static extern global::System.IntPtr ParentOriginTopRight_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ParentOriginCenterLeft_get")]
+  public static extern global::System.IntPtr ParentOriginCenterLeft_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ParentOriginCenter_get")]
+  public static extern global::System.IntPtr ParentOriginCenter_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ParentOriginCenterRight_get")]
+  public static extern global::System.IntPtr ParentOriginCenterRight_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ParentOriginBottomLeft_get")]
+  public static extern global::System.IntPtr ParentOriginBottomLeft_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ParentOriginBottomCenter_get")]
+  public static extern global::System.IntPtr ParentOriginBottomCenter_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ParentOriginBottomRight_get")]
+  public static extern global::System.IntPtr ParentOriginBottomRight_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AnchorPointTop_get")]
+  public static extern float AnchorPointTop_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AnchorPointBottom_get")]
+  public static extern float AnchorPointBottom_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AnchorPointLeft_get")]
+  public static extern float AnchorPointLeft_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AnchorPointRight_get")]
+  public static extern float AnchorPointRight_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AnchorPointMiddle_get")]
+  public static extern float AnchorPointMiddle_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AnchorPointTopLeft_get")]
+  public static extern global::System.IntPtr AnchorPointTopLeft_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AnchorPointTopCenter_get")]
+  public static extern global::System.IntPtr AnchorPointTopCenter_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AnchorPointTopRight_get")]
+  public static extern global::System.IntPtr AnchorPointTopRight_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AnchorPointCenterLeft_get")]
+  public static extern global::System.IntPtr AnchorPointCenterLeft_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AnchorPointCenter_get")]
+  public static extern global::System.IntPtr AnchorPointCenter_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AnchorPointCenterRight_get")]
+  public static extern global::System.IntPtr AnchorPointCenterRight_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AnchorPointBottomLeft_get")]
+  public static extern global::System.IntPtr AnchorPointBottomLeft_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AnchorPointBottomCenter_get")]
+  public static extern global::System.IntPtr AnchorPointBottomCenter_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AnchorPointBottomRight_get")]
+  public static extern global::System.IntPtr AnchorPointBottomRight_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BLACK_get")]
+  public static extern global::System.IntPtr BLACK_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_WHITE_get")]
+  public static extern global::System.IntPtr WHITE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RED_get")]
+  public static extern global::System.IntPtr RED_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GREEN_get")]
+  public static extern global::System.IntPtr GREEN_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BLUE_get")]
+  public static extern global::System.IntPtr BLUE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_YELLOW_get")]
+  public static extern global::System.IntPtr YELLOW_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_MAGENTA_get")]
+  public static extern global::System.IntPtr MAGENTA_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CYAN_get")]
+  public static extern global::System.IntPtr CYAN_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TRANSPARENT_get")]
+  public static extern global::System.IntPtr TRANSPARENT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_MACHINE_EPSILON_0_get")]
+  public static extern float MACHINE_EPSILON_0_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_MACHINE_EPSILON_1_get")]
+  public static extern float MACHINE_EPSILON_1_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_MACHINE_EPSILON_10_get")]
+  public static extern float MACHINE_EPSILON_10_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_MACHINE_EPSILON_100_get")]
+  public static extern float MACHINE_EPSILON_100_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_MACHINE_EPSILON_1000_get")]
+  public static extern float MACHINE_EPSILON_1000_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_MACHINE_EPSILON_10000_get")]
+  public static extern float MACHINE_EPSILON_10000_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PI_get")]
+  public static extern float PI_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PI_2_get")]
+  public static extern float PI_2_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PI_4_get")]
+  public static extern float PI_4_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PI_OVER_180_get")]
+  public static extern float PI_OVER_180_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ONE80_OVER_PI_get")]
+  public static extern float ONE80_OVER_PI_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ResizePolicyDefault_get")]
+  public static extern int ResizePolicyDefault_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorBase_Count")]
+  public static extern uint VectorBase_Count(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorBase_Size")]
+  public static extern uint VectorBase_Size(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorBase_Empty")]
+  public static extern bool VectorBase_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorBase_Capacity")]
+  public static extern uint VectorBase_Capacity(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorBase_Release")]
+  public static extern void VectorBase_Release(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Image__SWIG_0")]
+  public static extern global::System.IntPtr new_Image__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Image")]
+  public static extern void delete_Image(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Image__SWIG_1")]
+  public static extern global::System.IntPtr new_Image__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Image_Assign")]
+  public static extern global::System.IntPtr Image_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Image_DownCast")]
+  public static extern global::System.IntPtr Image_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Image_GetWidth")]
+  public static extern uint Image_GetWidth(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Image_GetHeight")]
+  public static extern uint Image_GetHeight(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Image_UploadedSignal")]
+  public static extern global::System.IntPtr Image_UploadedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FIRST_VALID_PIXEL_FORMAT_get")]
+  public static extern int FIRST_VALID_PIXEL_FORMAT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LAST_VALID_PIXEL_FORMAT_get")]
+  public static extern int LAST_VALID_PIXEL_FORMAT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_HasAlpha")]
+  public static extern bool HasAlpha(int jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GetBytesPerPixel")]
+  public static extern uint GetBytesPerPixel(int jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GetAlphaOffsetAndMask")]
+  public static extern void GetAlphaOffsetAndMask(int jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PixelData_New")]
+  public static extern global::System.IntPtr PixelData_New([global::System.Runtime.InteropServices.In, global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.LPArray)]byte[] jarg1, uint jarg2, uint jarg3, uint jarg4, int jarg5, int jarg6);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PixelData__SWIG_0")]
+  public static extern global::System.IntPtr new_PixelData__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PixelData")]
+  public static extern void delete_PixelData(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PixelData__SWIG_1")]
+  public static extern global::System.IntPtr new_PixelData__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PixelData_Assign")]
+  public static extern global::System.IntPtr PixelData_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PixelData_GetWidth")]
+  public static extern uint PixelData_GetWidth(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PixelData_GetHeight")]
+  public static extern uint PixelData_GetHeight(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PixelData_GetPixelFormat")]
+  public static extern int PixelData_GetPixelFormat(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_POSITIVE_X_get")]
+  public static extern uint POSITIVE_X_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NEGATIVE_X_get")]
+  public static extern uint NEGATIVE_X_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_POSITIVE_Y_get")]
+  public static extern uint POSITIVE_Y_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NEGATIVE_Y_get")]
+  public static extern uint NEGATIVE_Y_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_POSITIVE_Z_get")]
+  public static extern uint POSITIVE_Z_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NEGATIVE_Z_get")]
+  public static extern uint NEGATIVE_Z_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Texture_New__SWIG_0")]
+  public static extern global::System.IntPtr Texture_New__SWIG_0(int jarg1, int jarg2, uint jarg3, uint jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Texture_New__SWIG_1")]
+  public static extern global::System.IntPtr Texture_New__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Texture__SWIG_0")]
+  public static extern global::System.IntPtr new_Texture__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Texture")]
+  public static extern void delete_Texture(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Texture__SWIG_1")]
+  public static extern global::System.IntPtr new_Texture__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Texture_DownCast")]
+  public static extern global::System.IntPtr Texture_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Texture_Assign")]
+  public static extern global::System.IntPtr Texture_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Texture_Upload__SWIG_0")]
+  public static extern bool Texture_Upload__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Texture_Upload__SWIG_1")]
+  public static extern bool Texture_Upload__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, uint jarg3, uint jarg4, uint jarg5, uint jarg6, uint jarg7, uint jarg8);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Texture_GenerateMipmaps")]
+  public static extern void Texture_GenerateMipmaps(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Texture_GetWidth")]
+  public static extern uint Texture_GetWidth(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Texture_GetHeight")]
+  public static extern uint Texture_GetHeight(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Texture__SWIG_2")]
+  public static extern global::System.IntPtr new_Texture__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Sampler_New")]
+  public static extern global::System.IntPtr Sampler_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Sampler__SWIG_0")]
+  public static extern global::System.IntPtr new_Sampler__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Sampler")]
+  public static extern void delete_Sampler(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Sampler__SWIG_1")]
+  public static extern global::System.IntPtr new_Sampler__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Sampler_DownCast")]
+  public static extern global::System.IntPtr Sampler_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Sampler_Assign")]
+  public static extern global::System.IntPtr Sampler_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Sampler_SetFilterMode")]
+  public static extern void Sampler_SetFilterMode(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Sampler_SetWrapMode__SWIG_0")]
+  public static extern void Sampler_SetWrapMode__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Sampler_SetWrapMode__SWIG_1")]
+  public static extern void Sampler_SetWrapMode__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3, int jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextureSet_New")]
+  public static extern global::System.IntPtr TextureSet_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TextureSet__SWIG_0")]
+  public static extern global::System.IntPtr new_TextureSet__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TextureSet")]
+  public static extern void delete_TextureSet(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TextureSet__SWIG_1")]
+  public static extern global::System.IntPtr new_TextureSet__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextureSet_DownCast")]
+  public static extern global::System.IntPtr TextureSet_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextureSet_Assign")]
+  public static extern global::System.IntPtr TextureSet_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextureSet_SetTexture")]
+  public static extern void TextureSet_SetTexture(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextureSet_GetTexture")]
+  public static extern global::System.IntPtr TextureSet_GetTexture(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextureSet_SetSampler")]
+  public static extern void TextureSet_SetSampler(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextureSet_GetSampler")]
+  public static extern global::System.IntPtr TextureSet_GetSampler(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextureSet_GetTextureCount")]
+  public static extern uint TextureSet_GetTextureCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyBuffer_New")]
+  public static extern global::System.IntPtr PropertyBuffer_New(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PropertyBuffer__SWIG_0")]
+  public static extern global::System.IntPtr new_PropertyBuffer__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PropertyBuffer")]
+  public static extern void delete_PropertyBuffer(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PropertyBuffer__SWIG_1")]
+  public static extern global::System.IntPtr new_PropertyBuffer__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyBuffer_DownCast")]
+  public static extern global::System.IntPtr PropertyBuffer_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyBuffer_Assign")]
+  public static extern global::System.IntPtr PropertyBuffer_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyBuffer_SetData")]
+  public static extern void PropertyBuffer_SetData(global::System.Runtime.InteropServices.HandleRef jarg1, System.IntPtr jarg2, uint jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyBuffer_GetSize")]
+  public static extern uint PropertyBuffer_GetSize(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Geometry_New")]
+  public static extern global::System.IntPtr Geometry_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Geometry__SWIG_0")]
+  public static extern global::System.IntPtr new_Geometry__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Geometry")]
+  public static extern void delete_Geometry(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Geometry__SWIG_1")]
+  public static extern global::System.IntPtr new_Geometry__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Geometry_DownCast")]
+  public static extern global::System.IntPtr Geometry_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Geometry_Assign")]
+  public static extern global::System.IntPtr Geometry_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Geometry_AddVertexBuffer")]
+  public static extern uint Geometry_AddVertexBuffer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Geometry_GetNumberOfVertexBuffers")]
+  public static extern uint Geometry_GetNumberOfVertexBuffers(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Geometry_RemoveVertexBuffer")]
+  public static extern void Geometry_RemoveVertexBuffer(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Geometry_SetIndexBuffer")]
+  public static extern void Geometry_SetIndexBuffer(global::System.Runtime.InteropServices.HandleRef jarg1, [global::System.Runtime.InteropServices.In, global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.LPArray)]ushort[] jarg2, uint jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Geometry_SetType")]
+  public static extern void Geometry_SetType(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Geometry_GetType")]
+  public static extern int Geometry_GetType(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Shader_Hint")]
+  public static extern global::System.IntPtr new_Shader_Hint();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Shader_Hint")]
+  public static extern void delete_Shader_Hint(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Shader_Property_PROGRAM_get")]
+  public static extern int Shader_Property_PROGRAM_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Shader_Property")]
+  public static extern global::System.IntPtr new_Shader_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Shader_Property")]
+  public static extern void delete_Shader_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Shader_New__SWIG_0")]
+  public static extern global::System.IntPtr Shader_New__SWIG_0(string jarg1, string jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Shader_New__SWIG_1")]
+  public static extern global::System.IntPtr Shader_New__SWIG_1(string jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Shader__SWIG_0")]
+  public static extern global::System.IntPtr new_Shader__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Shader")]
+  public static extern void delete_Shader(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Shader__SWIG_1")]
+  public static extern global::System.IntPtr new_Shader__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Shader_DownCast")]
+  public static extern global::System.IntPtr Shader_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Shader_Assign")]
+  public static extern global::System.IntPtr Shader_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Property_DEPTH_INDEX_get")]
+  public static extern int Renderer_Property_DEPTH_INDEX_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Property_FACE_CULLING_MODE_get")]
+  public static extern int Renderer_Property_FACE_CULLING_MODE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Property_BLEND_MODE_get")]
+  public static extern int Renderer_Property_BLEND_MODE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Property_BLEND_EQUATION_RGB_get")]
+  public static extern int Renderer_Property_BLEND_EQUATION_RGB_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Property_BLEND_EQUATION_ALPHA_get")]
+  public static extern int Renderer_Property_BLEND_EQUATION_ALPHA_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Property_BLEND_FACTOR_SRC_RGB_get")]
+  public static extern int Renderer_Property_BLEND_FACTOR_SRC_RGB_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Property_BLEND_FACTOR_DEST_RGB_get")]
+  public static extern int Renderer_Property_BLEND_FACTOR_DEST_RGB_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Property_BLEND_FACTOR_SRC_ALPHA_get")]
+  public static extern int Renderer_Property_BLEND_FACTOR_SRC_ALPHA_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Property_BLEND_FACTOR_DEST_ALPHA_get")]
+  public static extern int Renderer_Property_BLEND_FACTOR_DEST_ALPHA_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Property_BLEND_COLOR_get")]
+  public static extern int Renderer_Property_BLEND_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Property_BLEND_PRE_MULTIPLIED_ALPHA_get")]
+  public static extern int Renderer_Property_BLEND_PRE_MULTIPLIED_ALPHA_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Property_INDEX_RANGE_FIRST_get")]
+  public static extern int Renderer_Property_INDEX_RANGE_FIRST_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Property_INDEX_RANGE_COUNT_get")]
+  public static extern int Renderer_Property_INDEX_RANGE_COUNT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Property_DEPTH_WRITE_MODE_get")]
+  public static extern int Renderer_Property_DEPTH_WRITE_MODE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Property_DEPTH_FUNCTION_get")]
+  public static extern int Renderer_Property_DEPTH_FUNCTION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Property_DEPTH_TEST_MODE_get")]
+  public static extern int Renderer_Property_DEPTH_TEST_MODE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Property_RENDER_MODE_get")]
+  public static extern int Renderer_Property_RENDER_MODE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Property_STENCIL_FUNCTION_get")]
+  public static extern int Renderer_Property_STENCIL_FUNCTION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Property_STENCIL_FUNCTION_MASK_get")]
+  public static extern int Renderer_Property_STENCIL_FUNCTION_MASK_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Property_STENCIL_FUNCTION_REFERENCE_get")]
+  public static extern int Renderer_Property_STENCIL_FUNCTION_REFERENCE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Property_STENCIL_MASK_get")]
+  public static extern int Renderer_Property_STENCIL_MASK_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Property_STENCIL_OPERATION_ON_FAIL_get")]
+  public static extern int Renderer_Property_STENCIL_OPERATION_ON_FAIL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Property_STENCIL_OPERATION_ON_Z_FAIL_get")]
+  public static extern int Renderer_Property_STENCIL_OPERATION_ON_Z_FAIL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Property_STENCIL_OPERATION_ON_Z_PASS_get")]
+  public static extern int Renderer_Property_STENCIL_OPERATION_ON_Z_PASS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Renderer_Property")]
+  public static extern global::System.IntPtr new_Renderer_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Renderer_Property")]
+  public static extern void delete_Renderer_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_New")]
+  public static extern global::System.IntPtr Renderer_New(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Renderer__SWIG_0")]
+  public static extern global::System.IntPtr new_Renderer__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Renderer")]
+  public static extern void delete_Renderer(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Renderer__SWIG_1")]
+  public static extern global::System.IntPtr new_Renderer__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_DownCast")]
+  public static extern global::System.IntPtr Renderer_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_Assign")]
+  public static extern global::System.IntPtr Renderer_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_SetGeometry")]
+  public static extern void Renderer_SetGeometry(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_GetGeometry")]
+  public static extern global::System.IntPtr Renderer_GetGeometry(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_SetIndexRange")]
+  public static extern void Renderer_SetIndexRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_SetTextures")]
+  public static extern void Renderer_SetTextures(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_GetTextures")]
+  public static extern global::System.IntPtr Renderer_GetTextures(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_SetShader")]
+  public static extern void Renderer_SetShader(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_GetShader")]
+  public static extern global::System.IntPtr Renderer_GetShader(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_FrameBuffer_Attachment")]
+  public static extern global::System.IntPtr new_FrameBuffer_Attachment();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_FrameBuffer_Attachment")]
+  public static extern void delete_FrameBuffer_Attachment(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FrameBuffer_New")]
+  public static extern global::System.IntPtr FrameBuffer_New(uint jarg1, uint jarg2, uint jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_FrameBuffer__SWIG_0")]
+  public static extern global::System.IntPtr new_FrameBuffer__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_FrameBuffer")]
+  public static extern void delete_FrameBuffer(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_FrameBuffer__SWIG_1")]
+  public static extern global::System.IntPtr new_FrameBuffer__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FrameBuffer_DownCast")]
+  public static extern global::System.IntPtr FrameBuffer_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FrameBuffer_Assign")]
+  public static extern global::System.IntPtr FrameBuffer_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FrameBuffer_AttachColorTexture__SWIG_0")]
+  public static extern void FrameBuffer_AttachColorTexture__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FrameBuffer_AttachColorTexture__SWIG_1")]
+  public static extern void FrameBuffer_AttachColorTexture__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, uint jarg3, uint jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FrameBuffer_GetColorTexture")]
+  public static extern global::System.IntPtr FrameBuffer_GetColorTexture(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_RenderTaskList__SWIG_0")]
+  public static extern global::System.IntPtr new_RenderTaskList__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTaskList_DownCast")]
+  public static extern global::System.IntPtr RenderTaskList_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_RenderTaskList")]
+  public static extern void delete_RenderTaskList(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_RenderTaskList__SWIG_1")]
+  public static extern global::System.IntPtr new_RenderTaskList__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTaskList_Assign")]
+  public static extern global::System.IntPtr RenderTaskList_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTaskList_CreateTask")]
+  public static extern global::System.IntPtr RenderTaskList_CreateTask(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTaskList_RemoveTask")]
+  public static extern void RenderTaskList_RemoveTask(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTaskList_GetTaskCount")]
+  public static extern uint RenderTaskList_GetTaskCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTaskList_GetTask")]
+  public static extern global::System.IntPtr RenderTaskList_GetTask(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_Property_VIEWPORT_POSITION_get")]
+  public static extern int RenderTask_Property_VIEWPORT_POSITION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_Property_VIEWPORT_SIZE_get")]
+  public static extern int RenderTask_Property_VIEWPORT_SIZE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_Property_CLEAR_COLOR_get")]
+  public static extern int RenderTask_Property_CLEAR_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_Property_REQUIRES_SYNC_get")]
+  public static extern int RenderTask_Property_REQUIRES_SYNC_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_RenderTask_Property")]
+  public static extern global::System.IntPtr new_RenderTask_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_RenderTask_Property")]
+  public static extern void delete_RenderTask_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_DEFAULT_SCREEN_TO_FRAMEBUFFER_FUNCTION_get")]
+  public static extern global::System.IntPtr RenderTask_DEFAULT_SCREEN_TO_FRAMEBUFFER_FUNCTION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_FULLSCREEN_FRAMEBUFFER_FUNCTION_get")]
+  public static extern global::System.IntPtr RenderTask_FULLSCREEN_FRAMEBUFFER_FUNCTION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_DEFAULT_EXCLUSIVE_get")]
+  public static extern bool RenderTask_DEFAULT_EXCLUSIVE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_DEFAULT_INPUT_ENABLED_get")]
+  public static extern bool RenderTask_DEFAULT_INPUT_ENABLED_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_DEFAULT_CLEAR_COLOR_get")]
+  public static extern global::System.IntPtr RenderTask_DEFAULT_CLEAR_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_DEFAULT_CLEAR_ENABLED_get")]
+  public static extern bool RenderTask_DEFAULT_CLEAR_ENABLED_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_DEFAULT_CULL_MODE_get")]
+  public static extern bool RenderTask_DEFAULT_CULL_MODE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_DEFAULT_REFRESH_RATE_get")]
+  public static extern uint RenderTask_DEFAULT_REFRESH_RATE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_RenderTask__SWIG_0")]
+  public static extern global::System.IntPtr new_RenderTask__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_DownCast")]
+  public static extern global::System.IntPtr RenderTask_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_RenderTask")]
+  public static extern void delete_RenderTask(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_RenderTask__SWIG_1")]
+  public static extern global::System.IntPtr new_RenderTask__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_Assign")]
+  public static extern global::System.IntPtr RenderTask_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_SetSourceActor")]
+  public static extern void RenderTask_SetSourceActor(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_GetSourceActor")]
+  public static extern global::System.IntPtr RenderTask_GetSourceActor(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_SetExclusive")]
+  public static extern void RenderTask_SetExclusive(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_IsExclusive")]
+  public static extern bool RenderTask_IsExclusive(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_SetInputEnabled")]
+  public static extern void RenderTask_SetInputEnabled(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_GetInputEnabled")]
+  public static extern bool RenderTask_GetInputEnabled(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_SetCameraActor")]
+  public static extern void RenderTask_SetCameraActor(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_GetCameraActor")]
+  public static extern global::System.IntPtr RenderTask_GetCameraActor(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_SetTargetFrameBuffer")]
+  public static extern void RenderTask_SetTargetFrameBuffer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_GetTargetFrameBuffer")]
+  public static extern global::System.IntPtr RenderTask_GetTargetFrameBuffer(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_SetFrameBuffer")]
+  public static extern void RenderTask_SetFrameBuffer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_GetFrameBuffer")]
+  public static extern global::System.IntPtr RenderTask_GetFrameBuffer(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_SetScreenToFrameBufferFunction")]
+  public static extern void RenderTask_SetScreenToFrameBufferFunction(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_GetScreenToFrameBufferFunction")]
+  public static extern global::System.IntPtr RenderTask_GetScreenToFrameBufferFunction(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_SetScreenToFrameBufferMappingActor")]
+  public static extern void RenderTask_SetScreenToFrameBufferMappingActor(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_GetScreenToFrameBufferMappingActor")]
+  public static extern global::System.IntPtr RenderTask_GetScreenToFrameBufferMappingActor(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_SetViewportPosition")]
+  public static extern void RenderTask_SetViewportPosition(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_GetCurrentViewportPosition")]
+  public static extern global::System.IntPtr RenderTask_GetCurrentViewportPosition(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_SetViewportSize")]
+  public static extern void RenderTask_SetViewportSize(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_GetCurrentViewportSize")]
+  public static extern global::System.IntPtr RenderTask_GetCurrentViewportSize(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_SetViewport")]
+  public static extern void RenderTask_SetViewport(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_GetViewport")]
+  public static extern global::System.IntPtr RenderTask_GetViewport(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_SetClearColor")]
+  public static extern void RenderTask_SetClearColor(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_GetClearColor")]
+  public static extern global::System.IntPtr RenderTask_GetClearColor(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_SetClearEnabled")]
+  public static extern void RenderTask_SetClearEnabled(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_GetClearEnabled")]
+  public static extern bool RenderTask_GetClearEnabled(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_SetCullMode")]
+  public static extern void RenderTask_SetCullMode(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_GetCullMode")]
+  public static extern bool RenderTask_GetCullMode(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_SetRefreshRate")]
+  public static extern void RenderTask_SetRefreshRate(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_GetRefreshRate")]
+  public static extern uint RenderTask_GetRefreshRate(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_WorldToViewport")]
+  public static extern bool RenderTask_WorldToViewport(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, out float jarg3, out float jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_ViewportToLocal")]
+  public static extern bool RenderTask_ViewportToLocal(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3, float jarg4, out float jarg5, out float jarg6);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_FinishedSignal")]
+  public static extern global::System.IntPtr RenderTask_FinishedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TouchPoint__SWIG_0")]
+  public static extern global::System.IntPtr new_TouchPoint__SWIG_0(int jarg1, int jarg2, float jarg3, float jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TouchPoint__SWIG_1")]
+  public static extern global::System.IntPtr new_TouchPoint__SWIG_1(int jarg1, int jarg2, float jarg3, float jarg4, float jarg5, float jarg6);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TouchPoint")]
+  public static extern void delete_TouchPoint(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPoint_deviceId_set")]
+  public static extern void TouchPoint_deviceId_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPoint_deviceId_get")]
+  public static extern int TouchPoint_deviceId_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPoint_state_set")]
+  public static extern void TouchPoint_state_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPoint_state_get")]
+  public static extern int TouchPoint_state_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPoint_hitActor_set")]
+  public static extern void TouchPoint_hitActor_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPoint_hitActor_get")]
+  public static extern global::System.IntPtr TouchPoint_hitActor_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPoint_local_set")]
+  public static extern void TouchPoint_local_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPoint_local_get")]
+  public static extern global::System.IntPtr TouchPoint_local_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPoint_screen_set")]
+  public static extern void TouchPoint_screen_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPoint_screen_get")]
+  public static extern global::System.IntPtr TouchPoint_screen_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Touch__SWIG_0")]
+  public static extern global::System.IntPtr new_Touch__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Touch__SWIG_1")]
+  public static extern global::System.IntPtr new_Touch__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Touch")]
+  public static extern void delete_Touch(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Touch_Assign")]
+  public static extern global::System.IntPtr Touch_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Touch_GetTime")]
+  public static extern uint Touch_GetTime(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Touch_GetPointCount")]
+  public static extern uint Touch_GetPointCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Touch_GetDeviceId")]
+  public static extern int Touch_GetDeviceId(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Touch_GetState")]
+  public static extern int Touch_GetState(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Touch_GetHitActor")]
+  public static extern global::System.IntPtr Touch_GetHitActor(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Touch_GetLocalPosition")]
+  public static extern global::System.IntPtr Touch_GetLocalPosition(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Touch_GetScreenPosition")]
+  public static extern global::System.IntPtr Touch_GetScreenPosition(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Touch_GetRadius")]
+  public static extern float Touch_GetRadius(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Touch_GetEllipseRadius")]
+  public static extern global::System.IntPtr Touch_GetEllipseRadius(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Touch_GetPressure")]
+  public static extern float Touch_GetPressure(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Touch_GetAngle")]
+  public static extern global::System.IntPtr Touch_GetAngle(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_GestureDetector__SWIG_0")]
+  public static extern global::System.IntPtr new_GestureDetector__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GestureDetector_DownCast")]
+  public static extern global::System.IntPtr GestureDetector_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_GestureDetector")]
+  public static extern void delete_GestureDetector(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_GestureDetector__SWIG_1")]
+  public static extern global::System.IntPtr new_GestureDetector__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GestureDetector_Assign")]
+  public static extern global::System.IntPtr GestureDetector_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GestureDetector_Attach")]
+  public static extern void GestureDetector_Attach(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GestureDetector_Detach")]
+  public static extern void GestureDetector_Detach(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GestureDetector_DetachAll")]
+  public static extern void GestureDetector_DetachAll(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GestureDetector_GetAttachedActorCount")]
+  public static extern uint GestureDetector_GetAttachedActorCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GestureDetector_GetAttachedActor")]
+  public static extern global::System.IntPtr GestureDetector_GetAttachedActor(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Gesture")]
+  public static extern global::System.IntPtr new_Gesture(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Gesture_Assign")]
+  public static extern global::System.IntPtr Gesture_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Gesture")]
+  public static extern void delete_Gesture(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Gesture_type_set")]
+  public static extern void Gesture_type_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Gesture_type_get")]
+  public static extern int Gesture_type_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Gesture_state_set")]
+  public static extern void Gesture_state_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Gesture_state_get")]
+  public static extern int Gesture_state_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Gesture_time_set")]
+  public static extern void Gesture_time_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Gesture_time_get")]
+  public static extern uint Gesture_time_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Hover__SWIG_0")]
+  public static extern global::System.IntPtr new_Hover__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Hover__SWIG_1")]
+  public static extern global::System.IntPtr new_Hover__SWIG_1(uint jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Hover")]
+  public static extern void delete_Hover(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Hover_points_set")]
+  public static extern void Hover_points_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Hover_points_get")]
+  public static extern global::System.IntPtr Hover_points_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Hover_time_set")]
+  public static extern void Hover_time_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Hover_time_get")]
+  public static extern uint Hover_time_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Hover_GetPointCount")]
+  public static extern uint Hover_GetPointCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Hover_GetPoint")]
+  public static extern global::System.IntPtr Hover_GetPoint(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Key__SWIG_0")]
+  public static extern global::System.IntPtr new_Key__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Key__SWIG_1")]
+  public static extern global::System.IntPtr new_Key__SWIG_1(string jarg1, string jarg2, int jarg3, int jarg4, uint jarg5, int jarg6);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Key")]
+  public static extern void delete_Key(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Key_IsShiftModifier")]
+  public static extern bool Key_IsShiftModifier(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Key_IsCtrlModifier")]
+  public static extern bool Key_IsCtrlModifier(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Key_IsAltModifier")]
+  public static extern bool Key_IsAltModifier(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Key_keyPressedName_set")]
+  public static extern void Key_keyPressedName_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Key_keyPressedName_get")]
+  public static extern string Key_keyPressedName_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Key_keyPressed_set")]
+  public static extern void Key_keyPressed_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Key_keyPressed_get")]
+  public static extern string Key_keyPressed_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Key_keyCode_set")]
+  public static extern void Key_keyCode_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Key_keyCode_get")]
+  public static extern int Key_keyCode_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Key_keyModifier_set")]
+  public static extern void Key_keyModifier_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Key_keyModifier_get")]
+  public static extern int Key_keyModifier_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Key_time_set")]
+  public static extern void Key_time_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Key_time_get")]
+  public static extern uint Key_time_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Key_state_set")]
+  public static extern void Key_state_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Key_state_get")]
+  public static extern int Key_state_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_LongPressGestureDetector__SWIG_0")]
+  public static extern global::System.IntPtr new_LongPressGestureDetector__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LongPressGestureDetector_New__SWIG_0")]
+  public static extern global::System.IntPtr LongPressGestureDetector_New__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LongPressGestureDetector_New__SWIG_1")]
+  public static extern global::System.IntPtr LongPressGestureDetector_New__SWIG_1(uint jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LongPressGestureDetector_New__SWIG_2")]
+  public static extern global::System.IntPtr LongPressGestureDetector_New__SWIG_2(uint jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LongPressGestureDetector_DownCast")]
+  public static extern global::System.IntPtr LongPressGestureDetector_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_LongPressGestureDetector")]
+  public static extern void delete_LongPressGestureDetector(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_LongPressGestureDetector__SWIG_1")]
+  public static extern global::System.IntPtr new_LongPressGestureDetector__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LongPressGestureDetector_Assign")]
+  public static extern global::System.IntPtr LongPressGestureDetector_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LongPressGestureDetector_SetTouchesRequired__SWIG_0")]
+  public static extern void LongPressGestureDetector_SetTouchesRequired__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LongPressGestureDetector_SetTouchesRequired__SWIG_1")]
+  public static extern void LongPressGestureDetector_SetTouchesRequired__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, uint jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LongPressGestureDetector_GetMinimumTouchesRequired")]
+  public static extern uint LongPressGestureDetector_GetMinimumTouchesRequired(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LongPressGestureDetector_GetMaximumTouchesRequired")]
+  public static extern uint LongPressGestureDetector_GetMaximumTouchesRequired(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LongPressGestureDetector_DetectedSignal")]
+  public static extern global::System.IntPtr LongPressGestureDetector_DetectedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_LongPressGesture__SWIG_0")]
+  public static extern global::System.IntPtr new_LongPressGesture__SWIG_0(int jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_LongPressGesture__SWIG_1")]
+  public static extern global::System.IntPtr new_LongPressGesture__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LongPressGesture_Assign")]
+  public static extern global::System.IntPtr LongPressGesture_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_LongPressGesture")]
+  public static extern void delete_LongPressGesture(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LongPressGesture_numberOfTouches_set")]
+  public static extern void LongPressGesture_numberOfTouches_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LongPressGesture_numberOfTouches_get")]
+  public static extern uint LongPressGesture_numberOfTouches_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LongPressGesture_screenPoint_set")]
+  public static extern void LongPressGesture_screenPoint_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LongPressGesture_screenPoint_get")]
+  public static extern global::System.IntPtr LongPressGesture_screenPoint_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LongPressGesture_localPoint_set")]
+  public static extern void LongPressGesture_localPoint_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LongPressGesture_localPoint_get")]
+  public static extern global::System.IntPtr LongPressGesture_localPoint_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Wheel__SWIG_0")]
+  public static extern global::System.IntPtr new_Wheel__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Wheel__SWIG_1")]
+  public static extern global::System.IntPtr new_Wheel__SWIG_1(int jarg1, int jarg2, uint jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, int jarg5, uint jarg6);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Wheel")]
+  public static extern void delete_Wheel(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Wheel_IsShiftModifier")]
+  public static extern bool Wheel_IsShiftModifier(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Wheel_IsCtrlModifier")]
+  public static extern bool Wheel_IsCtrlModifier(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Wheel_IsAltModifier")]
+  public static extern bool Wheel_IsAltModifier(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Wheel_type_set")]
+  public static extern void Wheel_type_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Wheel_type_get")]
+  public static extern int Wheel_type_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Wheel_direction_set")]
+  public static extern void Wheel_direction_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Wheel_direction_get")]
+  public static extern int Wheel_direction_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Wheel_modifiers_set")]
+  public static extern void Wheel_modifiers_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Wheel_modifiers_get")]
+  public static extern uint Wheel_modifiers_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Wheel_point_set")]
+  public static extern void Wheel_point_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Wheel_point_get")]
+  public static extern global::System.IntPtr Wheel_point_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Wheel_z_set")]
+  public static extern void Wheel_z_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Wheel_z_get")]
+  public static extern int Wheel_z_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Wheel_timeStamp_set")]
+  public static extern void Wheel_timeStamp_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Wheel_timeStamp_get")]
+  public static extern uint Wheel_timeStamp_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_PARENT_ORIGIN_get")]
+  public static extern int Actor_Property_PARENT_ORIGIN_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_PARENT_ORIGIN_X_get")]
+  public static extern int Actor_Property_PARENT_ORIGIN_X_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_PARENT_ORIGIN_Y_get")]
+  public static extern int Actor_Property_PARENT_ORIGIN_Y_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_PARENT_ORIGIN_Z_get")]
+  public static extern int Actor_Property_PARENT_ORIGIN_Z_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_ANCHOR_POINT_get")]
+  public static extern int Actor_Property_ANCHOR_POINT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_ANCHOR_POINT_X_get")]
+  public static extern int Actor_Property_ANCHOR_POINT_X_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_ANCHOR_POINT_Y_get")]
+  public static extern int Actor_Property_ANCHOR_POINT_Y_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_ANCHOR_POINT_Z_get")]
+  public static extern int Actor_Property_ANCHOR_POINT_Z_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_SIZE_get")]
+  public static extern int Actor_Property_SIZE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_SIZE_WIDTH_get")]
+  public static extern int Actor_Property_SIZE_WIDTH_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_SIZE_HEIGHT_get")]
+  public static extern int Actor_Property_SIZE_HEIGHT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_SIZE_DEPTH_get")]
+  public static extern int Actor_Property_SIZE_DEPTH_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_POSITION_get")]
+  public static extern int Actor_Property_POSITION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_POSITION_X_get")]
+  public static extern int Actor_Property_POSITION_X_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_POSITION_Y_get")]
+  public static extern int Actor_Property_POSITION_Y_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_POSITION_Z_get")]
+  public static extern int Actor_Property_POSITION_Z_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_WORLD_POSITION_get")]
+  public static extern int Actor_Property_WORLD_POSITION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_WORLD_POSITION_X_get")]
+  public static extern int Actor_Property_WORLD_POSITION_X_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_WORLD_POSITION_Y_get")]
+  public static extern int Actor_Property_WORLD_POSITION_Y_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_WORLD_POSITION_Z_get")]
+  public static extern int Actor_Property_WORLD_POSITION_Z_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_ORIENTATION_get")]
+  public static extern int Actor_Property_ORIENTATION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_WORLD_ORIENTATION_get")]
+  public static extern int Actor_Property_WORLD_ORIENTATION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_SCALE_get")]
+  public static extern int Actor_Property_SCALE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_SCALE_X_get")]
+  public static extern int Actor_Property_SCALE_X_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_SCALE_Y_get")]
+  public static extern int Actor_Property_SCALE_Y_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_SCALE_Z_get")]
+  public static extern int Actor_Property_SCALE_Z_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_WORLD_SCALE_get")]
+  public static extern int Actor_Property_WORLD_SCALE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_VISIBLE_get")]
+  public static extern int Actor_Property_VISIBLE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_COLOR_get")]
+  public static extern int Actor_Property_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_COLOR_RED_get")]
+  public static extern int Actor_Property_COLOR_RED_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_COLOR_GREEN_get")]
+  public static extern int Actor_Property_COLOR_GREEN_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_COLOR_BLUE_get")]
+  public static extern int Actor_Property_COLOR_BLUE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_COLOR_ALPHA_get")]
+  public static extern int Actor_Property_COLOR_ALPHA_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_WORLD_COLOR_get")]
+  public static extern int Actor_Property_WORLD_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_WORLD_MATRIX_get")]
+  public static extern int Actor_Property_WORLD_MATRIX_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_NAME_get")]
+  public static extern int Actor_Property_NAME_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_SENSITIVE_get")]
+  public static extern int Actor_Property_SENSITIVE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_LEAVE_REQUIRED_get")]
+  public static extern int Actor_Property_LEAVE_REQUIRED_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_INHERIT_ORIENTATION_get")]
+  public static extern int Actor_Property_INHERIT_ORIENTATION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_INHERIT_SCALE_get")]
+  public static extern int Actor_Property_INHERIT_SCALE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_COLOR_MODE_get")]
+  public static extern int Actor_Property_COLOR_MODE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_POSITION_INHERITANCE_get")]
+  public static extern int Actor_Property_POSITION_INHERITANCE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_DRAW_MODE_get")]
+  public static extern int Actor_Property_DRAW_MODE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_SIZE_MODE_FACTOR_get")]
+  public static extern int Actor_Property_SIZE_MODE_FACTOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_WIDTH_RESIZE_POLICY_get")]
+  public static extern int Actor_Property_WIDTH_RESIZE_POLICY_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_HEIGHT_RESIZE_POLICY_get")]
+  public static extern int Actor_Property_HEIGHT_RESIZE_POLICY_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_SIZE_SCALE_POLICY_get")]
+  public static extern int Actor_Property_SIZE_SCALE_POLICY_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_WIDTH_FOR_HEIGHT_get")]
+  public static extern int Actor_Property_WIDTH_FOR_HEIGHT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_HEIGHT_FOR_WIDTH_get")]
+  public static extern int Actor_Property_HEIGHT_FOR_WIDTH_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_PADDING_get")]
+  public static extern int Actor_Property_PADDING_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_MINIMUM_SIZE_get")]
+  public static extern int Actor_Property_MINIMUM_SIZE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_MAXIMUM_SIZE_get")]
+  public static extern int Actor_Property_MAXIMUM_SIZE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_INHERIT_POSITION_get")]
+  public static extern int Actor_Property_INHERIT_POSITION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Property_CLIPPING_MODE_get")]
+  public static extern int Actor_Property_CLIPPING_MODE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Actor_Property")]
+  public static extern global::System.IntPtr new_Actor_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Actor_Property")]
+  public static extern void delete_Actor_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Actor__SWIG_0")]
+  public static extern global::System.IntPtr new_Actor__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_New")]
+  public static extern global::System.IntPtr Actor_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_DownCast")]
+  public static extern global::System.IntPtr Actor_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Actor")]
+  public static extern void delete_Actor(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Actor__SWIG_1")]
+  public static extern global::System.IntPtr new_Actor__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Assign")]
+  public static extern global::System.IntPtr Actor_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetName")]
+  public static extern string Actor_GetName(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetName")]
+  public static extern void Actor_SetName(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetId")]
+  public static extern uint Actor_GetId(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_IsRoot")]
+  public static extern bool Actor_IsRoot(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_OnStage")]
+  public static extern bool Actor_OnStage(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_IsLayer")]
+  public static extern bool Actor_IsLayer(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetLayer")]
+  public static extern global::System.IntPtr Actor_GetLayer(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Add")]
+  public static extern void Actor_Add(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Remove")]
+  public static extern void Actor_Remove(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_Unparent")]
+  public static extern void Actor_Unparent(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetChildCount")]
+  public static extern uint Actor_GetChildCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetChildAt")]
+  public static extern global::System.IntPtr Actor_GetChildAt(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_FindChildByName")]
+  public static extern global::System.IntPtr Actor_FindChildByName(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_FindChildById")]
+  public static extern global::System.IntPtr Actor_FindChildById(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetParent")]
+  public static extern global::System.IntPtr Actor_GetParent(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetParentOrigin")]
+  public static extern void Actor_SetParentOrigin(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetCurrentParentOrigin")]
+  public static extern global::System.IntPtr Actor_GetCurrentParentOrigin(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetAnchorPoint")]
+  public static extern void Actor_SetAnchorPoint(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetCurrentAnchorPoint")]
+  public static extern global::System.IntPtr Actor_GetCurrentAnchorPoint(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetSize__SWIG_0")]
+  public static extern void Actor_SetSize__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetSize__SWIG_1")]
+  public static extern void Actor_SetSize__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3, float jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetSize__SWIG_2")]
+  public static extern void Actor_SetSize__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetSize__SWIG_3")]
+  public static extern void Actor_SetSize__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetTargetSize")]
+  public static extern global::System.IntPtr Actor_GetTargetSize(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetCurrentSize")]
+  public static extern global::System.IntPtr Actor_GetCurrentSize(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetNaturalSize")]
+  public static extern global::System.IntPtr Actor_GetNaturalSize(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetPosition__SWIG_0")]
+  public static extern void Actor_SetPosition__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetPosition__SWIG_1")]
+  public static extern void Actor_SetPosition__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3, float jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetPosition__SWIG_2")]
+  public static extern void Actor_SetPosition__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetX")]
+  public static extern void Actor_SetX(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetY")]
+  public static extern void Actor_SetY(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetZ")]
+  public static extern void Actor_SetZ(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_TranslateBy")]
+  public static extern void Actor_TranslateBy(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetCurrentPosition")]
+  public static extern global::System.IntPtr Actor_GetCurrentPosition(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetCurrentWorldPosition")]
+  public static extern global::System.IntPtr Actor_GetCurrentWorldPosition(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetInheritPosition")]
+  public static extern void Actor_SetInheritPosition(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetPositionInheritanceMode")]
+  public static extern int Actor_GetPositionInheritanceMode(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_IsPositionInherited")]
+  public static extern bool Actor_IsPositionInherited(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetOrientation__SWIG_0")]
+  public static extern void Actor_SetOrientation__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetOrientation__SWIG_1")]
+  public static extern void Actor_SetOrientation__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetOrientation__SWIG_2")]
+  public static extern void Actor_SetOrientation__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_RotateBy__SWIG_0")]
+  public static extern void Actor_RotateBy__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_RotateBy__SWIG_1")]
+  public static extern void Actor_RotateBy__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_RotateBy__SWIG_2")]
+  public static extern void Actor_RotateBy__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetCurrentOrientation")]
+  public static extern global::System.IntPtr Actor_GetCurrentOrientation(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetInheritOrientation")]
+  public static extern void Actor_SetInheritOrientation(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_IsOrientationInherited")]
+  public static extern bool Actor_IsOrientationInherited(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetCurrentWorldOrientation")]
+  public static extern global::System.IntPtr Actor_GetCurrentWorldOrientation(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetScale__SWIG_0")]
+  public static extern void Actor_SetScale__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetScale__SWIG_1")]
+  public static extern void Actor_SetScale__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3, float jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetScale__SWIG_2")]
+  public static extern void Actor_SetScale__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_ScaleBy")]
+  public static extern void Actor_ScaleBy(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetCurrentScale")]
+  public static extern global::System.IntPtr Actor_GetCurrentScale(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetCurrentWorldScale")]
+  public static extern global::System.IntPtr Actor_GetCurrentWorldScale(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetInheritScale")]
+  public static extern void Actor_SetInheritScale(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_IsScaleInherited")]
+  public static extern bool Actor_IsScaleInherited(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetCurrentWorldMatrix")]
+  public static extern global::System.IntPtr Actor_GetCurrentWorldMatrix(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetVisible")]
+  public static extern void Actor_SetVisible(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_IsVisible")]
+  public static extern bool Actor_IsVisible(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetOpacity")]
+  public static extern void Actor_SetOpacity(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetCurrentOpacity")]
+  public static extern float Actor_GetCurrentOpacity(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetColor")]
+  public static extern void Actor_SetColor(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetCurrentColor")]
+  public static extern global::System.IntPtr Actor_GetCurrentColor(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetColorMode")]
+  public static extern void Actor_SetColorMode(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetColorMode")]
+  public static extern int Actor_GetColorMode(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetCurrentWorldColor")]
+  public static extern global::System.IntPtr Actor_GetCurrentWorldColor(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetDrawMode")]
+  public static extern void Actor_SetDrawMode(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetDrawMode")]
+  public static extern int Actor_GetDrawMode(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetSensitive")]
+  public static extern void Actor_SetSensitive(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_IsSensitive")]
+  public static extern bool Actor_IsSensitive(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_ScreenToLocal")]
+  public static extern bool Actor_ScreenToLocal(global::System.Runtime.InteropServices.HandleRef jarg1, out float jarg2, out float jarg3, float jarg4, float jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetLeaveRequired")]
+  public static extern void Actor_SetLeaveRequired(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetLeaveRequired")]
+  public static extern bool Actor_GetLeaveRequired(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetKeyboardFocusable")]
+  public static extern void Actor_SetKeyboardFocusable(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_IsKeyboardFocusable")]
+  public static extern bool Actor_IsKeyboardFocusable(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetResizePolicy")]
+  public static extern void Actor_SetResizePolicy(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetResizePolicy")]
+  public static extern int Actor_GetResizePolicy(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetSizeScalePolicy")]
+  public static extern void Actor_SetSizeScalePolicy(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetSizeScalePolicy")]
+  public static extern int Actor_GetSizeScalePolicy(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetSizeModeFactor")]
+  public static extern void Actor_SetSizeModeFactor(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetSizeModeFactor")]
+  public static extern global::System.IntPtr Actor_GetSizeModeFactor(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetHeightForWidth")]
+  public static extern float Actor_GetHeightForWidth(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetWidthForHeight")]
+  public static extern float Actor_GetWidthForHeight(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetRelayoutSize")]
+  public static extern float Actor_GetRelayoutSize(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetPadding")]
+  public static extern void Actor_SetPadding(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetPadding")]
+  public static extern void Actor_GetPadding(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetMinimumSize")]
+  public static extern void Actor_SetMinimumSize(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetMinimumSize")]
+  public static extern global::System.IntPtr Actor_GetMinimumSize(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SetMaximumSize")]
+  public static extern void Actor_SetMaximumSize(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetMaximumSize")]
+  public static extern global::System.IntPtr Actor_GetMaximumSize(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetHierarchyDepth")]
+  public static extern int Actor_GetHierarchyDepth(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_AddRenderer")]
+  public static extern uint Actor_AddRenderer(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetRendererCount")]
+  public static extern uint Actor_GetRendererCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_GetRendererAt")]
+  public static extern global::System.IntPtr Actor_GetRendererAt(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_RemoveRenderer__SWIG_0")]
+  public static extern void Actor_RemoveRenderer__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_RemoveRenderer__SWIG_1")]
+  public static extern void Actor_RemoveRenderer__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_TouchedSignal")]
+  public static extern global::System.IntPtr Actor_TouchedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_TouchSignal")]
+  public static extern global::System.IntPtr Actor_TouchSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_HoveredSignal")]
+  public static extern global::System.IntPtr Actor_HoveredSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_WheelEventSignal")]
+  public static extern global::System.IntPtr Actor_WheelEventSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_OnStageSignal")]
+  public static extern global::System.IntPtr Actor_OnStageSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_OffStageSignal")]
+  public static extern global::System.IntPtr Actor_OffStageSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_OnRelayoutSignal")]
+  public static extern global::System.IntPtr Actor_OnRelayoutSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_UnparentAndReset")]
+  public static extern void UnparentAndReset(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Raise")]
+  public static extern void Raise(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Lower")]
+  public static extern void Lower(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RaiseToTop")]
+  public static extern void RaiseToTop(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LowerToBottom")]
+  public static extern void LowerToBottom(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RaiseAbove")]
+  public static extern void RaiseAbove(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LowerBelow")]
+  public static extern void LowerBelow(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_Property_CLIPPING_ENABLE_get")]
+  public static extern int Layer_Property_CLIPPING_ENABLE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_Property_CLIPPING_BOX_get")]
+  public static extern int Layer_Property_CLIPPING_BOX_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_Property_BEHAVIOR_get")]
+  public static extern int Layer_Property_BEHAVIOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Layer_Property")]
+  public static extern global::System.IntPtr new_Layer_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Layer_Property")]
+  public static extern void delete_Layer_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Layer__SWIG_0")]
+  public static extern global::System.IntPtr new_Layer__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_New")]
+  public static extern global::System.IntPtr Layer_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_DownCast")]
+  public static extern global::System.IntPtr Layer_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Layer")]
+  public static extern void delete_Layer(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Layer__SWIG_1")]
+  public static extern global::System.IntPtr new_Layer__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_Assign")]
+  public static extern global::System.IntPtr Layer_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_GetDepth")]
+  public static extern uint Layer_GetDepth(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_Raise")]
+  public static extern void Layer_Raise(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_Lower")]
+  public static extern void Layer_Lower(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_RaiseAbove")]
+  public static extern void Layer_RaiseAbove(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_LowerBelow")]
+  public static extern void Layer_LowerBelow(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_RaiseToTop")]
+  public static extern void Layer_RaiseToTop(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_LowerToBottom")]
+  public static extern void Layer_LowerToBottom(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_MoveAbove")]
+  public static extern void Layer_MoveAbove(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_MoveBelow")]
+  public static extern void Layer_MoveBelow(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_SetBehavior")]
+  public static extern void Layer_SetBehavior(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_GetBehavior")]
+  public static extern int Layer_GetBehavior(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_SetClipping")]
+  public static extern void Layer_SetClipping(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_IsClipping")]
+  public static extern bool Layer_IsClipping(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_SetClippingBox__SWIG_0")]
+  public static extern void Layer_SetClippingBox__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3, int jarg4, int jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_SetClippingBox__SWIG_1")]
+  public static extern void Layer_SetClippingBox__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_GetClippingBox")]
+  public static extern global::System.IntPtr Layer_GetClippingBox(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_SetDepthTestDisabled")]
+  public static extern void Layer_SetDepthTestDisabled(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_IsDepthTestDisabled")]
+  public static extern bool Layer_IsDepthTestDisabled(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_SetSortFunction")]
+  public static extern void Layer_SetSortFunction(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_SetTouchConsumed")]
+  public static extern void Layer_SetTouchConsumed(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_IsTouchConsumed")]
+  public static extern bool Layer_IsTouchConsumed(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_SetHoverConsumed")]
+  public static extern void Layer_SetHoverConsumed(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_IsHoverConsumed")]
+  public static extern bool Layer_IsHoverConsumed(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_DEFAULT_BACKGROUND_COLOR_get")]
+  public static extern global::System.IntPtr Stage_DEFAULT_BACKGROUND_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_DEBUG_BACKGROUND_COLOR_get")]
+  public static extern global::System.IntPtr Stage_DEBUG_BACKGROUND_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Stage__SWIG_0")]
+  public static extern global::System.IntPtr new_Stage__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_GetCurrent")]
+  public static extern global::System.IntPtr Stage_GetCurrent();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_IsInstalled")]
+  public static extern bool Stage_IsInstalled();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Stage")]
+  public static extern void delete_Stage(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Stage__SWIG_1")]
+  public static extern global::System.IntPtr new_Stage__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_Assign")]
+  public static extern global::System.IntPtr Stage_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_Add")]
+  public static extern void Stage_Add(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_Remove")]
+  public static extern void Stage_Remove(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_GetSize")]
+  public static extern global::System.IntPtr Stage_GetSize(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_GetRenderTaskList")]
+  public static extern global::System.IntPtr Stage_GetRenderTaskList(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_GetLayerCount")]
+  public static extern uint Stage_GetLayerCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_GetLayer")]
+  public static extern global::System.IntPtr Stage_GetLayer(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_GetRootLayer")]
+  public static extern global::System.IntPtr Stage_GetRootLayer(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_SetBackgroundColor")]
+  public static extern void Stage_SetBackgroundColor(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_GetBackgroundColor")]
+  public static extern global::System.IntPtr Stage_GetBackgroundColor(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_GetDpi")]
+  public static extern global::System.IntPtr Stage_GetDpi(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_GetObjectRegistry")]
+  public static extern global::System.IntPtr Stage_GetObjectRegistry(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_KeepRendering")]
+  public static extern void Stage_KeepRendering(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_KeyEventSignal")]
+  public static extern global::System.IntPtr Stage_KeyEventSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_EventProcessingFinishedSignal")]
+  public static extern global::System.IntPtr Stage_EventProcessingFinishedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_TouchSignal")]
+  public static extern global::System.IntPtr Stage_TouchSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_WheelEventSignal")]
+  public static extern global::System.IntPtr Stage_WheelEventSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_ContextLostSignal")]
+  public static extern global::System.IntPtr Stage_ContextLostSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_ContextRegainedSignal")]
+  public static extern global::System.IntPtr Stage_ContextRegainedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_SceneCreatedSignal")]
+  public static extern global::System.IntPtr Stage_SceneCreatedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_RelayoutContainer")]
+  public static extern void delete_RelayoutContainer(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RelayoutContainer_Add")]
+  public static extern void RelayoutContainer_Add(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_Self")]
+  public static extern global::System.IntPtr CustomActorImpl_Self(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_OnStageConnection")]
+  public static extern void CustomActorImpl_OnStageConnection(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_OnStageDisconnection")]
+  public static extern void CustomActorImpl_OnStageDisconnection(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_OnChildAdd")]
+  public static extern void CustomActorImpl_OnChildAdd(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_OnChildRemove")]
+  public static extern void CustomActorImpl_OnChildRemove(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_OnPropertySet")]
+  public static extern void CustomActorImpl_OnPropertySet(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_OnSizeSet")]
+  public static extern void CustomActorImpl_OnSizeSet(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_OnSizeAnimation")]
+  public static extern void CustomActorImpl_OnSizeAnimation(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_OnTouchEvent")]
+  public static extern bool CustomActorImpl_OnTouchEvent(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_OnHoverEvent")]
+  public static extern bool CustomActorImpl_OnHoverEvent(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_OnKeyEvent")]
+  public static extern bool CustomActorImpl_OnKeyEvent(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_OnWheelEvent")]
+  public static extern bool CustomActorImpl_OnWheelEvent(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_OnRelayout")]
+  public static extern void CustomActorImpl_OnRelayout(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_OnSetResizePolicy")]
+  public static extern void CustomActorImpl_OnSetResizePolicy(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_GetNaturalSize")]
+  public static extern global::System.IntPtr CustomActorImpl_GetNaturalSize(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_CalculateChildSize")]
+  public static extern float CustomActorImpl_CalculateChildSize(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_GetHeightForWidth")]
+  public static extern float CustomActorImpl_GetHeightForWidth(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_GetWidthForHeight")]
+  public static extern float CustomActorImpl_GetWidthForHeight(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_RelayoutDependentOnChildren__SWIG_0")]
+  public static extern bool CustomActorImpl_RelayoutDependentOnChildren__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_RelayoutDependentOnChildren__SWIG_1")]
+  public static extern bool CustomActorImpl_RelayoutDependentOnChildren__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_OnCalculateRelayoutSize")]
+  public static extern void CustomActorImpl_OnCalculateRelayoutSize(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_OnLayoutNegotiated")]
+  public static extern void CustomActorImpl_OnLayoutNegotiated(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_RequiresTouchEvents")]
+  public static extern bool CustomActorImpl_RequiresTouchEvents(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_RequiresHoverEvents")]
+  public static extern bool CustomActorImpl_RequiresHoverEvents(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_RequiresWheelEvents")]
+  public static extern bool CustomActorImpl_RequiresWheelEvents(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_IsRelayoutEnabled")]
+  public static extern bool CustomActorImpl_IsRelayoutEnabled(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_CustomActor__SWIG_0")]
+  public static extern global::System.IntPtr new_CustomActor__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActor_DownCast")]
+  public static extern global::System.IntPtr CustomActor_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_CustomActor")]
+  public static extern void delete_CustomActor(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActor_GetImplementation")]
+  public static extern global::System.IntPtr CustomActor_GetImplementation(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_CustomActor__SWIG_1")]
+  public static extern global::System.IntPtr new_CustomActor__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_CustomActor__SWIG_2")]
+  public static extern global::System.IntPtr new_CustomActor__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActor_Assign")]
+  public static extern global::System.IntPtr CustomActor_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_Property_SCREEN_POSITION_get")]
+  public static extern int PanGestureDetector_Property_SCREEN_POSITION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_Property_SCREEN_DISPLACEMENT_get")]
+  public static extern int PanGestureDetector_Property_SCREEN_DISPLACEMENT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_Property_SCREEN_VELOCITY_get")]
+  public static extern int PanGestureDetector_Property_SCREEN_VELOCITY_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_Property_LOCAL_POSITION_get")]
+  public static extern int PanGestureDetector_Property_LOCAL_POSITION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_Property_LOCAL_DISPLACEMENT_get")]
+  public static extern int PanGestureDetector_Property_LOCAL_DISPLACEMENT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_Property_LOCAL_VELOCITY_get")]
+  public static extern int PanGestureDetector_Property_LOCAL_VELOCITY_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_Property_PANNING_get")]
+  public static extern int PanGestureDetector_Property_PANNING_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PanGestureDetector_Property")]
+  public static extern global::System.IntPtr new_PanGestureDetector_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PanGestureDetector_Property")]
+  public static extern void delete_PanGestureDetector_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_DIRECTION_LEFT_get")]
+  public static extern global::System.IntPtr PanGestureDetector_DIRECTION_LEFT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_DIRECTION_RIGHT_get")]
+  public static extern global::System.IntPtr PanGestureDetector_DIRECTION_RIGHT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_DIRECTION_UP_get")]
+  public static extern global::System.IntPtr PanGestureDetector_DIRECTION_UP_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_DIRECTION_DOWN_get")]
+  public static extern global::System.IntPtr PanGestureDetector_DIRECTION_DOWN_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_DIRECTION_HORIZONTAL_get")]
+  public static extern global::System.IntPtr PanGestureDetector_DIRECTION_HORIZONTAL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_DIRECTION_VERTICAL_get")]
+  public static extern global::System.IntPtr PanGestureDetector_DIRECTION_VERTICAL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_DEFAULT_THRESHOLD_get")]
+  public static extern global::System.IntPtr PanGestureDetector_DEFAULT_THRESHOLD_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PanGestureDetector__SWIG_0")]
+  public static extern global::System.IntPtr new_PanGestureDetector__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_New")]
+  public static extern global::System.IntPtr PanGestureDetector_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_DownCast")]
+  public static extern global::System.IntPtr PanGestureDetector_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PanGestureDetector")]
+  public static extern void delete_PanGestureDetector(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PanGestureDetector__SWIG_1")]
+  public static extern global::System.IntPtr new_PanGestureDetector__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_Assign")]
+  public static extern global::System.IntPtr PanGestureDetector_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_SetMinimumTouchesRequired")]
+  public static extern void PanGestureDetector_SetMinimumTouchesRequired(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_SetMaximumTouchesRequired")]
+  public static extern void PanGestureDetector_SetMaximumTouchesRequired(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_GetMinimumTouchesRequired")]
+  public static extern uint PanGestureDetector_GetMinimumTouchesRequired(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_GetMaximumTouchesRequired")]
+  public static extern uint PanGestureDetector_GetMaximumTouchesRequired(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_AddAngle__SWIG_0")]
+  public static extern void PanGestureDetector_AddAngle__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_AddAngle__SWIG_1")]
+  public static extern void PanGestureDetector_AddAngle__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_AddDirection__SWIG_0")]
+  public static extern void PanGestureDetector_AddDirection__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_AddDirection__SWIG_1")]
+  public static extern void PanGestureDetector_AddDirection__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_GetAngleCount")]
+  public static extern uint PanGestureDetector_GetAngleCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_GetAngle")]
+  public static extern global::System.IntPtr PanGestureDetector_GetAngle(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_ClearAngles")]
+  public static extern void PanGestureDetector_ClearAngles(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_RemoveAngle")]
+  public static extern void PanGestureDetector_RemoveAngle(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_RemoveDirection")]
+  public static extern void PanGestureDetector_RemoveDirection(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_DetectedSignal")]
+  public static extern global::System.IntPtr PanGestureDetector_DetectedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_SetPanGestureProperties")]
+  public static extern void PanGestureDetector_SetPanGestureProperties(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PanGesture__SWIG_0")]
+  public static extern global::System.IntPtr new_PanGesture__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PanGesture__SWIG_1")]
+  public static extern global::System.IntPtr new_PanGesture__SWIG_1(int jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PanGesture__SWIG_2")]
+  public static extern global::System.IntPtr new_PanGesture__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGesture_Assign")]
+  public static extern global::System.IntPtr PanGesture_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PanGesture")]
+  public static extern void delete_PanGesture(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGesture_velocity_set")]
+  public static extern void PanGesture_velocity_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGesture_velocity_get")]
+  public static extern global::System.IntPtr PanGesture_velocity_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGesture_displacement_set")]
+  public static extern void PanGesture_displacement_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGesture_displacement_get")]
+  public static extern global::System.IntPtr PanGesture_displacement_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGesture_position_set")]
+  public static extern void PanGesture_position_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGesture_position_get")]
+  public static extern global::System.IntPtr PanGesture_position_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGesture_screenVelocity_set")]
+  public static extern void PanGesture_screenVelocity_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGesture_screenVelocity_get")]
+  public static extern global::System.IntPtr PanGesture_screenVelocity_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGesture_screenDisplacement_set")]
+  public static extern void PanGesture_screenDisplacement_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGesture_screenDisplacement_get")]
+  public static extern global::System.IntPtr PanGesture_screenDisplacement_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGesture_screenPosition_set")]
+  public static extern void PanGesture_screenPosition_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGesture_screenPosition_get")]
+  public static extern global::System.IntPtr PanGesture_screenPosition_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGesture_numberOfTouches_set")]
+  public static extern void PanGesture_numberOfTouches_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGesture_numberOfTouches_get")]
+  public static extern uint PanGesture_numberOfTouches_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGesture_GetSpeed")]
+  public static extern float PanGesture_GetSpeed(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGesture_GetDistance")]
+  public static extern float PanGesture_GetDistance(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGesture_GetScreenSpeed")]
+  public static extern float PanGesture_GetScreenSpeed(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGesture_GetScreenDistance")]
+  public static extern float PanGesture_GetScreenDistance(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PinchGestureDetector__SWIG_0")]
+  public static extern global::System.IntPtr new_PinchGestureDetector__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PinchGestureDetector_New")]
+  public static extern global::System.IntPtr PinchGestureDetector_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PinchGestureDetector_DownCast")]
+  public static extern global::System.IntPtr PinchGestureDetector_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PinchGestureDetector")]
+  public static extern void delete_PinchGestureDetector(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PinchGestureDetector__SWIG_1")]
+  public static extern global::System.IntPtr new_PinchGestureDetector__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PinchGestureDetector_Assign")]
+  public static extern global::System.IntPtr PinchGestureDetector_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PinchGestureDetector_DetectedSignal")]
+  public static extern global::System.IntPtr PinchGestureDetector_DetectedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PinchGesture__SWIG_0")]
+  public static extern global::System.IntPtr new_PinchGesture__SWIG_0(int jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PinchGesture__SWIG_1")]
+  public static extern global::System.IntPtr new_PinchGesture__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PinchGesture_Assign")]
+  public static extern global::System.IntPtr PinchGesture_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PinchGesture")]
+  public static extern void delete_PinchGesture(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PinchGesture_scale_set")]
+  public static extern void PinchGesture_scale_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PinchGesture_scale_get")]
+  public static extern float PinchGesture_scale_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PinchGesture_speed_set")]
+  public static extern void PinchGesture_speed_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PinchGesture_speed_get")]
+  public static extern float PinchGesture_speed_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PinchGesture_screenCenterPoint_set")]
+  public static extern void PinchGesture_screenCenterPoint_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PinchGesture_screenCenterPoint_get")]
+  public static extern global::System.IntPtr PinchGesture_screenCenterPoint_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PinchGesture_localCenterPoint_set")]
+  public static extern void PinchGesture_localCenterPoint_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PinchGesture_localCenterPoint_get")]
+  public static extern global::System.IntPtr PinchGesture_localCenterPoint_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TapGestureDetector__SWIG_0")]
+  public static extern global::System.IntPtr new_TapGestureDetector__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGestureDetector_New__SWIG_0")]
+  public static extern global::System.IntPtr TapGestureDetector_New__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGestureDetector_New__SWIG_1")]
+  public static extern global::System.IntPtr TapGestureDetector_New__SWIG_1(uint jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGestureDetector_DownCast")]
+  public static extern global::System.IntPtr TapGestureDetector_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TapGestureDetector")]
+  public static extern void delete_TapGestureDetector(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TapGestureDetector__SWIG_1")]
+  public static extern global::System.IntPtr new_TapGestureDetector__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGestureDetector_Assign")]
+  public static extern global::System.IntPtr TapGestureDetector_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGestureDetector_SetMinimumTapsRequired")]
+  public static extern void TapGestureDetector_SetMinimumTapsRequired(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGestureDetector_SetMaximumTapsRequired")]
+  public static extern void TapGestureDetector_SetMaximumTapsRequired(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGestureDetector_GetMinimumTapsRequired")]
+  public static extern uint TapGestureDetector_GetMinimumTapsRequired(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGestureDetector_GetMaximumTapsRequired")]
+  public static extern uint TapGestureDetector_GetMaximumTapsRequired(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGestureDetector_DetectedSignal")]
+  public static extern global::System.IntPtr TapGestureDetector_DetectedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TapGesture__SWIG_0")]
+  public static extern global::System.IntPtr new_TapGesture__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TapGesture__SWIG_1")]
+  public static extern global::System.IntPtr new_TapGesture__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGesture_Assign")]
+  public static extern global::System.IntPtr TapGesture_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TapGesture")]
+  public static extern void delete_TapGesture(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGesture_numberOfTaps_set")]
+  public static extern void TapGesture_numberOfTaps_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGesture_numberOfTaps_get")]
+  public static extern uint TapGesture_numberOfTaps_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGesture_numberOfTouches_set")]
+  public static extern void TapGesture_numberOfTouches_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGesture_numberOfTouches_get")]
+  public static extern uint TapGesture_numberOfTouches_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGesture_screenPoint_set")]
+  public static extern void TapGesture_screenPoint_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGesture_screenPoint_get")]
+  public static extern global::System.IntPtr TapGesture_screenPoint_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGesture_localPoint_set")]
+  public static extern void TapGesture_localPoint_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGesture_localPoint_get")]
+  public static extern global::System.IntPtr TapGesture_localPoint_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_AlphaFunction__SWIG_0")]
+  public static extern global::System.IntPtr new_AlphaFunction__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_AlphaFunction__SWIG_1")]
+  public static extern global::System.IntPtr new_AlphaFunction__SWIG_1(int jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_AlphaFunction__SWIG_2")]
+  public static extern global::System.IntPtr new_AlphaFunction__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_AlphaFunction__SWIG_3")]
+  public static extern global::System.IntPtr new_AlphaFunction__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AlphaFunction_GetBezierControlPoints")]
+  public static extern global::System.IntPtr AlphaFunction_GetBezierControlPoints(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AlphaFunction_GetCustomFunction")]
+  public static extern global::System.IntPtr AlphaFunction_GetCustomFunction(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AlphaFunction_GetBuiltinFunction")]
+  public static extern int AlphaFunction_GetBuiltinFunction(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AlphaFunction_GetMode")]
+  public static extern int AlphaFunction_GetMode(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_AlphaFunction")]
+  public static extern void delete_AlphaFunction(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_KeyFrames_New")]
+  public static extern global::System.IntPtr KeyFrames_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_KeyFrames_DownCast")]
+  public static extern global::System.IntPtr KeyFrames_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_KeyFrames__SWIG_0")]
+  public static extern global::System.IntPtr new_KeyFrames__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_KeyFrames")]
+  public static extern void delete_KeyFrames(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_KeyFrames__SWIG_1")]
+  public static extern global::System.IntPtr new_KeyFrames__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_KeyFrames_Assign")]
+  public static extern global::System.IntPtr KeyFrames_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_KeyFrames_GetType")]
+  public static extern int KeyFrames_GetType(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_KeyFrames_Add__SWIG_0")]
+  public static extern void KeyFrames_Add__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_KeyFrames_Add__SWIG_1")]
+  public static extern void KeyFrames_Add__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Path_Property_POINTS_get")]
+  public static extern int Path_Property_POINTS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Path_Property_CONTROL_POINTS_get")]
+  public static extern int Path_Property_CONTROL_POINTS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Path_Property")]
+  public static extern global::System.IntPtr new_Path_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Path_Property")]
+  public static extern void delete_Path_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Path_New")]
+  public static extern global::System.IntPtr Path_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Path_DownCast")]
+  public static extern global::System.IntPtr Path_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Path__SWIG_0")]
+  public static extern global::System.IntPtr new_Path__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Path")]
+  public static extern void delete_Path(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Path__SWIG_1")]
+  public static extern global::System.IntPtr new_Path__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Path_Assign")]
+  public static extern global::System.IntPtr Path_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Path_AddPoint")]
+  public static extern void Path_AddPoint(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Path_AddControlPoint")]
+  public static extern void Path_AddControlPoint(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Path_GenerateControlPoints")]
+  public static extern void Path_GenerateControlPoints(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Path_Sample")]
+  public static extern void Path_Sample(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Path_GetPoint")]
+  public static extern global::System.IntPtr Path_GetPoint(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Path_GetControlPoint")]
+  public static extern global::System.IntPtr Path_GetControlPoint(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Path_GetPointCount")]
+  public static extern uint Path_GetPointCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TimePeriod__SWIG_0")]
+  public static extern global::System.IntPtr new_TimePeriod__SWIG_0(float jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TimePeriod__SWIG_1")]
+  public static extern global::System.IntPtr new_TimePeriod__SWIG_1(float jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TimePeriod")]
+  public static extern void delete_TimePeriod(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TimePeriod_delaySeconds_set")]
+  public static extern void TimePeriod_delaySeconds_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TimePeriod_delaySeconds_get")]
+  public static extern float TimePeriod_delaySeconds_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TimePeriod_durationSeconds_set")]
+  public static extern void TimePeriod_durationSeconds_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TimePeriod_durationSeconds_get")]
+  public static extern float TimePeriod_durationSeconds_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Animation__SWIG_0")]
+  public static extern global::System.IntPtr new_Animation__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_New")]
+  public static extern global::System.IntPtr Animation_New(float jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_DownCast")]
+  public static extern global::System.IntPtr Animation_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Animation")]
+  public static extern void delete_Animation(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Animation__SWIG_1")]
+  public static extern global::System.IntPtr new_Animation__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_Assign")]
+  public static extern global::System.IntPtr Animation_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_SetDuration")]
+  public static extern void Animation_SetDuration(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_GetDuration")]
+  public static extern float Animation_GetDuration(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_SetLooping")]
+  public static extern void Animation_SetLooping(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_SetLoopCount")]
+  public static extern void Animation_SetLoopCount(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_GetLoopCount")]
+  public static extern int Animation_GetLoopCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_GetCurrentLoop")]
+  public static extern int Animation_GetCurrentLoop(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_IsLooping")]
+  public static extern bool Animation_IsLooping(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_SetEndAction")]
+  public static extern void Animation_SetEndAction(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_GetEndAction")]
+  public static extern int Animation_GetEndAction(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_SetDisconnectAction")]
+  public static extern void Animation_SetDisconnectAction(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_GetDisconnectAction")]
+  public static extern int Animation_GetDisconnectAction(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_SetDefaultAlphaFunction")]
+  public static extern void Animation_SetDefaultAlphaFunction(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_GetDefaultAlphaFunction")]
+  public static extern global::System.IntPtr Animation_GetDefaultAlphaFunction(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_SetCurrentProgress")]
+  public static extern void Animation_SetCurrentProgress(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_GetCurrentProgress")]
+  public static extern float Animation_GetCurrentProgress(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_SetSpeedFactor")]
+  public static extern void Animation_SetSpeedFactor(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_GetSpeedFactor")]
+  public static extern float Animation_GetSpeedFactor(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_SetPlayRange")]
+  public static extern void Animation_SetPlayRange(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_GetPlayRange")]
+  public static extern global::System.IntPtr Animation_GetPlayRange(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_Play")]
+  public static extern void Animation_Play(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_PlayFrom")]
+  public static extern void Animation_PlayFrom(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_Pause")]
+  public static extern void Animation_Pause(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_GetState")]
+  public static extern int Animation_GetState(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_Stop")]
+  public static extern void Animation_Stop(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_Clear")]
+  public static extern void Animation_Clear(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_FinishedSignal")]
+  public static extern global::System.IntPtr Animation_FinishedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_AnimateBy__SWIG_0")]
+  public static extern void Animation_AnimateBy__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_AnimateBy__SWIG_1")]
+  public static extern void Animation_AnimateBy__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_AnimateBy__SWIG_2")]
+  public static extern void Animation_AnimateBy__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_AnimateBy__SWIG_3")]
+  public static extern void Animation_AnimateBy__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_AnimateTo__SWIG_0")]
+  public static extern void Animation_AnimateTo__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_AnimateTo__SWIG_1")]
+  public static extern void Animation_AnimateTo__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_AnimateTo__SWIG_2")]
+  public static extern void Animation_AnimateTo__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_AnimateTo__SWIG_3")]
+  public static extern void Animation_AnimateTo__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_AnimateBetween__SWIG_0")]
+  public static extern void Animation_AnimateBetween__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_AnimateBetween__SWIG_1")]
+  public static extern void Animation_AnimateBetween__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, int jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_AnimateBetween__SWIG_2")]
+  public static extern void Animation_AnimateBetween__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_AnimateBetween__SWIG_3")]
+  public static extern void Animation_AnimateBetween__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, int jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_AnimateBetween__SWIG_4")]
+  public static extern void Animation_AnimateBetween__SWIG_4(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_AnimateBetween__SWIG_5")]
+  public static extern void Animation_AnimateBetween__SWIG_5(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, int jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_AnimateBetween__SWIG_6")]
+  public static extern void Animation_AnimateBetween__SWIG_6(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_AnimateBetween__SWIG_7")]
+  public static extern void Animation_AnimateBetween__SWIG_7(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5, int jarg6);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_Animate__SWIG_0")]
+  public static extern void Animation_Animate__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_Animate__SWIG_1")]
+  public static extern void Animation_Animate__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_Animate__SWIG_2")]
+  public static extern void Animation_Animate__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_Animate__SWIG_3")]
+  public static extern void Animation_Animate__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5, global::System.Runtime.InteropServices.HandleRef jarg6);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_Show")]
+  public static extern void Animation_Show(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_Hide")]
+  public static extern void Animation_Hide(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LinearConstrainer_Property_VALUE_get")]
+  public static extern int LinearConstrainer_Property_VALUE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LinearConstrainer_Property_PROGRESS_get")]
+  public static extern int LinearConstrainer_Property_PROGRESS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_LinearConstrainer_Property")]
+  public static extern global::System.IntPtr new_LinearConstrainer_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_LinearConstrainer_Property")]
+  public static extern void delete_LinearConstrainer_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LinearConstrainer_New")]
+  public static extern global::System.IntPtr LinearConstrainer_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LinearConstrainer_DownCast")]
+  public static extern global::System.IntPtr LinearConstrainer_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_LinearConstrainer__SWIG_0")]
+  public static extern global::System.IntPtr new_LinearConstrainer__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_LinearConstrainer")]
+  public static extern void delete_LinearConstrainer(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_LinearConstrainer__SWIG_1")]
+  public static extern global::System.IntPtr new_LinearConstrainer__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LinearConstrainer_Assign")]
+  public static extern global::System.IntPtr LinearConstrainer_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LinearConstrainer_Apply__SWIG_0")]
+  public static extern void LinearConstrainer_Apply__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LinearConstrainer_Apply__SWIG_1")]
+  public static extern void LinearConstrainer_Apply__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LinearConstrainer_Remove")]
+  public static extern void LinearConstrainer_Remove(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PathConstrainer_Property_FORWARD_get")]
+  public static extern int PathConstrainer_Property_FORWARD_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PathConstrainer_Property_POINTS_get")]
+  public static extern int PathConstrainer_Property_POINTS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PathConstrainer_Property_CONTROL_POINTS_get")]
+  public static extern int PathConstrainer_Property_CONTROL_POINTS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PathConstrainer_Property")]
+  public static extern global::System.IntPtr new_PathConstrainer_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PathConstrainer_Property")]
+  public static extern void delete_PathConstrainer_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PathConstrainer_New")]
+  public static extern global::System.IntPtr PathConstrainer_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PathConstrainer_DownCast")]
+  public static extern global::System.IntPtr PathConstrainer_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PathConstrainer__SWIG_0")]
+  public static extern global::System.IntPtr new_PathConstrainer__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PathConstrainer")]
+  public static extern void delete_PathConstrainer(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PathConstrainer__SWIG_1")]
+  public static extern global::System.IntPtr new_PathConstrainer__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PathConstrainer_Assign")]
+  public static extern global::System.IntPtr PathConstrainer_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PathConstrainer_Apply__SWIG_0")]
+  public static extern void PathConstrainer_Apply__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PathConstrainer_Apply__SWIG_1")]
+  public static extern void PathConstrainer_Apply__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PathConstrainer_Remove")]
+  public static extern void PathConstrainer_Remove(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FittingModeDefault_get")]
+  public static extern int FittingModeDefault_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_DEFAULT_get")]
+  public static extern int DEFAULT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_BufferImage__SWIG_0")]
+  public static extern global::System.IntPtr new_BufferImage__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BufferImage_New__SWIG_0")]
+  public static extern global::System.IntPtr BufferImage_New__SWIG_0(uint jarg1, uint jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BufferImage_New__SWIG_1")]
+  public static extern global::System.IntPtr BufferImage_New__SWIG_1(uint jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BufferImage_New__SWIG_2")]
+  public static extern global::System.IntPtr BufferImage_New__SWIG_2([global::System.Runtime.InteropServices.In, global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.LPArray)]byte[] jarg1, uint jarg2, uint jarg3, int jarg4, uint jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BufferImage_New__SWIG_3")]
+  public static extern global::System.IntPtr BufferImage_New__SWIG_3([global::System.Runtime.InteropServices.In, global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.LPArray)]byte[] jarg1, uint jarg2, uint jarg3, int jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BufferImage_New__SWIG_4")]
+  public static extern global::System.IntPtr BufferImage_New__SWIG_4([global::System.Runtime.InteropServices.In, global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.LPArray)]byte[] jarg1, uint jarg2, uint jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BufferImage_DownCast")]
+  public static extern global::System.IntPtr BufferImage_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_BufferImage")]
+  public static extern void delete_BufferImage(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_BufferImage__SWIG_1")]
+  public static extern global::System.IntPtr new_BufferImage__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BufferImage_Assign")]
+  public static extern global::System.IntPtr BufferImage_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BufferImage_WHITE")]
+  public static extern global::System.IntPtr BufferImage_WHITE();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BufferImage_GetBuffer")]
+  public static extern global::System.IntPtr BufferImage_GetBuffer(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BufferImage_GetBufferSize")]
+  public static extern uint BufferImage_GetBufferSize(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BufferImage_GetBufferStride")]
+  public static extern uint BufferImage_GetBufferStride(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BufferImage_GetPixelFormat")]
+  public static extern int BufferImage_GetPixelFormat(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BufferImage_Update__SWIG_0")]
+  public static extern void BufferImage_Update__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BufferImage_Update__SWIG_1")]
+  public static extern void BufferImage_Update__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BufferImage_IsDataExternal")]
+  public static extern bool BufferImage_IsDataExternal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_EncodedBufferImage__SWIG_0")]
+  public static extern global::System.IntPtr new_EncodedBufferImage__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_EncodedBufferImage_New__SWIG_0")]
+  public static extern global::System.IntPtr EncodedBufferImage_New__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_EncodedBufferImage_New__SWIG_1")]
+  public static extern global::System.IntPtr EncodedBufferImage_New__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, int jarg4, int jarg5, bool jarg6);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_EncodedBufferImage_New__SWIG_2")]
+  public static extern global::System.IntPtr EncodedBufferImage_New__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, int jarg4, int jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_EncodedBufferImage_DownCast")]
+  public static extern global::System.IntPtr EncodedBufferImage_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_EncodedBufferImage")]
+  public static extern void delete_EncodedBufferImage(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_EncodedBufferImage__SWIG_1")]
+  public static extern global::System.IntPtr new_EncodedBufferImage__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_EncodedBufferImage_Assign")]
+  public static extern global::System.IntPtr EncodedBufferImage_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_NativeImage__SWIG_0")]
+  public static extern global::System.IntPtr new_NativeImage__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_NativeImage")]
+  public static extern void delete_NativeImage(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_NativeImage__SWIG_1")]
+  public static extern global::System.IntPtr new_NativeImage__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NativeImage_Assign")]
+  public static extern global::System.IntPtr NativeImage_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NativeImage_CreateGlTexture")]
+  public static extern void NativeImage_CreateGlTexture(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NativeImage_New")]
+  public static extern global::System.IntPtr NativeImage_New(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NativeImage_DownCast")]
+  public static extern global::System.IntPtr NativeImage_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NativeImage_GetCustomFragmentPreFix")]
+  public static extern string NativeImage_GetCustomFragmentPreFix(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NativeImage_GetCustomSamplerTypename")]
+  public static extern string NativeImage_GetCustomSamplerTypename(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NativeImageInterface_GlExtensionCreate")]
+  public static extern bool NativeImageInterface_GlExtensionCreate(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NativeImageInterface_GlExtensionDestroy")]
+  public static extern void NativeImageInterface_GlExtensionDestroy(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NativeImageInterface_TargetTexture")]
+  public static extern uint NativeImageInterface_TargetTexture(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NativeImageInterface_PrepareTexture")]
+  public static extern void NativeImageInterface_PrepareTexture(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NativeImageInterface_GetWidth")]
+  public static extern uint NativeImageInterface_GetWidth(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NativeImageInterface_GetHeight")]
+  public static extern uint NativeImageInterface_GetHeight(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NativeImageInterface_RequiresBlending")]
+  public static extern bool NativeImageInterface_RequiresBlending(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ResourceImage_GetImageSize")]
+  public static extern global::System.IntPtr ResourceImage_GetImageSize(string jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ResourceImage__SWIG_0")]
+  public static extern global::System.IntPtr new_ResourceImage__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ResourceImage")]
+  public static extern void delete_ResourceImage(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ResourceImage__SWIG_1")]
+  public static extern global::System.IntPtr new_ResourceImage__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ResourceImage_Assign")]
+  public static extern global::System.IntPtr ResourceImage_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ResourceImage_New__SWIG_0")]
+  public static extern global::System.IntPtr ResourceImage_New__SWIG_0(string jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ResourceImage_New__SWIG_1")]
+  public static extern global::System.IntPtr ResourceImage_New__SWIG_1(string jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ResourceImage_New__SWIG_2")]
+  public static extern global::System.IntPtr ResourceImage_New__SWIG_2(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3, int jarg4, bool jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ResourceImage_New__SWIG_3")]
+  public static extern global::System.IntPtr ResourceImage_New__SWIG_3(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3, int jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ResourceImage_New__SWIG_4")]
+  public static extern global::System.IntPtr ResourceImage_New__SWIG_4(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ResourceImage_New__SWIG_5")]
+  public static extern global::System.IntPtr ResourceImage_New__SWIG_5(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ResourceImage_DownCast")]
+  public static extern global::System.IntPtr ResourceImage_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ResourceImage_GetLoadingState")]
+  public static extern int ResourceImage_GetLoadingState(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ResourceImage_GetUrl")]
+  public static extern string ResourceImage_GetUrl(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ResourceImage_Reload")]
+  public static extern void ResourceImage_Reload(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ResourceImage_LoadingFinishedSignal")]
+  public static extern global::System.IntPtr ResourceImage_LoadingFinishedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_FrameBufferImage__SWIG_0")]
+  public static extern global::System.IntPtr new_FrameBufferImage__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FrameBufferImage_New__SWIG_0")]
+  public static extern global::System.IntPtr FrameBufferImage_New__SWIG_0(uint jarg1, uint jarg2, int jarg3, int jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FrameBufferImage_New__SWIG_1")]
+  public static extern global::System.IntPtr FrameBufferImage_New__SWIG_1(uint jarg1, uint jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FrameBufferImage_New__SWIG_2")]
+  public static extern global::System.IntPtr FrameBufferImage_New__SWIG_2(uint jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FrameBufferImage_New__SWIG_3")]
+  public static extern global::System.IntPtr FrameBufferImage_New__SWIG_3(uint jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FrameBufferImage_New__SWIG_4")]
+  public static extern global::System.IntPtr FrameBufferImage_New__SWIG_4();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FrameBufferImage_New__SWIG_5")]
+  public static extern global::System.IntPtr FrameBufferImage_New__SWIG_5(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FrameBufferImage_DownCast")]
+  public static extern global::System.IntPtr FrameBufferImage_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_FrameBufferImage")]
+  public static extern void delete_FrameBufferImage(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_FrameBufferImage__SWIG_1")]
+  public static extern global::System.IntPtr new_FrameBufferImage__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FrameBufferImage_Assign")]
+  public static extern global::System.IntPtr FrameBufferImage_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_NinePatchImage__SWIG_0")]
+  public static extern global::System.IntPtr new_NinePatchImage__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NinePatchImage_New")]
+  public static extern global::System.IntPtr NinePatchImage_New(string jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NinePatchImage_DownCast")]
+  public static extern global::System.IntPtr NinePatchImage_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_NinePatchImage")]
+  public static extern void delete_NinePatchImage(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_NinePatchImage__SWIG_1")]
+  public static extern global::System.IntPtr new_NinePatchImage__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NinePatchImage_Assign")]
+  public static extern global::System.IntPtr NinePatchImage_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NinePatchImage_GetStretchBorders")]
+  public static extern global::System.IntPtr NinePatchImage_GetStretchBorders(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NinePatchImage_GetStretchPixelsX")]
+  public static extern global::System.IntPtr NinePatchImage_GetStretchPixelsX(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NinePatchImage_GetStretchPixelsY")]
+  public static extern global::System.IntPtr NinePatchImage_GetStretchPixelsY(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NinePatchImage_GetChildRectangle")]
+  public static extern global::System.IntPtr NinePatchImage_GetChildRectangle(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NinePatchImage_CreateCroppedBufferImage")]
+  public static extern global::System.IntPtr NinePatchImage_CreateCroppedBufferImage(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NinePatchImage_IsNinePatchUrl")]
+  public static extern bool NinePatchImage_IsNinePatchUrl(string jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_Property_TYPE_get")]
+  public static extern int CameraActor_Property_TYPE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_Property_PROJECTION_MODE_get")]
+  public static extern int CameraActor_Property_PROJECTION_MODE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_Property_FIELD_OF_VIEW_get")]
+  public static extern int CameraActor_Property_FIELD_OF_VIEW_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_Property_ASPECT_RATIO_get")]
+  public static extern int CameraActor_Property_ASPECT_RATIO_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_Property_NEAR_PLANE_DISTANCE_get")]
+  public static extern int CameraActor_Property_NEAR_PLANE_DISTANCE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_Property_FAR_PLANE_DISTANCE_get")]
+  public static extern int CameraActor_Property_FAR_PLANE_DISTANCE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_Property_LEFT_PLANE_DISTANCE_get")]
+  public static extern int CameraActor_Property_LEFT_PLANE_DISTANCE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_Property_RIGHT_PLANE_DISTANCE_get")]
+  public static extern int CameraActor_Property_RIGHT_PLANE_DISTANCE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_Property_TOP_PLANE_DISTANCE_get")]
+  public static extern int CameraActor_Property_TOP_PLANE_DISTANCE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_Property_BOTTOM_PLANE_DISTANCE_get")]
+  public static extern int CameraActor_Property_BOTTOM_PLANE_DISTANCE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_Property_TARGET_POSITION_get")]
+  public static extern int CameraActor_Property_TARGET_POSITION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_Property_PROJECTION_MATRIX_get")]
+  public static extern int CameraActor_Property_PROJECTION_MATRIX_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_Property_VIEW_MATRIX_get")]
+  public static extern int CameraActor_Property_VIEW_MATRIX_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_Property_INVERT_Y_AXIS_get")]
+  public static extern int CameraActor_Property_INVERT_Y_AXIS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_CameraActor_Property")]
+  public static extern global::System.IntPtr new_CameraActor_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_CameraActor_Property")]
+  public static extern void delete_CameraActor_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_CameraActor__SWIG_0")]
+  public static extern global::System.IntPtr new_CameraActor__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_New__SWIG_0")]
+  public static extern global::System.IntPtr CameraActor_New__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_New__SWIG_1")]
+  public static extern global::System.IntPtr CameraActor_New__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_DownCast")]
+  public static extern global::System.IntPtr CameraActor_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_CameraActor")]
+  public static extern void delete_CameraActor(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_CameraActor__SWIG_1")]
+  public static extern global::System.IntPtr new_CameraActor__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_Assign")]
+  public static extern global::System.IntPtr CameraActor_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_SetType")]
+  public static extern void CameraActor_SetType(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_GetType")]
+  public static extern int CameraActor_GetType(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_SetProjectionMode")]
+  public static extern void CameraActor_SetProjectionMode(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_GetProjectionMode")]
+  public static extern int CameraActor_GetProjectionMode(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_SetFieldOfView")]
+  public static extern void CameraActor_SetFieldOfView(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_GetFieldOfView")]
+  public static extern float CameraActor_GetFieldOfView(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_SetAspectRatio")]
+  public static extern void CameraActor_SetAspectRatio(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_GetAspectRatio")]
+  public static extern float CameraActor_GetAspectRatio(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_SetNearClippingPlane")]
+  public static extern void CameraActor_SetNearClippingPlane(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_GetNearClippingPlane")]
+  public static extern float CameraActor_GetNearClippingPlane(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_SetFarClippingPlane")]
+  public static extern void CameraActor_SetFarClippingPlane(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_GetFarClippingPlane")]
+  public static extern float CameraActor_GetFarClippingPlane(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_SetTargetPosition")]
+  public static extern void CameraActor_SetTargetPosition(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_GetTargetPosition")]
+  public static extern global::System.IntPtr CameraActor_GetTargetPosition(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_SetInvertYAxis")]
+  public static extern void CameraActor_SetInvertYAxis(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_GetInvertYAxis")]
+  public static extern bool CameraActor_GetInvertYAxis(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_SetPerspectiveProjection")]
+  public static extern void CameraActor_SetPerspectiveProjection(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_SetOrthographicProjection__SWIG_0")]
+  public static extern void CameraActor_SetOrthographicProjection__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_SetOrthographicProjection__SWIG_1")]
+  public static extern void CameraActor_SetOrthographicProjection__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3, float jarg4, float jarg5, float jarg6, float jarg7);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_StringValuePair__SWIG_0")]
+  public static extern global::System.IntPtr new_StringValuePair__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_StringValuePair__SWIG_1")]
+  public static extern global::System.IntPtr new_StringValuePair__SWIG_1(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_StringValuePair__SWIG_2")]
+  public static extern global::System.IntPtr new_StringValuePair__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_StringValuePair_first_set")]
+  public static extern void StringValuePair_first_set(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_StringValuePair_first_get")]
+  public static extern string StringValuePair_first_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_StringValuePair_second_set")]
+  public static extern void StringValuePair_second_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_StringValuePair_second_get")]
+  public static extern global::System.IntPtr StringValuePair_second_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_StringValuePair")]
+  public static extern void delete_StringValuePair(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPointContainer_Clear")]
+  public static extern void TouchPointContainer_Clear(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPointContainer_Add")]
+  public static extern void TouchPointContainer_Add(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPointContainer_size")]
+  public static extern uint TouchPointContainer_size(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPointContainer_capacity")]
+  public static extern uint TouchPointContainer_capacity(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPointContainer_reserve")]
+  public static extern void TouchPointContainer_reserve(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TouchPointContainer__SWIG_0")]
+  public static extern global::System.IntPtr new_TouchPointContainer__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TouchPointContainer__SWIG_1")]
+  public static extern global::System.IntPtr new_TouchPointContainer__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TouchPointContainer__SWIG_2")]
+  public static extern global::System.IntPtr new_TouchPointContainer__SWIG_2(int jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPointContainer_getitemcopy")]
+  public static extern global::System.IntPtr TouchPointContainer_getitemcopy(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPointContainer_getitem")]
+  public static extern global::System.IntPtr TouchPointContainer_getitem(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPointContainer_setitem")]
+  public static extern void TouchPointContainer_setitem(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPointContainer_AddRange")]
+  public static extern void TouchPointContainer_AddRange(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPointContainer_GetRange")]
+  public static extern global::System.IntPtr TouchPointContainer_GetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPointContainer_Insert")]
+  public static extern void TouchPointContainer_Insert(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPointContainer_InsertRange")]
+  public static extern void TouchPointContainer_InsertRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPointContainer_RemoveAt")]
+  public static extern void TouchPointContainer_RemoveAt(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPointContainer_RemoveRange")]
+  public static extern void TouchPointContainer_RemoveRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPointContainer_Repeat")]
+  public static extern global::System.IntPtr TouchPointContainer_Repeat(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPointContainer_Reverse__SWIG_0")]
+  public static extern void TouchPointContainer_Reverse__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPointContainer_Reverse__SWIG_1")]
+  public static extern void TouchPointContainer_Reverse__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchPointContainer_SetRange")]
+  public static extern void TouchPointContainer_SetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TouchPointContainer")]
+  public static extern void delete_TouchPointContainer(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Rectangle__SWIG_0")]
+  public static extern global::System.IntPtr new_Rectangle__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Rectangle__SWIG_1")]
+  public static extern global::System.IntPtr new_Rectangle__SWIG_1(int jarg1, int jarg2, int jarg3, int jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Rectangle__SWIG_2")]
+  public static extern global::System.IntPtr new_Rectangle__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_Assign")]
+  public static extern global::System.IntPtr Rectangle_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_Set")]
+  public static extern void Rectangle_Set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3, int jarg4, int jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_IsEmpty")]
+  public static extern bool Rectangle_IsEmpty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_Left")]
+  public static extern int Rectangle_Left(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_Right")]
+  public static extern int Rectangle_Right(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_Top")]
+  public static extern int Rectangle_Top(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_Bottom")]
+  public static extern int Rectangle_Bottom(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_Area")]
+  public static extern int Rectangle_Area(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_Intersects")]
+  public static extern bool Rectangle_Intersects(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_Contains")]
+  public static extern bool Rectangle_Contains(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_x_set")]
+  public static extern void Rectangle_x_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_x_get")]
+  public static extern int Rectangle_x_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_left_set")]
+  public static extern void Rectangle_left_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_left_get")]
+  public static extern int Rectangle_left_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_y_set")]
+  public static extern void Rectangle_y_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_y_get")]
+  public static extern int Rectangle_y_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_right_set")]
+  public static extern void Rectangle_right_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_right_get")]
+  public static extern int Rectangle_right_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_width_set")]
+  public static extern void Rectangle_width_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_width_get")]
+  public static extern int Rectangle_width_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_bottom_set")]
+  public static extern void Rectangle_bottom_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_bottom_get")]
+  public static extern int Rectangle_bottom_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_height_set")]
+  public static extern void Rectangle_height_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_height_get")]
+  public static extern int Rectangle_height_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_top_set")]
+  public static extern void Rectangle_top_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Rectangle_top_get")]
+  public static extern int Rectangle_top_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Rectangle")]
+  public static extern void delete_Rectangle(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PaddingType__SWIG_0")]
+  public static extern global::System.IntPtr new_PaddingType__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PaddingType__SWIG_1")]
+  public static extern global::System.IntPtr new_PaddingType__SWIG_1(float jarg1, float jarg2, float jarg3, float jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PaddingType__SWIG_2")]
+  public static extern global::System.IntPtr new_PaddingType__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PaddingType_Assign")]
+  public static extern global::System.IntPtr PaddingType_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PaddingType_Set")]
+  public static extern void PaddingType_Set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3, float jarg4, float jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PaddingType_x_set")]
+  public static extern void PaddingType_x_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PaddingType_x_get")]
+  public static extern float PaddingType_x_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PaddingType_left_set")]
+  public static extern void PaddingType_left_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PaddingType_left_get")]
+  public static extern float PaddingType_left_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PaddingType_y_set")]
+  public static extern void PaddingType_y_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PaddingType_y_get")]
+  public static extern float PaddingType_y_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PaddingType_right_set")]
+  public static extern void PaddingType_right_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PaddingType_right_get")]
+  public static extern float PaddingType_right_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PaddingType_width_set")]
+  public static extern void PaddingType_width_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PaddingType_width_get")]
+  public static extern float PaddingType_width_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PaddingType_bottom_set")]
+  public static extern void PaddingType_bottom_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PaddingType_bottom_get")]
+  public static extern float PaddingType_bottom_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PaddingType_height_set")]
+  public static extern void PaddingType_height_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PaddingType_height_get")]
+  public static extern float PaddingType_height_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PaddingType_top_set")]
+  public static extern void PaddingType_top_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PaddingType_top_get")]
+  public static extern float PaddingType_top_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PaddingType")]
+  public static extern void delete_PaddingType(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorInteger_BaseType_get")]
+  public static extern int VectorInteger_BaseType_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_VectorInteger__SWIG_0")]
+  public static extern global::System.IntPtr new_VectorInteger__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_VectorInteger")]
+  public static extern void delete_VectorInteger(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_VectorInteger__SWIG_1")]
+  public static extern global::System.IntPtr new_VectorInteger__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorInteger_Assign")]
+  public static extern global::System.IntPtr VectorInteger_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorInteger_Begin")]
+  public static extern global::System.IntPtr VectorInteger_Begin(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorInteger_End")]
+  public static extern global::System.IntPtr VectorInteger_End(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorInteger_ValueOfIndex__SWIG_0")]
+  public static extern global::System.IntPtr VectorInteger_ValueOfIndex__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorInteger_PushBack")]
+  public static extern void VectorInteger_PushBack(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorInteger_Insert__SWIG_0")]
+  public static extern void VectorInteger_Insert__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorInteger_Insert__SWIG_1")]
+  public static extern void VectorInteger_Insert__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorInteger_Reserve")]
+  public static extern void VectorInteger_Reserve(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorInteger_Resize__SWIG_0")]
+  public static extern void VectorInteger_Resize__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorInteger_Resize__SWIG_1")]
+  public static extern void VectorInteger_Resize__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorInteger_Erase__SWIG_0")]
+  public static extern global::System.IntPtr VectorInteger_Erase__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorInteger_Erase__SWIG_1")]
+  public static extern global::System.IntPtr VectorInteger_Erase__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorInteger_Remove")]
+  public static extern void VectorInteger_Remove(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorInteger_Swap")]
+  public static extern void VectorInteger_Swap(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorInteger_Clear")]
+  public static extern void VectorInteger_Clear(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorInteger_Release")]
+  public static extern void VectorInteger_Release(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorFloat_BaseType_get")]
+  public static extern int VectorFloat_BaseType_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_VectorFloat__SWIG_0")]
+  public static extern global::System.IntPtr new_VectorFloat__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_VectorFloat")]
+  public static extern void delete_VectorFloat(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_VectorFloat__SWIG_1")]
+  public static extern global::System.IntPtr new_VectorFloat__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorFloat_Assign")]
+  public static extern global::System.IntPtr VectorFloat_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorFloat_Begin")]
+  public static extern global::System.IntPtr VectorFloat_Begin(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorFloat_End")]
+  public static extern global::System.IntPtr VectorFloat_End(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorFloat_ValueOfIndex__SWIG_0")]
+  public static extern global::System.IntPtr VectorFloat_ValueOfIndex__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorFloat_PushBack")]
+  public static extern void VectorFloat_PushBack(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorFloat_Insert__SWIG_0")]
+  public static extern void VectorFloat_Insert__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorFloat_Insert__SWIG_1")]
+  public static extern void VectorFloat_Insert__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorFloat_Reserve")]
+  public static extern void VectorFloat_Reserve(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorFloat_Resize__SWIG_0")]
+  public static extern void VectorFloat_Resize__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorFloat_Resize__SWIG_1")]
+  public static extern void VectorFloat_Resize__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorFloat_Erase__SWIG_0")]
+  public static extern global::System.IntPtr VectorFloat_Erase__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorFloat_Erase__SWIG_1")]
+  public static extern global::System.IntPtr VectorFloat_Erase__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorFloat_Remove")]
+  public static extern void VectorFloat_Remove(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorFloat_Swap")]
+  public static extern void VectorFloat_Swap(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorFloat_Clear")]
+  public static extern void VectorFloat_Clear(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorFloat_Release")]
+  public static extern void VectorFloat_Release(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUnsignedChar_BaseType_get")]
+  public static extern int VectorUnsignedChar_BaseType_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_VectorUnsignedChar__SWIG_0")]
+  public static extern global::System.IntPtr new_VectorUnsignedChar__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_VectorUnsignedChar")]
+  public static extern void delete_VectorUnsignedChar(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_VectorUnsignedChar__SWIG_1")]
+  public static extern global::System.IntPtr new_VectorUnsignedChar__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUnsignedChar_Assign")]
+  public static extern global::System.IntPtr VectorUnsignedChar_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUnsignedChar_Begin")]
+  public static extern global::System.IntPtr VectorUnsignedChar_Begin(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUnsignedChar_End")]
+  public static extern global::System.IntPtr VectorUnsignedChar_End(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUnsignedChar_ValueOfIndex__SWIG_0")]
+  public static extern global::System.IntPtr VectorUnsignedChar_ValueOfIndex__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUnsignedChar_PushBack")]
+  public static extern void VectorUnsignedChar_PushBack(global::System.Runtime.InteropServices.HandleRef jarg1, byte jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUnsignedChar_Insert__SWIG_0")]
+  public static extern void VectorUnsignedChar_Insert__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, [global::System.Runtime.InteropServices.In, global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.LPArray)]byte[] jarg2, byte jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUnsignedChar_Insert__SWIG_1")]
+  public static extern void VectorUnsignedChar_Insert__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, [global::System.Runtime.InteropServices.In, global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.LPArray)]byte[] jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUnsignedChar_Reserve")]
+  public static extern void VectorUnsignedChar_Reserve(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUnsignedChar_Resize__SWIG_0")]
+  public static extern void VectorUnsignedChar_Resize__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUnsignedChar_Resize__SWIG_1")]
+  public static extern void VectorUnsignedChar_Resize__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, byte jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUnsignedChar_Erase__SWIG_0")]
+  public static extern global::System.IntPtr VectorUnsignedChar_Erase__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, [global::System.Runtime.InteropServices.In, global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.LPArray)]byte[] jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUnsignedChar_Erase__SWIG_1")]
+  public static extern global::System.IntPtr VectorUnsignedChar_Erase__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, [global::System.Runtime.InteropServices.In, global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.LPArray)]byte[] jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUnsignedChar_Remove")]
+  public static extern void VectorUnsignedChar_Remove(global::System.Runtime.InteropServices.HandleRef jarg1, [global::System.Runtime.InteropServices.In, global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.LPArray)]byte[] jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUnsignedChar_Swap")]
+  public static extern void VectorUnsignedChar_Swap(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUnsignedChar_Clear")]
+  public static extern void VectorUnsignedChar_Clear(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUnsignedChar_Release")]
+  public static extern void VectorUnsignedChar_Release(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUint16Pair_BaseType_get")]
+  public static extern int VectorUint16Pair_BaseType_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_VectorUint16Pair__SWIG_0")]
+  public static extern global::System.IntPtr new_VectorUint16Pair__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_VectorUint16Pair")]
+  public static extern void delete_VectorUint16Pair(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_VectorUint16Pair__SWIG_1")]
+  public static extern global::System.IntPtr new_VectorUint16Pair__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUint16Pair_Assign")]
+  public static extern global::System.IntPtr VectorUint16Pair_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUint16Pair_Begin")]
+  public static extern global::System.IntPtr VectorUint16Pair_Begin(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUint16Pair_End")]
+  public static extern global::System.IntPtr VectorUint16Pair_End(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUint16Pair_ValueOfIndex__SWIG_0")]
+  public static extern global::System.IntPtr VectorUint16Pair_ValueOfIndex__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUint16Pair_PushBack")]
+  public static extern void VectorUint16Pair_PushBack(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUint16Pair_Insert__SWIG_0")]
+  public static extern void VectorUint16Pair_Insert__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUint16Pair_Insert__SWIG_1")]
+  public static extern void VectorUint16Pair_Insert__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUint16Pair_Reserve")]
+  public static extern void VectorUint16Pair_Reserve(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUint16Pair_Resize__SWIG_0")]
+  public static extern void VectorUint16Pair_Resize__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUint16Pair_Resize__SWIG_1")]
+  public static extern void VectorUint16Pair_Resize__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUint16Pair_Erase__SWIG_0")]
+  public static extern global::System.IntPtr VectorUint16Pair_Erase__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUint16Pair_Erase__SWIG_1")]
+  public static extern global::System.IntPtr VectorUint16Pair_Erase__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUint16Pair_Remove")]
+  public static extern void VectorUint16Pair_Remove(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUint16Pair_Swap")]
+  public static extern void VectorUint16Pair_Swap(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUint16Pair_Clear")]
+  public static extern void VectorUint16Pair_Clear(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VectorUint16Pair_Release")]
+  public static extern void VectorUint16Pair_Release(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_VoidSignal")]
+  public static extern global::System.IntPtr new_VoidSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_VoidSignal")]
+  public static extern void delete_VoidSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VoidSignal_Empty")]
+  public static extern bool VoidSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VoidSignal_GetConnectionCount")]
+  public static extern uint VoidSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VoidSignal_Connect__SWIG_0")]
+  public static extern void VoidSignal_Connect__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VoidSignal_Disconnect")]
+  public static extern void VoidSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VoidSignal_Connect__SWIG_4")]
+  public static extern void VoidSignal_Connect__SWIG_4(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VoidSignal_Emit")]
+  public static extern void VoidSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FloatSignal_Empty")]
+  public static extern bool FloatSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FloatSignal_GetConnectionCount")]
+  public static extern uint FloatSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FloatSignal_Connect")]
+  public static extern void FloatSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FloatSignal_Disconnect")]
+  public static extern void FloatSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FloatSignal_Emit")]
+  public static extern void FloatSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_FloatSignal")]
+  public static extern global::System.IntPtr new_FloatSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_FloatSignal")]
+  public static extern void delete_FloatSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ObjectCreatedSignal_Empty")]
+  public static extern bool ObjectCreatedSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ObjectCreatedSignal_GetConnectionCount")]
+  public static extern uint ObjectCreatedSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ObjectCreatedSignal_Connect")]
+  public static extern void ObjectCreatedSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ObjectCreatedSignal_Disconnect")]
+  public static extern void ObjectCreatedSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ObjectCreatedSignal_Emit")]
+  public static extern void ObjectCreatedSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ObjectCreatedSignal")]
+  public static extern global::System.IntPtr new_ObjectCreatedSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ObjectCreatedSignal")]
+  public static extern void delete_ObjectCreatedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ObjectDestroyedSignal_Empty")]
+  public static extern bool ObjectDestroyedSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ObjectDestroyedSignal_GetConnectionCount")]
+  public static extern uint ObjectDestroyedSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ObjectDestroyedSignal_Connect")]
+  public static extern void ObjectDestroyedSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ObjectDestroyedSignal_Disconnect")]
+  public static extern void ObjectDestroyedSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ObjectDestroyedSignal_Emit")]
+  public static extern void ObjectDestroyedSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ObjectDestroyedSignal")]
+  public static extern global::System.IntPtr new_ObjectDestroyedSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ObjectDestroyedSignal")]
+  public static extern void delete_ObjectDestroyedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyNotifySignal_Empty")]
+  public static extern bool PropertyNotifySignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyNotifySignal_GetConnectionCount")]
+  public static extern uint PropertyNotifySignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyNotifySignal_Connect")]
+  public static extern void PropertyNotifySignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyNotifySignal_Disconnect")]
+  public static extern void PropertyNotifySignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyNotifySignal_Emit")]
+  public static extern void PropertyNotifySignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PropertyNotifySignal")]
+  public static extern global::System.IntPtr new_PropertyNotifySignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PropertyNotifySignal")]
+  public static extern void delete_PropertyNotifySignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ImageSignal_Empty")]
+  public static extern bool ImageSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ImageSignal_GetConnectionCount")]
+  public static extern uint ImageSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ImageSignal_Connect")]
+  public static extern void ImageSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ImageSignal_Disconnect")]
+  public static extern void ImageSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ImageSignal_Emit")]
+  public static extern void ImageSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ImageSignal")]
+  public static extern global::System.IntPtr new_ImageSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ImageSignal")]
+  public static extern void delete_ImageSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_RenderTaskSignal")]
+  public static extern global::System.IntPtr new_RenderTaskSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_RenderTaskSignal")]
+  public static extern void delete_RenderTaskSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LongPressGestureDetectedSignal_Empty")]
+  public static extern bool LongPressGestureDetectedSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LongPressGestureDetectedSignal_GetConnectionCount")]
+  public static extern uint LongPressGestureDetectedSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LongPressGestureDetectedSignal_Connect")]
+  public static extern void LongPressGestureDetectedSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LongPressGestureDetectedSignal_Disconnect")]
+  public static extern void LongPressGestureDetectedSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LongPressGestureDetectedSignal_Emit")]
+  public static extern void LongPressGestureDetectedSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_LongPressGestureDetectedSignal")]
+  public static extern global::System.IntPtr new_LongPressGestureDetectedSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_LongPressGestureDetectedSignal")]
+  public static extern void delete_LongPressGestureDetectedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorTouchDataSignal_Empty")]
+  public static extern bool ActorTouchDataSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorTouchDataSignal_GetConnectionCount")]
+  public static extern uint ActorTouchDataSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorTouchDataSignal_Connect")]
+  public static extern void ActorTouchDataSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorTouchDataSignal_Disconnect")]
+  public static extern void ActorTouchDataSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorTouchDataSignal_Emit")]
+  public static extern bool ActorTouchDataSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ActorTouchDataSignal")]
+  public static extern global::System.IntPtr new_ActorTouchDataSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ActorTouchDataSignal")]
+  public static extern void delete_ActorTouchDataSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorHoverSignal_Empty")]
+  public static extern bool ActorHoverSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorHoverSignal_GetConnectionCount")]
+  public static extern uint ActorHoverSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorHoverSignal_Connect")]
+  public static extern void ActorHoverSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorHoverSignal_Disconnect")]
+  public static extern void ActorHoverSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorHoverSignal_Emit")]
+  public static extern bool ActorHoverSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ActorHoverSignal")]
+  public static extern global::System.IntPtr new_ActorHoverSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ActorHoverSignal")]
+  public static extern void delete_ActorHoverSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorWheelSignal_Empty")]
+  public static extern bool ActorWheelSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorWheelSignal_GetConnectionCount")]
+  public static extern uint ActorWheelSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorWheelSignal_Connect")]
+  public static extern void ActorWheelSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorWheelSignal_Disconnect")]
+  public static extern void ActorWheelSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorWheelSignal_Emit")]
+  public static extern bool ActorWheelSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ActorWheelSignal")]
+  public static extern global::System.IntPtr new_ActorWheelSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ActorWheelSignal")]
+  public static extern void delete_ActorWheelSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorSignal_Empty")]
+  public static extern bool ActorSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorSignal_GetConnectionCount")]
+  public static extern uint ActorSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorSignal_Connect")]
+  public static extern void ActorSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorSignal_Disconnect")]
+  public static extern void ActorSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorSignal_Emit")]
+  public static extern void ActorSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ActorSignal")]
+  public static extern global::System.IntPtr new_ActorSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ActorSignal")]
+  public static extern void delete_ActorSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_KeyEventSignal_Empty")]
+  public static extern bool KeyEventSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_KeyEventSignal_GetConnectionCount")]
+  public static extern uint KeyEventSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_KeyEventSignal_Connect")]
+  public static extern void KeyEventSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_KeyEventSignal_Disconnect")]
+  public static extern void KeyEventSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_KeyEventSignal_Emit")]
+  public static extern void KeyEventSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_KeyEventSignal")]
+  public static extern global::System.IntPtr new_KeyEventSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_KeyEventSignal")]
+  public static extern void delete_KeyEventSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchSignal_Empty")]
+  public static extern bool TouchSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchSignal_GetConnectionCount")]
+  public static extern uint TouchSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchSignal_Connect")]
+  public static extern void TouchSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchSignal_Disconnect")]
+  public static extern void TouchSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TouchSignal_Emit")]
+  public static extern void TouchSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TouchSignal")]
+  public static extern global::System.IntPtr new_TouchSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TouchSignal")]
+  public static extern void delete_TouchSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_StageWheelSignal_Empty")]
+  public static extern bool StageWheelSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_StageWheelSignal_GetConnectionCount")]
+  public static extern uint StageWheelSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_StageWheelSignal_Connect")]
+  public static extern void StageWheelSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_StageWheelSignal_Disconnect")]
+  public static extern void StageWheelSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_StageWheelSignal_Emit")]
+  public static extern void StageWheelSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_StageWheelSignal")]
+  public static extern global::System.IntPtr new_StageWheelSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_StageWheelSignal")]
+  public static extern void delete_StageWheelSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_AngleThresholdPair__SWIG_0")]
+  public static extern global::System.IntPtr new_AngleThresholdPair__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_AngleThresholdPair__SWIG_1")]
+  public static extern global::System.IntPtr new_AngleThresholdPair__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_AngleThresholdPair__SWIG_2")]
+  public static extern global::System.IntPtr new_AngleThresholdPair__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AngleThresholdPair_first_set")]
+  public static extern void AngleThresholdPair_first_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AngleThresholdPair_first_get")]
+  public static extern global::System.IntPtr AngleThresholdPair_first_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AngleThresholdPair_second_set")]
+  public static extern void AngleThresholdPair_second_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AngleThresholdPair_second_get")]
+  public static extern global::System.IntPtr AngleThresholdPair_second_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_AngleThresholdPair")]
+  public static extern void delete_AngleThresholdPair(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetectedSignal_Empty")]
+  public static extern bool PanGestureDetectedSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetectedSignal_GetConnectionCount")]
+  public static extern uint PanGestureDetectedSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetectedSignal_Connect")]
+  public static extern void PanGestureDetectedSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetectedSignal_Disconnect")]
+  public static extern void PanGestureDetectedSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetectedSignal_Emit")]
+  public static extern void PanGestureDetectedSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PanGestureDetectedSignal")]
+  public static extern global::System.IntPtr new_PanGestureDetectedSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PanGestureDetectedSignal")]
+  public static extern void delete_PanGestureDetectedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PinchGestureDetectedSignal_Empty")]
+  public static extern bool PinchGestureDetectedSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PinchGestureDetectedSignal_GetConnectionCount")]
+  public static extern uint PinchGestureDetectedSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PinchGestureDetectedSignal_Connect")]
+  public static extern void PinchGestureDetectedSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PinchGestureDetectedSignal_Disconnect")]
+  public static extern void PinchGestureDetectedSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PinchGestureDetectedSignal_Emit")]
+  public static extern void PinchGestureDetectedSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PinchGestureDetectedSignal")]
+  public static extern global::System.IntPtr new_PinchGestureDetectedSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PinchGestureDetectedSignal")]
+  public static extern void delete_PinchGestureDetectedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGestureDetectedSignal_Empty")]
+  public static extern bool TapGestureDetectedSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGestureDetectedSignal_GetConnectionCount")]
+  public static extern uint TapGestureDetectedSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGestureDetectedSignal_Connect")]
+  public static extern void TapGestureDetectedSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGestureDetectedSignal_Disconnect")]
+  public static extern void TapGestureDetectedSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGestureDetectedSignal_Emit")]
+  public static extern void TapGestureDetectedSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TapGestureDetectedSignal")]
+  public static extern global::System.IntPtr new_TapGestureDetectedSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TapGestureDetectedSignal")]
+  public static extern void delete_TapGestureDetectedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AnimationSignal_Empty")]
+  public static extern bool AnimationSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AnimationSignal_GetConnectionCount")]
+  public static extern uint AnimationSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AnimationSignal_Connect")]
+  public static extern void AnimationSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AnimationSignal_Disconnect")]
+  public static extern void AnimationSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AnimationSignal_Emit")]
+  public static extern void AnimationSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_AnimationSignal")]
+  public static extern global::System.IntPtr new_AnimationSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_AnimationSignal")]
+  public static extern void delete_AnimationSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ResourceImageSignal_Empty")]
+  public static extern bool ResourceImageSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ResourceImageSignal_GetConnectionCount")]
+  public static extern uint ResourceImageSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ResourceImageSignal_Connect")]
+  public static extern void ResourceImageSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ResourceImageSignal_Disconnect")]
+  public static extern void ResourceImageSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ResourceImageSignal_Emit")]
+  public static extern void ResourceImageSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ResourceImageSignal")]
+  public static extern global::System.IntPtr new_ResourceImageSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ResourceImageSignal")]
+  public static extern void delete_ResourceImageSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Timer__SWIG_0")]
+  public static extern global::System.IntPtr new_Timer__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Timer_New")]
+  public static extern global::System.IntPtr Timer_New(uint jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Timer__SWIG_1")]
+  public static extern global::System.IntPtr new_Timer__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Timer_Assign")]
+  public static extern global::System.IntPtr Timer_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Timer")]
+  public static extern void delete_Timer(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Timer_DownCast")]
+  public static extern global::System.IntPtr Timer_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Timer_Start")]
+  public static extern void Timer_Start(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Timer_Stop")]
+  public static extern void Timer_Stop(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Timer_SetInterval")]
+  public static extern void Timer_SetInterval(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Timer_GetInterval")]
+  public static extern uint Timer_GetInterval(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Timer_IsRunning")]
+  public static extern bool Timer_IsRunning(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Timer_TickSignal")]
+  public static extern global::System.IntPtr Timer_TickSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_DragAndDropDetector")]
+  public static extern global::System.IntPtr new_DragAndDropDetector();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_DragAndDropDetector")]
+  public static extern void delete_DragAndDropDetector(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_DragAndDropDetector_GetContent")]
+  public static extern string DragAndDropDetector_GetContent(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_DragAndDropDetector_GetCurrentScreenPosition")]
+  public static extern global::System.IntPtr DragAndDropDetector_GetCurrentScreenPosition(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_DragAndDropDetector_EnteredSignal")]
+  public static extern global::System.IntPtr DragAndDropDetector_EnteredSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_DragAndDropDetector_ExitedSignal")]
+  public static extern global::System.IntPtr DragAndDropDetector_ExitedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_DragAndDropDetector_MovedSignal")]
+  public static extern global::System.IntPtr DragAndDropDetector_MovedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_DragAndDropDetector_DroppedSignal")]
+  public static extern global::System.IntPtr DragAndDropDetector_DroppedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ApplicationExtensions__SWIG_0")]
+  public static extern global::System.IntPtr new_ApplicationExtensions__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ApplicationExtensions__SWIG_1")]
+  public static extern global::System.IntPtr new_ApplicationExtensions__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ApplicationExtensions")]
+  public static extern void delete_ApplicationExtensions(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ApplicationExtensions_Init")]
+  public static extern void ApplicationExtensions_Init(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ApplicationExtensions_Terminate")]
+  public static extern void ApplicationExtensions_Terminate(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ApplicationExtensions_Pause")]
+  public static extern void ApplicationExtensions_Pause(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ApplicationExtensions_Resume")]
+  public static extern void ApplicationExtensions_Resume(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ApplicationExtensions_LanguageChange")]
+  public static extern void ApplicationExtensions_LanguageChange(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Window_New__SWIG_0")]
+  public static extern global::System.IntPtr Window_New__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, bool jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Window_New__SWIG_1")]
+  public static extern global::System.IntPtr Window_New__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Window_New__SWIG_2")]
+  public static extern global::System.IntPtr Window_New__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3, bool jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Window_New__SWIG_3")]
+  public static extern global::System.IntPtr Window_New__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Window__SWIG_0")]
+  public static extern global::System.IntPtr new_Window__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Window")]
+  public static extern void delete_Window(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Window__SWIG_1")]
+  public static extern global::System.IntPtr new_Window__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Window_Assign")]
+  public static extern global::System.IntPtr Window_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Window_ShowIndicator")]
+  public static extern void Window_ShowIndicator(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Window_SetIndicatorBgOpacity")]
+  public static extern void Window_SetIndicatorBgOpacity(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Window_RotateIndicator")]
+  public static extern void Window_RotateIndicator(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Window_SetClass")]
+  public static extern void Window_SetClass(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, string jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Window_Raise")]
+  public static extern void Window_Raise(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Window_Lower")]
+  public static extern void Window_Lower(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Window_Activate")]
+  public static extern void Window_Activate(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Window_AddAvailableOrientation")]
+  public static extern void Window_AddAvailableOrientation(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Window_RemoveAvailableOrientation")]
+  public static extern void Window_RemoveAvailableOrientation(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Window_SetPreferredOrientation")]
+  public static extern void Window_SetPreferredOrientation(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Window_GetPreferredOrientation")]
+  public static extern int Window_GetPreferredOrientation(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Window_GetDragAndDropDetector")]
+  public static extern global::System.IntPtr Window_GetDragAndDropDetector(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Window_GetNativeHandle")]
+  public static extern global::System.IntPtr Window_GetNativeHandle(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FocusChangedSignal")]
+  public static extern global::System.IntPtr FocusChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_SetAcceptFocus")]
+  public static extern void SetAcceptFocus(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_IsFocusAcceptable")]
+  public static extern bool IsFocusAcceptable(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Show")]
+  public static extern void Show(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Hide")]
+  public static extern void Hide(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_IsVisible")]
+  public static extern bool IsVisible(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_New__SWIG_0")]
+  public static extern global::System.IntPtr Application_New__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_New__SWIG_1")]
+  public static extern global::System.IntPtr Application_New__SWIG_1(int jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_New__SWIG_2")]
+  public static extern global::System.IntPtr Application_New__SWIG_2(int jarg1, string jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_New__SWIG_3")]
+  public static extern global::System.IntPtr Application_New__SWIG_3(int jarg1, string jarg3, int jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Application__SWIG_0")]
+  public static extern global::System.IntPtr new_Application__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Application__SWIG_1")]
+  public static extern global::System.IntPtr new_Application__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_Assign")]
+  public static extern global::System.IntPtr Application_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Application")]
+  public static extern void delete_Application(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_MainLoop__SWIG_0")]
+  public static extern void Application_MainLoop__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_MainLoop__SWIG_1")]
+  public static extern void Application_MainLoop__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_Lower")]
+  public static extern void Application_Lower(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_Quit")]
+  public static extern void Application_Quit(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_AddIdle")]
+  public static extern bool Application_AddIdle(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_GetWindow")]
+  public static extern global::System.IntPtr Application_GetWindow(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_ReplaceWindow")]
+  public static extern void Application_ReplaceWindow(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_GetResourcePath")]
+  public static extern string Application_GetResourcePath();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_SetViewMode")]
+  public static extern void Application_SetViewMode(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_GetViewMode")]
+  public static extern int Application_GetViewMode(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_SetStereoBase")]
+  public static extern void Application_SetStereoBase(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_GetStereoBase")]
+  public static extern float Application_GetStereoBase(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_InitSignal")]
+  public static extern global::System.IntPtr Application_InitSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_TerminateSignal")]
+  public static extern global::System.IntPtr Application_TerminateSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_PauseSignal")]
+  public static extern global::System.IntPtr Application_PauseSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_ResumeSignal")]
+  public static extern global::System.IntPtr Application_ResumeSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_ResetSignal")]
+  public static extern global::System.IntPtr Application_ResetSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_ResizeSignal")]
+  public static extern global::System.IntPtr Application_ResizeSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_AppControlSignal")]
+  public static extern global::System.IntPtr Application_AppControlSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_LanguageChangedSignal")]
+  public static extern global::System.IntPtr Application_LanguageChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_RegionChangedSignal")]
+  public static extern global::System.IntPtr Application_RegionChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_BatteryLowSignal")]
+  public static extern global::System.IntPtr Application_BatteryLowSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_MemoryLowSignal")]
+  public static extern global::System.IntPtr Application_MemoryLowSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ApplicationSignal_Empty")]
+  public static extern bool ApplicationSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ApplicationSignal_GetConnectionCount")]
+  public static extern uint ApplicationSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ApplicationSignal_Connect")]
+  public static extern void ApplicationSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ApplicationSignal_Disconnect")]
+  public static extern void ApplicationSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ApplicationSignal_Emit")]
+  public static extern void ApplicationSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ApplicationSignal")]
+  public static extern global::System.IntPtr new_ApplicationSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ApplicationSignal")]
+  public static extern void delete_ApplicationSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ApplicationControlSignal_Empty")]
+  public static extern bool ApplicationControlSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ApplicationControlSignal_GetConnectionCount")]
+  public static extern uint ApplicationControlSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ApplicationControlSignal_Connect")]
+  public static extern void ApplicationControlSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ApplicationControlSignal_Disconnect")]
+  public static extern void ApplicationControlSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ApplicationControlSignal_Emit")]
+  public static extern void ApplicationControlSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, System.IntPtr jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ApplicationControlSignal")]
+  public static extern global::System.IntPtr new_ApplicationControlSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ApplicationControlSignal")]
+  public static extern void delete_ApplicationControlSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TimerSignalType_Empty")]
+  public static extern bool TimerSignalType_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TimerSignalType_GetConnectionCount")]
+  public static extern uint TimerSignalType_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TimerSignalType_Connect")]
+  public static extern void TimerSignalType_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TimerSignalType_Disconnect")]
+  public static extern void TimerSignalType_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TimerSignalType_Emit")]
+  public static extern bool TimerSignalType_Emit(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TimerSignalType")]
+  public static extern global::System.IntPtr new_TimerSignalType();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TimerSignalType")]
+  public static extern void delete_TimerSignalType(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_WindowFocusSignalType_Empty")]
+  public static extern bool WindowFocusSignalType_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_WindowFocusSignalType_GetConnectionCount")]
+  public static extern uint WindowFocusSignalType_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_WindowFocusSignalType_Connect")]
+  public static extern void WindowFocusSignalType_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_WindowFocusSignalType_Disconnect")]
+  public static extern void WindowFocusSignalType_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_WindowFocusSignalType_Emit")]
+  public static extern void WindowFocusSignalType_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_WindowFocusSignalType")]
+  public static extern global::System.IntPtr new_WindowFocusSignalType();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_WindowFocusSignalType")]
+  public static extern void delete_WindowFocusSignalType(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VISUAL_PROPERTY_TYPE_get")]
+  public static extern int VISUAL_PROPERTY_TYPE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VISUAL_PROPERTY_SHADER_get")]
+  public static extern int VISUAL_PROPERTY_SHADER_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VISUAL_SHADER_VERTEX_get")]
+  public static extern int VISUAL_SHADER_VERTEX_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VISUAL_SHADER_FRAGMENT_get")]
+  public static extern int VISUAL_SHADER_FRAGMENT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VISUAL_SHADER_SUBDIVIDE_GRID_X_get")]
+  public static extern int VISUAL_SHADER_SUBDIVIDE_GRID_X_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VISUAL_SHADER_SUBDIVIDE_GRID_Y_get")]
+  public static extern int VISUAL_SHADER_SUBDIVIDE_GRID_Y_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VISUAL_SHADER_HINTS_get")]
+  public static extern int VISUAL_SHADER_HINTS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BORDER_VISUAL_COLOR_get")]
+  public static extern int BORDER_VISUAL_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BORDER_VISUAL_SIZE_get")]
+  public static extern int BORDER_VISUAL_SIZE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BORDER_VISUAL_ANTI_ALIASING_get")]
+  public static extern int BORDER_VISUAL_ANTI_ALIASING_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_COLOR_VISUAL_MIX_COLOR_get")]
+  public static extern int COLOR_VISUAL_MIX_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GRADIENT_VISUAL_START_POSITION_get")]
+  public static extern int GRADIENT_VISUAL_START_POSITION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GRADIENT_VISUAL_END_POSITION_get")]
+  public static extern int GRADIENT_VISUAL_END_POSITION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GRADIENT_VISUAL_CENTER_get")]
+  public static extern int GRADIENT_VISUAL_CENTER_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GRADIENT_VISUAL_RADIUS_get")]
+  public static extern int GRADIENT_VISUAL_RADIUS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GRADIENT_VISUAL_STOP_OFFSET_get")]
+  public static extern int GRADIENT_VISUAL_STOP_OFFSET_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GRADIENT_VISUAL_STOP_COLOR_get")]
+  public static extern int GRADIENT_VISUAL_STOP_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GRADIENT_VISUAL_UNITS_get")]
+  public static extern int GRADIENT_VISUAL_UNITS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GRADIENT_VISUAL_SPREAD_METHOD_get")]
+  public static extern int GRADIENT_VISUAL_SPREAD_METHOD_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_IMAGE_VISUAL_URL_get")]
+  public static extern int IMAGE_VISUAL_URL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_IMAGE_VISUAL_FITTING_MODE_get")]
+  public static extern int IMAGE_VISUAL_FITTING_MODE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_IMAGE_VISUAL_SAMPLING_MODE_get")]
+  public static extern int IMAGE_VISUAL_SAMPLING_MODE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_IMAGE_VISUAL_DESIRED_WIDTH_get")]
+  public static extern int IMAGE_VISUAL_DESIRED_WIDTH_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_IMAGE_VISUAL_DESIRED_HEIGHT_get")]
+  public static extern int IMAGE_VISUAL_DESIRED_HEIGHT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_IMAGE_VISUAL_SYNCHRONOUS_LOADING_get")]
+  public static extern int IMAGE_VISUAL_SYNCHRONOUS_LOADING_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_IMAGE_VISUAL_BORDER_ONLY_get")]
+  public static extern int IMAGE_VISUAL_BORDER_ONLY_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_IMAGE_VISUAL_PIXEL_AREA_get")]
+  public static extern int IMAGE_VISUAL_PIXEL_AREA_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_IMAGE_VISUAL_WRAP_MODE_U_get")]
+  public static extern int IMAGE_VISUAL_WRAP_MODE_U_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_IMAGE_VISUAL_WRAP_MODE_V_get")]
+  public static extern int IMAGE_VISUAL_WRAP_MODE_V_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_MESH_VISUAL_OBJECT_URL_get")]
+  public static extern int MESH_VISUAL_OBJECT_URL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_MESH_VISUAL_MATERIAL_URL_get")]
+  public static extern int MESH_VISUAL_MATERIAL_URL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_MESH_VISUAL_TEXTURES_PATH_get")]
+  public static extern int MESH_VISUAL_TEXTURES_PATH_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_MESH_VISUAL_SHADING_MODE_get")]
+  public static extern int MESH_VISUAL_SHADING_MODE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_MESH_VISUAL_USE_MIPMAPPING_get")]
+  public static extern int MESH_VISUAL_USE_MIPMAPPING_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_MESH_VISUAL_USE_SOFT_NORMALS_get")]
+  public static extern int MESH_VISUAL_USE_SOFT_NORMALS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_MESH_VISUAL_LIGHT_POSITION_get")]
+  public static extern int MESH_VISUAL_LIGHT_POSITION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PRIMITIVE_VISUAL_SHAPE_get")]
+  public static extern int PRIMITIVE_VISUAL_SHAPE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PRIMITIVE_VISUAL_MIX_COLOR_get")]
+  public static extern int PRIMITIVE_VISUAL_MIX_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PRIMITIVE_VISUAL_SLICES_get")]
+  public static extern int PRIMITIVE_VISUAL_SLICES_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PRIMITIVE_VISUAL_STACKS_get")]
+  public static extern int PRIMITIVE_VISUAL_STACKS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PRIMITIVE_VISUAL_SCALE_TOP_RADIUS_get")]
+  public static extern int PRIMITIVE_VISUAL_SCALE_TOP_RADIUS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PRIMITIVE_VISUAL_SCALE_BOTTOM_RADIUS_get")]
+  public static extern int PRIMITIVE_VISUAL_SCALE_BOTTOM_RADIUS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PRIMITIVE_VISUAL_SCALE_HEIGHT_get")]
+  public static extern int PRIMITIVE_VISUAL_SCALE_HEIGHT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PRIMITIVE_VISUAL_SCALE_RADIUS_get")]
+  public static extern int PRIMITIVE_VISUAL_SCALE_RADIUS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PRIMITIVE_VISUAL_SCALE_DIMENSIONS_get")]
+  public static extern int PRIMITIVE_VISUAL_SCALE_DIMENSIONS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PRIMITIVE_VISUAL_BEVEL_PERCENTAGE_get")]
+  public static extern int PRIMITIVE_VISUAL_BEVEL_PERCENTAGE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PRIMITIVE_VISUAL_BEVEL_SMOOTHNESS_get")]
+  public static extern int PRIMITIVE_VISUAL_BEVEL_SMOOTHNESS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PRIMITIVE_VISUAL_LIGHT_POSITION_get")]
+  public static extern int PRIMITIVE_VISUAL_LIGHT_POSITION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TEXT_VISUAL_TEXT_get")]
+  public static extern int TEXT_VISUAL_TEXT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TEXT_VISUAL_FONT_FAMILY_get")]
+  public static extern int TEXT_VISUAL_FONT_FAMILY_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TEXT_VISUAL_FONT_STYLE_get")]
+  public static extern int TEXT_VISUAL_FONT_STYLE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TEXT_VISUAL_POINT_SIZE_get")]
+  public static extern int TEXT_VISUAL_POINT_SIZE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TEXT_VISUAL_MULTI_LINE_get")]
+  public static extern int TEXT_VISUAL_MULTI_LINE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TEXT_VISUAL_HORIZONTAL_ALIGNMENT_get")]
+  public static extern int TEXT_VISUAL_HORIZONTAL_ALIGNMENT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TEXT_VISUAL_VERTICAL_ALIGNMENT_get")]
+  public static extern int TEXT_VISUAL_VERTICAL_ALIGNMENT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TEXT_VISUAL_TEXT_COLOR_get")]
+  public static extern int TEXT_VISUAL_TEXT_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TEXT_VISUAL_ENABLE_MARKUP_get")]
+  public static extern int TEXT_VISUAL_ENABLE_MARKUP_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Builder")]
+  public static extern global::System.IntPtr new_Builder();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_New")]
+  public static extern global::System.IntPtr Builder_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Builder")]
+  public static extern void delete_Builder(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_LoadFromString__SWIG_0")]
+  public static extern void Builder_LoadFromString__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_LoadFromString__SWIG_1")]
+  public static extern void Builder_LoadFromString__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_AddConstants")]
+  public static extern void Builder_AddConstants(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_AddConstant")]
+  public static extern void Builder_AddConstant(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_GetConstants")]
+  public static extern global::System.IntPtr Builder_GetConstants(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_GetConstant")]
+  public static extern global::System.IntPtr Builder_GetConstant(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_CreateAnimation__SWIG_0")]
+  public static extern global::System.IntPtr Builder_CreateAnimation__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_CreateAnimation__SWIG_1")]
+  public static extern global::System.IntPtr Builder_CreateAnimation__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_CreateAnimation__SWIG_2")]
+  public static extern global::System.IntPtr Builder_CreateAnimation__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_CreateAnimation__SWIG_3")]
+  public static extern global::System.IntPtr Builder_CreateAnimation__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_Create__SWIG_0")]
+  public static extern global::System.IntPtr Builder_Create__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_Create__SWIG_1")]
+  public static extern global::System.IntPtr Builder_Create__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_CreateFromJson")]
+  public static extern global::System.IntPtr Builder_CreateFromJson(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_ApplyStyle")]
+  public static extern bool Builder_ApplyStyle(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_ApplyFromJson")]
+  public static extern bool Builder_ApplyFromJson(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_AddActors__SWIG_0")]
+  public static extern void Builder_AddActors__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_AddActors__SWIG_1")]
+  public static extern void Builder_AddActors__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_CreateRenderTask")]
+  public static extern void Builder_CreateRenderTask(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_GetFrameBufferImage")]
+  public static extern global::System.IntPtr Builder_GetFrameBufferImage(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_GetPath")]
+  public static extern global::System.IntPtr Builder_GetPath(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_GetPathConstrainer")]
+  public static extern global::System.IntPtr Builder_GetPathConstrainer(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_GetLinearConstrainer")]
+  public static extern global::System.IntPtr Builder_GetLinearConstrainer(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_QuitSignal")]
+  public static extern global::System.IntPtr Builder_QuitSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TransitionData__SWIG_0")]
+  public static extern global::System.IntPtr new_TransitionData__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TransitionData")]
+  public static extern void delete_TransitionData(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TransitionData_New__SWIG_0")]
+  public static extern global::System.IntPtr TransitionData_New__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TransitionData_New__SWIG_1")]
+  public static extern global::System.IntPtr TransitionData_New__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TransitionData_DownCast")]
+  public static extern global::System.IntPtr TransitionData_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TransitionData__SWIG_1")]
+  public static extern global::System.IntPtr new_TransitionData__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TransitionData_Assign")]
+  public static extern global::System.IntPtr TransitionData_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TransitionData_Count")]
+  public static extern uint TransitionData_Count(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TransitionData_GetAnimatorAt")]
+  public static extern global::System.IntPtr TransitionData_GetAnimatorAt(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TransitionData__SWIG_2")]
+  public static extern global::System.IntPtr new_TransitionData__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TOOLTIP_CONTENT_get")]
+  public static extern int TOOLTIP_CONTENT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TOOLTIP_LAYOUT_get")]
+  public static extern int TOOLTIP_LAYOUT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TOOLTIP_WAIT_TIME_get")]
+  public static extern int TOOLTIP_WAIT_TIME_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TOOLTIP_BACKGROUND_get")]
+  public static extern int TOOLTIP_BACKGROUND_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TOOLTIP_TAIL_get")]
+  public static extern int TOOLTIP_TAIL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TOOLTIP_POSITION_get")]
+  public static extern int TOOLTIP_POSITION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TOOLTIP_HOVER_POINT_OFFSET_get")]
+  public static extern int TOOLTIP_HOVER_POINT_OFFSET_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TOOLTIP_MOVEMENT_THRESHOLD_get")]
+  public static extern int TOOLTIP_MOVEMENT_THRESHOLD_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TOOLTIP_DISAPPEAR_ON_MOVEMENT_get")]
+  public static extern int TOOLTIP_DISAPPEAR_ON_MOVEMENT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TOOLTIP_BACKGROUND_VISUAL_get")]
+  public static extern int TOOLTIP_BACKGROUND_VISUAL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TOOLTIP_BACKGROUND_BORDER_get")]
+  public static extern int TOOLTIP_BACKGROUND_BORDER_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TOOLTIP_TAIL_VISIBILITY_get")]
+  public static extern int TOOLTIP_TAIL_VISIBILITY_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TOOLTIP_TAIL_ABOVE_VISUAL_get")]
+  public static extern int TOOLTIP_TAIL_ABOVE_VISUAL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TOOLTIP_TAIL_BELOW_VISUAL_get")]
+  public static extern int TOOLTIP_TAIL_BELOW_VISUAL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_New")]
+  public static extern global::System.IntPtr ViewImpl_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_SetStyleName")]
+  public static extern void ViewImpl_SetStyleName(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_GetStyleName")]
+  public static extern string ViewImpl_GetStyleName(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_SetBackgroundColor")]
+  public static extern void ViewImpl_SetBackgroundColor(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_GetBackgroundColor")]
+  public static extern global::System.IntPtr ViewImpl_GetBackgroundColor(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_SetBackgroundImage")]
+  public static extern void ViewImpl_SetBackgroundImage(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_SetBackground")]
+  public static extern void ViewImpl_SetBackground(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_ClearBackground")]
+  public static extern void ViewImpl_ClearBackground(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_EnableGestureDetection")]
+  public static extern void ViewImpl_EnableGestureDetection(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_DisableGestureDetection")]
+  public static extern void ViewImpl_DisableGestureDetection(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_GetPinchGestureDetector")]
+  public static extern global::System.IntPtr ViewImpl_GetPinchGestureDetector(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_GetPanGestureDetector")]
+  public static extern global::System.IntPtr ViewImpl_GetPanGestureDetector(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_GetTapGestureDetector")]
+  public static extern global::System.IntPtr ViewImpl_GetTapGestureDetector(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_GetLongPressGestureDetector")]
+  public static extern global::System.IntPtr ViewImpl_GetLongPressGestureDetector(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_SetKeyboardNavigationSupport")]
+  public static extern void ViewImpl_SetKeyboardNavigationSupport(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_IsKeyboardNavigationSupported")]
+  public static extern bool ViewImpl_IsKeyboardNavigationSupported(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_SetKeyInputFocus")]
+  public static extern void ViewImpl_SetKeyInputFocus(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_HasKeyInputFocus")]
+  public static extern bool ViewImpl_HasKeyInputFocus(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_ClearKeyInputFocus")]
+  public static extern void ViewImpl_ClearKeyInputFocus(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_SetAsKeyboardFocusGroup")]
+  public static extern void ViewImpl_SetAsKeyboardFocusGroup(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_IsKeyboardFocusGroup")]
+  public static extern bool ViewImpl_IsKeyboardFocusGroup(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_AccessibilityActivate")]
+  public static extern void ViewImpl_AccessibilityActivate(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_KeyboardEnter")]
+  public static extern void ViewImpl_KeyboardEnter(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_KeyEventSignal")]
+  public static extern global::System.IntPtr ViewImpl_KeyEventSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_KeyInputFocusGainedSignal")]
+  public static extern global::System.IntPtr ViewImpl_KeyInputFocusGainedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_KeyInputFocusLostSignal")]
+  public static extern global::System.IntPtr ViewImpl_KeyInputFocusLostSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_EmitKeyEventSignal")]
+  public static extern bool ViewImpl_EmitKeyEventSignal(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnStageConnection")]
+  public static extern void ViewImpl_OnStageConnection(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnStageConnectionSwigExplicitViewImpl")]
+  public static extern void ViewImpl_OnStageConnectionSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnStageDisconnection")]
+  public static extern void ViewImpl_OnStageDisconnection(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnStageDisconnectionSwigExplicitViewImpl")]
+  public static extern void ViewImpl_OnStageDisconnectionSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnChildAdd")]
+  public static extern void ViewImpl_OnChildAdd(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnChildAddSwigExplicitViewImpl")]
+  public static extern void ViewImpl_OnChildAddSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnChildRemove")]
+  public static extern void ViewImpl_OnChildRemove(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnChildRemoveSwigExplicitViewImpl")]
+  public static extern void ViewImpl_OnChildRemoveSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnPropertySet")]
+  public static extern void ViewImpl_OnPropertySet(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnPropertySetSwigExplicitViewImpl")]
+  public static extern void ViewImpl_OnPropertySetSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnSizeSet")]
+  public static extern void ViewImpl_OnSizeSet(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnSizeSetSwigExplicitViewImpl")]
+  public static extern void ViewImpl_OnSizeSetSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnSizeAnimation")]
+  public static extern void ViewImpl_OnSizeAnimation(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnSizeAnimationSwigExplicitViewImpl")]
+  public static extern void ViewImpl_OnSizeAnimationSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnTouchEvent")]
+  public static extern bool ViewImpl_OnTouchEvent(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnTouchEventSwigExplicitViewImpl")]
+  public static extern bool ViewImpl_OnTouchEventSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnHoverEvent")]
+  public static extern bool ViewImpl_OnHoverEvent(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnHoverEventSwigExplicitViewImpl")]
+  public static extern bool ViewImpl_OnHoverEventSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnKeyEvent")]
+  public static extern bool ViewImpl_OnKeyEvent(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnKeyEventSwigExplicitViewImpl")]
+  public static extern bool ViewImpl_OnKeyEventSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnWheelEvent")]
+  public static extern bool ViewImpl_OnWheelEvent(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnWheelEventSwigExplicitViewImpl")]
+  public static extern bool ViewImpl_OnWheelEventSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnRelayout")]
+  public static extern void ViewImpl_OnRelayout(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnRelayoutSwigExplicitViewImpl")]
+  public static extern void ViewImpl_OnRelayoutSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnSetResizePolicy")]
+  public static extern void ViewImpl_OnSetResizePolicy(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnSetResizePolicySwigExplicitViewImpl")]
+  public static extern void ViewImpl_OnSetResizePolicySwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_GetNaturalSize")]
+  public static extern global::System.IntPtr ViewImpl_GetNaturalSize(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_GetNaturalSizeSwigExplicitViewImpl")]
+  public static extern global::System.IntPtr ViewImpl_GetNaturalSizeSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_CalculateChildSize")]
+  public static extern float ViewImpl_CalculateChildSize(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_CalculateChildSizeSwigExplicitViewImpl")]
+  public static extern float ViewImpl_CalculateChildSizeSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_GetHeightForWidth")]
+  public static extern float ViewImpl_GetHeightForWidth(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_GetHeightForWidthSwigExplicitViewImpl")]
+  public static extern float ViewImpl_GetHeightForWidthSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_GetWidthForHeight")]
+  public static extern float ViewImpl_GetWidthForHeight(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_GetWidthForHeightSwigExplicitViewImpl")]
+  public static extern float ViewImpl_GetWidthForHeightSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_RelayoutDependentOnChildren__SWIG_0")]
+  public static extern bool ViewImpl_RelayoutDependentOnChildren__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_RelayoutDependentOnChildrenSwigExplicitViewImpl__SWIG_0")]
+  public static extern bool ViewImpl_RelayoutDependentOnChildrenSwigExplicitViewImpl__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_RelayoutDependentOnChildren__SWIG_1")]
+  public static extern bool ViewImpl_RelayoutDependentOnChildren__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_RelayoutDependentOnChildrenSwigExplicitViewImpl__SWIG_1")]
+  public static extern bool ViewImpl_RelayoutDependentOnChildrenSwigExplicitViewImpl__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnCalculateRelayoutSize")]
+  public static extern void ViewImpl_OnCalculateRelayoutSize(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnCalculateRelayoutSizeSwigExplicitViewImpl")]
+  public static extern void ViewImpl_OnCalculateRelayoutSizeSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnLayoutNegotiated")]
+  public static extern void ViewImpl_OnLayoutNegotiated(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnLayoutNegotiatedSwigExplicitViewImpl")]
+  public static extern void ViewImpl_OnLayoutNegotiatedSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnInitialize")]
+  public static extern void ViewImpl_OnInitialize(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnInitializeSwigExplicitViewImpl")]
+  public static extern void ViewImpl_OnInitializeSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnControlChildAdd")]
+  public static extern void ViewImpl_OnControlChildAdd(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnControlChildAddSwigExplicitViewImpl")]
+  public static extern void ViewImpl_OnControlChildAddSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnControlChildRemove")]
+  public static extern void ViewImpl_OnControlChildRemove(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnControlChildRemoveSwigExplicitViewImpl")]
+  public static extern void ViewImpl_OnControlChildRemoveSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnStyleChange")]
+  public static extern void ViewImpl_OnStyleChange(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnStyleChangeSwigExplicitViewImpl")]
+  public static extern void ViewImpl_OnStyleChangeSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnAccessibilityActivated")]
+  public static extern bool ViewImpl_OnAccessibilityActivated(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnAccessibilityActivatedSwigExplicitViewImpl")]
+  public static extern bool ViewImpl_OnAccessibilityActivatedSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnAccessibilityPan")]
+  public static extern bool ViewImpl_OnAccessibilityPan(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnAccessibilityPanSwigExplicitViewImpl")]
+  public static extern bool ViewImpl_OnAccessibilityPanSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnAccessibilityTouch")]
+  public static extern bool ViewImpl_OnAccessibilityTouch(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnAccessibilityTouchSwigExplicitViewImpl")]
+  public static extern bool ViewImpl_OnAccessibilityTouchSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnAccessibilityValueChange")]
+  public static extern bool ViewImpl_OnAccessibilityValueChange(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnAccessibilityValueChangeSwigExplicitViewImpl")]
+  public static extern bool ViewImpl_OnAccessibilityValueChangeSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnAccessibilityZoom")]
+  public static extern bool ViewImpl_OnAccessibilityZoom(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnAccessibilityZoomSwigExplicitViewImpl")]
+  public static extern bool ViewImpl_OnAccessibilityZoomSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnKeyInputFocusGained")]
+  public static extern void ViewImpl_OnKeyInputFocusGained(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnKeyInputFocusGainedSwigExplicitViewImpl")]
+  public static extern void ViewImpl_OnKeyInputFocusGainedSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnKeyInputFocusLost")]
+  public static extern void ViewImpl_OnKeyInputFocusLost(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnKeyInputFocusLostSwigExplicitViewImpl")]
+  public static extern void ViewImpl_OnKeyInputFocusLostSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_GetNextKeyboardFocusableActor")]
+  public static extern global::System.IntPtr ViewImpl_GetNextKeyboardFocusableActor(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3, bool jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_GetNextKeyboardFocusableActorSwigExplicitViewImpl")]
+  public static extern global::System.IntPtr ViewImpl_GetNextKeyboardFocusableActorSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3, bool jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnKeyboardFocusChangeCommitted")]
+  public static extern void ViewImpl_OnKeyboardFocusChangeCommitted(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnKeyboardFocusChangeCommittedSwigExplicitViewImpl")]
+  public static extern void ViewImpl_OnKeyboardFocusChangeCommittedSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnKeyboardEnter")]
+  public static extern bool ViewImpl_OnKeyboardEnter(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnKeyboardEnterSwigExplicitViewImpl")]
+  public static extern bool ViewImpl_OnKeyboardEnterSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnPinch")]
+  public static extern void ViewImpl_OnPinch(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnPinchSwigExplicitViewImpl")]
+  public static extern void ViewImpl_OnPinchSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnPan")]
+  public static extern void ViewImpl_OnPan(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnPanSwigExplicitViewImpl")]
+  public static extern void ViewImpl_OnPanSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnTap")]
+  public static extern void ViewImpl_OnTap(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnTapSwigExplicitViewImpl")]
+  public static extern void ViewImpl_OnTapSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnLongPress")]
+  public static extern void ViewImpl_OnLongPress(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_OnLongPressSwigExplicitViewImpl")]
+  public static extern void ViewImpl_OnLongPressSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_SignalConnected")]
+  public static extern void ViewImpl_SignalConnected(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_SignalConnectedSwigExplicitViewImpl")]
+  public static extern void ViewImpl_SignalConnectedSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_SignalDisconnected")]
+  public static extern void ViewImpl_SignalDisconnected(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_SignalDisconnectedSwigExplicitViewImpl")]
+  public static extern void ViewImpl_SignalDisconnectedSwigExplicitViewImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_director_connect")]
+  public static extern void ViewImpl_director_connect(global::System.Runtime.InteropServices.HandleRef jarg1, ViewImpl.SwigDelegateViewImpl_0 delegate0, ViewImpl.SwigDelegateViewImpl_1 delegate1, ViewImpl.SwigDelegateViewImpl_2 delegate2, ViewImpl.SwigDelegateViewImpl_3 delegate3, ViewImpl.SwigDelegateViewImpl_4 delegate4, ViewImpl.SwigDelegateViewImpl_5 delegate5, ViewImpl.SwigDelegateViewImpl_6 delegate6, ViewImpl.SwigDelegateViewImpl_7 delegate7, ViewImpl.SwigDelegateViewImpl_8 delegate8, ViewImpl.SwigDelegateViewImpl_9 delegate9, ViewImpl.SwigDelegateViewImpl_10 delegate10, ViewImpl.SwigDelegateViewImpl_11 delegate11, ViewImpl.SwigDelegateViewImpl_12 delegate12, ViewImpl.SwigDelegateViewImpl_13 delegate13, ViewImpl.SwigDelegateViewImpl_14 delegate14, ViewImpl.SwigDelegateViewImpl_15 delegate15, ViewImpl.SwigDelegateViewImpl_16 delegate16, ViewImpl.SwigDelegateViewImpl_17 delegate17, ViewImpl.SwigDelegateViewImpl_18 delegate18, ViewImpl.SwigDelegateViewImpl_19 delegate19, ViewImpl.SwigDelegateViewImpl_20 delegate20, ViewImpl.SwigDelegateViewImpl_21 delegate21, ViewImpl.SwigDelegateViewImpl_22 delegate22, ViewImpl.SwigDelegateViewImpl_23 delegate23, ViewImpl.SwigDelegateViewImpl_24 delegate24, ViewImpl.SwigDelegateViewImpl_25 delegate25, ViewImpl.SwigDelegateViewImpl_26 delegate26, ViewImpl.SwigDelegateViewImpl_27 delegate27, ViewImpl.SwigDelegateViewImpl_28 delegate28, ViewImpl.SwigDelegateViewImpl_29 delegate29, ViewImpl.SwigDelegateViewImpl_30 delegate30, ViewImpl.SwigDelegateViewImpl_31 delegate31, ViewImpl.SwigDelegateViewImpl_32 delegate32, ViewImpl.SwigDelegateViewImpl_33 delegate33, ViewImpl.SwigDelegateViewImpl_34 delegate34, ViewImpl.SwigDelegateViewImpl_35 delegate35, ViewImpl.SwigDelegateViewImpl_36 delegate36, ViewImpl.SwigDelegateViewImpl_37 delegate37, ViewImpl.SwigDelegateViewImpl_38 delegate38, ViewImpl.SwigDelegateViewImpl_39 delegate39, ViewImpl.SwigDelegateViewImpl_40 delegate40);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GetImplementation__SWIG_0")]
+  public static extern global::System.IntPtr GetImplementation__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_Property_STYLE_NAME_get")]
+  public static extern int View_Property_STYLE_NAME_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_Property_BACKGROUND_COLOR_get")]
+  public static extern int View_Property_BACKGROUND_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_Property_BACKGROUND_IMAGE_get")]
+  public static extern int View_Property_BACKGROUND_IMAGE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_Property_KEY_INPUT_FOCUS_get")]
+  public static extern int View_Property_KEY_INPUT_FOCUS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_Property_BACKGROUND_get")]
+  public static extern int View_Property_BACKGROUND_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_View_Property")]
+  public static extern global::System.IntPtr new_View_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_View_Property")]
+  public static extern void delete_View_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_View_KeyboardFocus")]
+  public static extern global::System.IntPtr new_View_KeyboardFocus();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_View_KeyboardFocus")]
+  public static extern void delete_View_KeyboardFocus(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_New")]
+  public static extern global::System.IntPtr View_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_View__SWIG_0")]
+  public static extern global::System.IntPtr new_View__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_View__SWIG_1")]
+  public static extern global::System.IntPtr new_View__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_View")]
+  public static extern void delete_View(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_Assign")]
+  public static extern global::System.IntPtr View_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_DownCast")]
+  public static extern global::System.IntPtr View_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_SetKeyInputFocus")]
+  public static extern void View_SetKeyInputFocus(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_HasKeyInputFocus")]
+  public static extern bool View_HasKeyInputFocus(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_ClearKeyInputFocus")]
+  public static extern void View_ClearKeyInputFocus(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_GetPinchGestureDetector")]
+  public static extern global::System.IntPtr View_GetPinchGestureDetector(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_GetPanGestureDetector")]
+  public static extern global::System.IntPtr View_GetPanGestureDetector(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_GetTapGestureDetector")]
+  public static extern global::System.IntPtr View_GetTapGestureDetector(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_GetLongPressGestureDetector")]
+  public static extern global::System.IntPtr View_GetLongPressGestureDetector(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_SetStyleName")]
+  public static extern void View_SetStyleName(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_GetStyleName")]
+  public static extern string View_GetStyleName(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_SetBackgroundColor")]
+  public static extern void View_SetBackgroundColor(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_GetBackgroundColor")]
+  public static extern global::System.IntPtr View_GetBackgroundColor(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_SetBackgroundImage")]
+  public static extern void View_SetBackgroundImage(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_ClearBackground")]
+  public static extern void View_ClearBackground(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_KeyEventSignal")]
+  public static extern global::System.IntPtr View_KeyEventSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_KeyInputFocusGainedSignal")]
+  public static extern global::System.IntPtr View_KeyInputFocusGainedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_KeyInputFocusLostSignal")]
+  public static extern global::System.IntPtr View_KeyInputFocusLostSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_View__SWIG_2")]
+  public static extern global::System.IntPtr new_View__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_KeyInputFocusManager")]
+  public static extern global::System.IntPtr new_KeyInputFocusManager();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_KeyInputFocusManager")]
+  public static extern void delete_KeyInputFocusManager(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_KeyInputFocusManager_Get")]
+  public static extern global::System.IntPtr KeyInputFocusManager_Get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_KeyInputFocusManager_SetFocus")]
+  public static extern void KeyInputFocusManager_SetFocus(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_KeyInputFocusManager_GetCurrentFocusControl")]
+  public static extern global::System.IntPtr KeyInputFocusManager_GetCurrentFocusControl(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_KeyInputFocusManager_RemoveFocus")]
+  public static extern void KeyInputFocusManager_RemoveFocus(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_KeyInputFocusManager_KeyInputFocusChangedSignal")]
+  public static extern global::System.IntPtr KeyInputFocusManager_KeyInputFocusChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Alignment_Padding__SWIG_0")]
+  public static extern global::System.IntPtr new_Alignment_Padding__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Alignment_Padding__SWIG_1")]
+  public static extern global::System.IntPtr new_Alignment_Padding__SWIG_1(float jarg1, float jarg2, float jarg3, float jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Alignment_Padding_left_set")]
+  public static extern void Alignment_Padding_left_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Alignment_Padding_left_get")]
+  public static extern float Alignment_Padding_left_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Alignment_Padding_right_set")]
+  public static extern void Alignment_Padding_right_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Alignment_Padding_right_get")]
+  public static extern float Alignment_Padding_right_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Alignment_Padding_top_set")]
+  public static extern void Alignment_Padding_top_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Alignment_Padding_top_get")]
+  public static extern float Alignment_Padding_top_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Alignment_Padding_bottom_set")]
+  public static extern void Alignment_Padding_bottom_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Alignment_Padding_bottom_get")]
+  public static extern float Alignment_Padding_bottom_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Alignment_Padding")]
+  public static extern void delete_Alignment_Padding(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Alignment__SWIG_0")]
+  public static extern global::System.IntPtr new_Alignment__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Alignment_New__SWIG_0")]
+  public static extern global::System.IntPtr Alignment_New__SWIG_0(int jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Alignment_New__SWIG_1")]
+  public static extern global::System.IntPtr Alignment_New__SWIG_1(int jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Alignment_New__SWIG_2")]
+  public static extern global::System.IntPtr Alignment_New__SWIG_2();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Alignment__SWIG_1")]
+  public static extern global::System.IntPtr new_Alignment__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Alignment")]
+  public static extern void delete_Alignment(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Alignment_DownCast")]
+  public static extern global::System.IntPtr Alignment_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Alignment_SetAlignmentType")]
+  public static extern void Alignment_SetAlignmentType(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Alignment_GetAlignmentType")]
+  public static extern int Alignment_GetAlignmentType(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Alignment_SetScaling")]
+  public static extern void Alignment_SetScaling(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Alignment_GetScaling")]
+  public static extern int Alignment_GetScaling(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Alignment_SetPadding")]
+  public static extern void Alignment_SetPadding(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Alignment_GetPadding")]
+  public static extern global::System.IntPtr Alignment_GetPadding(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Alignment_Assign")]
+  public static extern global::System.IntPtr Alignment_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_Property_DISABLED_get")]
+  public static extern int Button_Property_DISABLED_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_Property_AUTO_REPEATING_get")]
+  public static extern int Button_Property_AUTO_REPEATING_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_Property_INITIAL_AUTO_REPEATING_DELAY_get")]
+  public static extern int Button_Property_INITIAL_AUTO_REPEATING_DELAY_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_Property_NEXT_AUTO_REPEATING_DELAY_get")]
+  public static extern int Button_Property_NEXT_AUTO_REPEATING_DELAY_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_Property_TOGGLABLE_get")]
+  public static extern int Button_Property_TOGGLABLE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_Property_SELECTED_get")]
+  public static extern int Button_Property_SELECTED_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_Property_UNSELECTED_STATE_IMAGE_get")]
+  public static extern int Button_Property_UNSELECTED_STATE_IMAGE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_Property_SELECTED_STATE_IMAGE_get")]
+  public static extern int Button_Property_SELECTED_STATE_IMAGE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_Property_DISABLED_STATE_IMAGE_get")]
+  public static extern int Button_Property_DISABLED_STATE_IMAGE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_Property_UNSELECTED_COLOR_get")]
+  public static extern int Button_Property_UNSELECTED_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_Property_SELECTED_COLOR_get")]
+  public static extern int Button_Property_SELECTED_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_Property_LABEL_get")]
+  public static extern int Button_Property_LABEL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_Property_LABEL_TEXT_get")]
+  public static extern int Button_Property_LABEL_TEXT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Button_Property")]
+  public static extern global::System.IntPtr new_Button_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Button_Property")]
+  public static extern void delete_Button_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Button__SWIG_0")]
+  public static extern global::System.IntPtr new_Button__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Button__SWIG_1")]
+  public static extern global::System.IntPtr new_Button__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_Assign")]
+  public static extern global::System.IntPtr Button_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_DownCast")]
+  public static extern global::System.IntPtr Button_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Button")]
+  public static extern void delete_Button(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_IsDisabled")]
+  public static extern bool Button_IsDisabled(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_IsAutoRepeating")]
+  public static extern bool Button_IsAutoRepeating(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_GetInitialAutoRepeatingDelay")]
+  public static extern float Button_GetInitialAutoRepeatingDelay(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_GetNextAutoRepeatingDelay")]
+  public static extern float Button_GetNextAutoRepeatingDelay(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_IsTogglableButton")]
+  public static extern bool Button_IsTogglableButton(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_IsSelected")]
+  public static extern bool Button_IsSelected(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_GetAnimationTime")]
+  public static extern float Button_GetAnimationTime(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_GetLabelText")]
+  public static extern string Button_GetLabelText(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_SetLabel")]
+  public static extern void Button_SetLabel(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_SetButtonImage")]
+  public static extern void Button_SetButtonImage(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_SetSelectedImage")]
+  public static extern void Button_SetSelectedImage(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_GetButtonImage")]
+  public static extern global::System.IntPtr Button_GetButtonImage(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_GetSelectedImage")]
+  public static extern global::System.IntPtr Button_GetSelectedImage(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_PressedSignal")]
+  public static extern global::System.IntPtr Button_PressedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_ReleasedSignal")]
+  public static extern global::System.IntPtr Button_ReleasedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_ClickedSignal")]
+  public static extern global::System.IntPtr Button_ClickedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_StateChangedSignal")]
+  public static extern global::System.IntPtr Button_StateChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_CheckBoxButton__SWIG_0")]
+  public static extern global::System.IntPtr new_CheckBoxButton__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_CheckBoxButton__SWIG_1")]
+  public static extern global::System.IntPtr new_CheckBoxButton__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CheckBoxButton_Assign")]
+  public static extern global::System.IntPtr CheckBoxButton_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_CheckBoxButton")]
+  public static extern void delete_CheckBoxButton(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CheckBoxButton_New")]
+  public static extern global::System.IntPtr CheckBoxButton_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CheckBoxButton_DownCast")]
+  public static extern global::System.IntPtr CheckBoxButton_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PushButton_Property_UNSELECTED_ICON_get")]
+  public static extern int PushButton_Property_UNSELECTED_ICON_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PushButton_Property_SELECTED_ICON_get")]
+  public static extern int PushButton_Property_SELECTED_ICON_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PushButton_Property_ICON_ALIGNMENT_get")]
+  public static extern int PushButton_Property_ICON_ALIGNMENT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PushButton_Property_LABEL_PADDING_get")]
+  public static extern int PushButton_Property_LABEL_PADDING_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PushButton_Property_ICON_PADDING_get")]
+  public static extern int PushButton_Property_ICON_PADDING_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PushButton_Property")]
+  public static extern global::System.IntPtr new_PushButton_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PushButton_Property")]
+  public static extern void delete_PushButton_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PushButton__SWIG_0")]
+  public static extern global::System.IntPtr new_PushButton__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PushButton__SWIG_1")]
+  public static extern global::System.IntPtr new_PushButton__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PushButton_Assign")]
+  public static extern global::System.IntPtr PushButton_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PushButton")]
+  public static extern void delete_PushButton(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PushButton_New")]
+  public static extern global::System.IntPtr PushButton_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PushButton_DownCast")]
+  public static extern global::System.IntPtr PushButton_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PushButton_SetButtonImage__SWIG_0_0")]
+  public static extern void PushButton_SetButtonImage__SWIG_0_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PushButton_SetButtonImage__SWIG_1")]
+  public static extern void PushButton_SetButtonImage__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PushButton_SetBackgroundImage")]
+  public static extern void PushButton_SetBackgroundImage(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PushButton_SetSelectedImage__SWIG_0_0")]
+  public static extern void PushButton_SetSelectedImage__SWIG_0_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PushButton_SetSelectedImage__SWIG_1")]
+  public static extern void PushButton_SetSelectedImage__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PushButton_SetSelectedBackgroundImage")]
+  public static extern void PushButton_SetSelectedBackgroundImage(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PushButton_SetDisabledBackgroundImage")]
+  public static extern void PushButton_SetDisabledBackgroundImage(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PushButton_SetDisabledImage")]
+  public static extern void PushButton_SetDisabledImage(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PushButton_SetDisabledSelectedImage")]
+  public static extern void PushButton_SetDisabledSelectedImage(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_RadioButton__SWIG_0")]
+  public static extern global::System.IntPtr new_RadioButton__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_RadioButton__SWIG_1")]
+  public static extern global::System.IntPtr new_RadioButton__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RadioButton_Assign")]
+  public static extern global::System.IntPtr RadioButton_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_RadioButton")]
+  public static extern void delete_RadioButton(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RadioButton_New__SWIG_0")]
+  public static extern global::System.IntPtr RadioButton_New__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RadioButton_New__SWIG_1")]
+  public static extern global::System.IntPtr RadioButton_New__SWIG_1(string jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RadioButton_DownCast")]
+  public static extern global::System.IntPtr RadioButton_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FlexContainer_Property_CONTENT_DIRECTION_get")]
+  public static extern int FlexContainer_Property_CONTENT_DIRECTION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FlexContainer_Property_FLEX_DIRECTION_get")]
+  public static extern int FlexContainer_Property_FLEX_DIRECTION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FlexContainer_Property_FLEX_WRAP_get")]
+  public static extern int FlexContainer_Property_FLEX_WRAP_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FlexContainer_Property_JUSTIFY_CONTENT_get")]
+  public static extern int FlexContainer_Property_JUSTIFY_CONTENT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FlexContainer_Property_ALIGN_ITEMS_get")]
+  public static extern int FlexContainer_Property_ALIGN_ITEMS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FlexContainer_Property_ALIGN_CONTENT_get")]
+  public static extern int FlexContainer_Property_ALIGN_CONTENT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_FlexContainer_Property")]
+  public static extern global::System.IntPtr new_FlexContainer_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_FlexContainer_Property")]
+  public static extern void delete_FlexContainer_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FlexContainer_ChildProperty_FLEX_get")]
+  public static extern int FlexContainer_ChildProperty_FLEX_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FlexContainer_ChildProperty_ALIGN_SELF_get")]
+  public static extern int FlexContainer_ChildProperty_ALIGN_SELF_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FlexContainer_ChildProperty_FLEX_MARGIN_get")]
+  public static extern int FlexContainer_ChildProperty_FLEX_MARGIN_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_FlexContainer_ChildProperty")]
+  public static extern global::System.IntPtr new_FlexContainer_ChildProperty();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_FlexContainer_ChildProperty")]
+  public static extern void delete_FlexContainer_ChildProperty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_FlexContainer__SWIG_0")]
+  public static extern global::System.IntPtr new_FlexContainer__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_FlexContainer__SWIG_1")]
+  public static extern global::System.IntPtr new_FlexContainer__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FlexContainer_Assign")]
+  public static extern global::System.IntPtr FlexContainer_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_FlexContainer")]
+  public static extern void delete_FlexContainer(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FlexContainer_New")]
+  public static extern global::System.IntPtr FlexContainer_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FlexContainer_DownCast")]
+  public static extern global::System.IntPtr FlexContainer_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ImageView_Property_RESOURCE_URL_get")]
+  public static extern int ImageView_Property_RESOURCE_URL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ImageView_Property_IMAGE_get")]
+  public static extern int ImageView_Property_IMAGE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ImageView_Property_PRE_MULTIPLIED_ALPHA_get")]
+  public static extern int ImageView_Property_PRE_MULTIPLIED_ALPHA_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ImageView_Property_PIXEL_AREA_get")]
+  public static extern int ImageView_Property_PIXEL_AREA_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ImageView_Property")]
+  public static extern global::System.IntPtr new_ImageView_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ImageView_Property")]
+  public static extern void delete_ImageView_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ImageView__SWIG_0")]
+  public static extern global::System.IntPtr new_ImageView__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ImageView_New__SWIG_0")]
+  public static extern global::System.IntPtr ImageView_New__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ImageView_New__SWIG_1")]
+  public static extern global::System.IntPtr ImageView_New__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ImageView_New__SWIG_2")]
+  public static extern global::System.IntPtr ImageView_New__SWIG_2(string jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ImageView_New__SWIG_3")]
+  public static extern global::System.IntPtr ImageView_New__SWIG_3(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ImageView")]
+  public static extern void delete_ImageView(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ImageView__SWIG_1")]
+  public static extern global::System.IntPtr new_ImageView__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ImageView_Assign")]
+  public static extern global::System.IntPtr ImageView_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ImageView_DownCast")]
+  public static extern global::System.IntPtr ImageView_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ImageView_SetImage__SWIG_0")]
+  public static extern void ImageView_SetImage__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ImageView_SetImage__SWIG_1")]
+  public static extern void ImageView_SetImage__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ImageView_SetImage__SWIG_2")]
+  public static extern void ImageView_SetImage__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ImageView_GetImage")]
+  public static extern global::System.IntPtr ImageView_GetImage(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Model3dView_Property_GEOMETRY_URL_get")]
+  public static extern int Model3dView_Property_GEOMETRY_URL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Model3dView_Property_MATERIAL_URL_get")]
+  public static extern int Model3dView_Property_MATERIAL_URL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Model3dView_Property_IMAGES_URL_get")]
+  public static extern int Model3dView_Property_IMAGES_URL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Model3dView_Property_ILLUMINATION_TYPE_get")]
+  public static extern int Model3dView_Property_ILLUMINATION_TYPE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Model3dView_Property_TEXTURE0_URL_get")]
+  public static extern int Model3dView_Property_TEXTURE0_URL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Model3dView_Property_TEXTURE1_URL_get")]
+  public static extern int Model3dView_Property_TEXTURE1_URL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Model3dView_Property_TEXTURE2_URL_get")]
+  public static extern int Model3dView_Property_TEXTURE2_URL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Model3dView_Property_LIGHT_POSITION_get")]
+  public static extern int Model3dView_Property_LIGHT_POSITION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Model3dView_Property")]
+  public static extern global::System.IntPtr new_Model3dView_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Model3dView_Property")]
+  public static extern void delete_Model3dView_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Model3dView_New__SWIG_0")]
+  public static extern global::System.IntPtr Model3dView_New__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Model3dView_New__SWIG_1")]
+  public static extern global::System.IntPtr Model3dView_New__SWIG_1(string jarg1, string jarg2, string jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Model3dView__SWIG_0")]
+  public static extern global::System.IntPtr new_Model3dView__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Model3dView")]
+  public static extern void delete_Model3dView(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Model3dView__SWIG_1")]
+  public static extern global::System.IntPtr new_Model3dView__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Model3dView_Assign")]
+  public static extern global::System.IntPtr Model3dView_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Model3dView_DownCast")]
+  public static extern global::System.IntPtr Model3dView_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_Property_SCROLL_DIRECTION_get")]
+  public static extern int ScrollBar_Property_SCROLL_DIRECTION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_Property_INDICATOR_HEIGHT_POLICY_get")]
+  public static extern int ScrollBar_Property_INDICATOR_HEIGHT_POLICY_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_Property_INDICATOR_FIXED_HEIGHT_get")]
+  public static extern int ScrollBar_Property_INDICATOR_FIXED_HEIGHT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_Property_INDICATOR_SHOW_DURATION_get")]
+  public static extern int ScrollBar_Property_INDICATOR_SHOW_DURATION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_Property_INDICATOR_HIDE_DURATION_get")]
+  public static extern int ScrollBar_Property_INDICATOR_HIDE_DURATION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_Property_SCROLL_POSITION_INTERVALS_get")]
+  public static extern int ScrollBar_Property_SCROLL_POSITION_INTERVALS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_Property_INDICATOR_MINIMUM_HEIGHT_get")]
+  public static extern int ScrollBar_Property_INDICATOR_MINIMUM_HEIGHT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_Property_INDICATOR_START_PADDING_get")]
+  public static extern int ScrollBar_Property_INDICATOR_START_PADDING_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_Property_INDICATOR_END_PADDING_get")]
+  public static extern int ScrollBar_Property_INDICATOR_END_PADDING_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ScrollBar_Property")]
+  public static extern global::System.IntPtr new_ScrollBar_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ScrollBar_Property")]
+  public static extern void delete_ScrollBar_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ScrollBar__SWIG_0")]
+  public static extern global::System.IntPtr new_ScrollBar__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ScrollBar__SWIG_1")]
+  public static extern global::System.IntPtr new_ScrollBar__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_Assign")]
+  public static extern global::System.IntPtr ScrollBar_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ScrollBar")]
+  public static extern void delete_ScrollBar(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_New__SWIG_0")]
+  public static extern global::System.IntPtr ScrollBar_New__SWIG_0(int jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_New__SWIG_1")]
+  public static extern global::System.IntPtr ScrollBar_New__SWIG_1();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_DownCast")]
+  public static extern global::System.IntPtr ScrollBar_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_SetScrollPropertySource")]
+  public static extern void ScrollBar_SetScrollPropertySource(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3, int jarg4, int jarg5, int jarg6);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_SetScrollIndicator")]
+  public static extern void ScrollBar_SetScrollIndicator(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_GetScrollIndicator")]
+  public static extern global::System.IntPtr ScrollBar_GetScrollIndicator(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_SetScrollPositionIntervals")]
+  public static extern void ScrollBar_SetScrollPositionIntervals(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_GetScrollPositionIntervals")]
+  public static extern global::System.IntPtr ScrollBar_GetScrollPositionIntervals(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_SetScrollDirection")]
+  public static extern void ScrollBar_SetScrollDirection(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_GetScrollDirection")]
+  public static extern int ScrollBar_GetScrollDirection(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_SetIndicatorHeightPolicy")]
+  public static extern void ScrollBar_SetIndicatorHeightPolicy(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_GetIndicatorHeightPolicy")]
+  public static extern int ScrollBar_GetIndicatorHeightPolicy(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_SetIndicatorFixedHeight")]
+  public static extern void ScrollBar_SetIndicatorFixedHeight(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_GetIndicatorFixedHeight")]
+  public static extern float ScrollBar_GetIndicatorFixedHeight(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_SetIndicatorShowDuration")]
+  public static extern void ScrollBar_SetIndicatorShowDuration(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_GetIndicatorShowDuration")]
+  public static extern float ScrollBar_GetIndicatorShowDuration(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_SetIndicatorHideDuration")]
+  public static extern void ScrollBar_SetIndicatorHideDuration(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_GetIndicatorHideDuration")]
+  public static extern float ScrollBar_GetIndicatorHideDuration(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_ShowIndicator")]
+  public static extern void ScrollBar_ShowIndicator(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_HideIndicator")]
+  public static extern void ScrollBar_HideIndicator(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_PanFinishedSignal")]
+  public static extern global::System.IntPtr ScrollBar_PanFinishedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_ScrollPositionIntervalReachedSignal")]
+  public static extern global::System.IntPtr ScrollBar_ScrollPositionIntervalReachedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_Property_OVERSHOOT_EFFECT_COLOR_get")]
+  public static extern int Scrollable_Property_OVERSHOOT_EFFECT_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_Property_OVERSHOOT_ANIMATION_SPEED_get")]
+  public static extern int Scrollable_Property_OVERSHOOT_ANIMATION_SPEED_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_Property_OVERSHOOT_ENABLED_get")]
+  public static extern int Scrollable_Property_OVERSHOOT_ENABLED_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_Property_OVERSHOOT_SIZE_get")]
+  public static extern int Scrollable_Property_OVERSHOOT_SIZE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_Property_SCROLL_TO_ALPHA_FUNCTION_get")]
+  public static extern int Scrollable_Property_SCROLL_TO_ALPHA_FUNCTION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_Property_SCROLL_RELATIVE_POSITION_get")]
+  public static extern int Scrollable_Property_SCROLL_RELATIVE_POSITION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_Property_SCROLL_POSITION_MIN_get")]
+  public static extern int Scrollable_Property_SCROLL_POSITION_MIN_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_Property_SCROLL_POSITION_MIN_X_get")]
+  public static extern int Scrollable_Property_SCROLL_POSITION_MIN_X_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_Property_SCROLL_POSITION_MIN_Y_get")]
+  public static extern int Scrollable_Property_SCROLL_POSITION_MIN_Y_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_Property_SCROLL_POSITION_MAX_get")]
+  public static extern int Scrollable_Property_SCROLL_POSITION_MAX_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_Property_SCROLL_POSITION_MAX_X_get")]
+  public static extern int Scrollable_Property_SCROLL_POSITION_MAX_X_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_Property_SCROLL_POSITION_MAX_Y_get")]
+  public static extern int Scrollable_Property_SCROLL_POSITION_MAX_Y_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_Property_CAN_SCROLL_VERTICAL_get")]
+  public static extern int Scrollable_Property_CAN_SCROLL_VERTICAL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_Property_CAN_SCROLL_HORIZONTAL_get")]
+  public static extern int Scrollable_Property_CAN_SCROLL_HORIZONTAL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Scrollable_Property")]
+  public static extern global::System.IntPtr new_Scrollable_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Scrollable_Property")]
+  public static extern void delete_Scrollable_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Scrollable__SWIG_0")]
+  public static extern global::System.IntPtr new_Scrollable__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Scrollable__SWIG_1")]
+  public static extern global::System.IntPtr new_Scrollable__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_Assign")]
+  public static extern global::System.IntPtr Scrollable_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Scrollable")]
+  public static extern void delete_Scrollable(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_DownCast")]
+  public static extern global::System.IntPtr Scrollable_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_IsOvershootEnabled")]
+  public static extern bool Scrollable_IsOvershootEnabled(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_SetOvershootEnabled")]
+  public static extern void Scrollable_SetOvershootEnabled(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_SetOvershootEffectColor")]
+  public static extern void Scrollable_SetOvershootEffectColor(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_GetOvershootEffectColor")]
+  public static extern global::System.IntPtr Scrollable_GetOvershootEffectColor(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_SetOvershootAnimationSpeed")]
+  public static extern void Scrollable_SetOvershootAnimationSpeed(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_GetOvershootAnimationSpeed")]
+  public static extern float Scrollable_GetOvershootAnimationSpeed(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_ScrollStartedSignal")]
+  public static extern global::System.IntPtr Scrollable_ScrollStartedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_ScrollUpdatedSignal")]
+  public static extern global::System.IntPtr Scrollable_ScrollUpdatedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_ScrollCompletedSignal")]
+  public static extern global::System.IntPtr Scrollable_ScrollCompletedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_IsVertical")]
+  public static extern bool IsVertical(int jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_IsHorizontal")]
+  public static extern bool IsHorizontal(int jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ItemRange__SWIG_0")]
+  public static extern global::System.IntPtr new_ItemRange__SWIG_0(uint jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ItemRange__SWIG_1")]
+  public static extern global::System.IntPtr new_ItemRange__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemRange_Assign")]
+  public static extern global::System.IntPtr ItemRange_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemRange_Within")]
+  public static extern bool ItemRange_Within(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemRange_Intersection")]
+  public static extern global::System.IntPtr ItemRange_Intersection(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemRange_begin_set")]
+  public static extern void ItemRange_begin_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemRange_begin_get")]
+  public static extern uint ItemRange_begin_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemRange_end_set")]
+  public static extern void ItemRange_end_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemRange_end_get")]
+  public static extern uint ItemRange_end_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ItemRange")]
+  public static extern void delete_ItemRange(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ItemLayout")]
+  public static extern void delete_ItemLayout(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemLayout_SetOrientation")]
+  public static extern void ItemLayout_SetOrientation(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemLayout_GetOrientation")]
+  public static extern int ItemLayout_GetOrientation(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemLayout_SetLayoutProperties")]
+  public static extern void ItemLayout_SetLayoutProperties(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemLayout_GetLayoutProperties")]
+  public static extern global::System.IntPtr ItemLayout_GetLayoutProperties(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemLayout_GetItemSize")]
+  public static extern void ItemLayout_GetItemSize(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemLayout_SetItemSize")]
+  public static extern void ItemLayout_SetItemSize(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemLayout_GetMinimumLayoutPosition")]
+  public static extern float ItemLayout_GetMinimumLayoutPosition(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemLayout_GetClosestAnchorPosition")]
+  public static extern float ItemLayout_GetClosestAnchorPosition(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemLayout_GetItemScrollToPosition")]
+  public static extern float ItemLayout_GetItemScrollToPosition(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemLayout_GetItemsWithinArea")]
+  public static extern global::System.IntPtr ItemLayout_GetItemsWithinArea(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemLayout_GetClosestOnScreenLayoutPosition")]
+  public static extern float ItemLayout_GetClosestOnScreenLayoutPosition(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, float jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemLayout_GetReserveItemCount")]
+  public static extern uint ItemLayout_GetReserveItemCount(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemLayout_GetDefaultItemSize")]
+  public static extern void ItemLayout_GetDefaultItemSize(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemLayout_GetScrollDirection")]
+  public static extern global::System.IntPtr ItemLayout_GetScrollDirection(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemLayout_GetScrollSpeedFactor")]
+  public static extern float ItemLayout_GetScrollSpeedFactor(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemLayout_GetMaximumSwipeSpeed")]
+  public static extern float ItemLayout_GetMaximumSwipeSpeed(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemLayout_GetItemFlickAnimationDuration")]
+  public static extern float ItemLayout_GetItemFlickAnimationDuration(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemLayout_GetNextFocusItemID")]
+  public static extern int ItemLayout_GetNextFocusItemID(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3, int jarg4, bool jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemLayout_GetFlickSpeedFactor")]
+  public static extern float ItemLayout_GetFlickSpeedFactor(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemLayout_ApplyConstraints")]
+  public static extern void ItemLayout_ApplyConstraints(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemLayout_GetItemPosition")]
+  public static extern global::System.IntPtr ItemLayout_GetItemPosition(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, float jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NewItemLayout")]
+  public static extern global::System.IntPtr NewItemLayout(int jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ItemFactory")]
+  public static extern void delete_ItemFactory(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemFactory_GetNumberOfItems")]
+  public static extern uint ItemFactory_GetNumberOfItems(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemFactory_NewItem")]
+  public static extern global::System.IntPtr ItemFactory_NewItem(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemFactory_ItemReleased")]
+  public static extern void ItemFactory_ItemReleased(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemFactory_ItemReleasedSwigExplicitItemFactory")]
+  public static extern void ItemFactory_ItemReleasedSwigExplicitItemFactory(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ItemFactory")]
+  public static extern global::System.IntPtr new_ItemFactory();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemFactory_director_connect")]
+  public static extern void ItemFactory_director_connect(global::System.Runtime.InteropServices.HandleRef jarg1, ItemFactory.SwigDelegateItemFactory_0 delegate0, ItemFactory.SwigDelegateItemFactory_1 delegate1, ItemFactory.SwigDelegateItemFactory_2 delegate2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_Property_MINIMUM_SWIPE_SPEED_get")]
+  public static extern int ItemView_Property_MINIMUM_SWIPE_SPEED_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_Property_MINIMUM_SWIPE_DISTANCE_get")]
+  public static extern int ItemView_Property_MINIMUM_SWIPE_DISTANCE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_Property_WHEEL_SCROLL_DISTANCE_STEP_get")]
+  public static extern int ItemView_Property_WHEEL_SCROLL_DISTANCE_STEP_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_Property_SNAP_TO_ITEM_ENABLED_get")]
+  public static extern int ItemView_Property_SNAP_TO_ITEM_ENABLED_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_Property_REFRESH_INTERVAL_get")]
+  public static extern int ItemView_Property_REFRESH_INTERVAL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_Property_LAYOUT_POSITION_get")]
+  public static extern int ItemView_Property_LAYOUT_POSITION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_Property_SCROLL_SPEED_get")]
+  public static extern int ItemView_Property_SCROLL_SPEED_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_Property_OVERSHOOT_get")]
+  public static extern int ItemView_Property_OVERSHOOT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_Property_SCROLL_DIRECTION_get")]
+  public static extern int ItemView_Property_SCROLL_DIRECTION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_Property_LAYOUT_ORIENTATION_get")]
+  public static extern int ItemView_Property_LAYOUT_ORIENTATION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_Property_SCROLL_CONTENT_SIZE_get")]
+  public static extern int ItemView_Property_SCROLL_CONTENT_SIZE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ItemView_Property")]
+  public static extern global::System.IntPtr new_ItemView_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ItemView_Property")]
+  public static extern void delete_ItemView_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ItemView__SWIG_0")]
+  public static extern global::System.IntPtr new_ItemView__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ItemView__SWIG_1")]
+  public static extern global::System.IntPtr new_ItemView__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_Assign")]
+  public static extern global::System.IntPtr ItemView_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ItemView")]
+  public static extern void delete_ItemView(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_New")]
+  public static extern global::System.IntPtr ItemView_New(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_DownCast")]
+  public static extern global::System.IntPtr ItemView_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_GetLayoutCount")]
+  public static extern uint ItemView_GetLayoutCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_AddLayout")]
+  public static extern void ItemView_AddLayout(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_RemoveLayout")]
+  public static extern void ItemView_RemoveLayout(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_GetLayout")]
+  public static extern global::System.IntPtr ItemView_GetLayout(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_GetActiveLayout")]
+  public static extern global::System.IntPtr ItemView_GetActiveLayout(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_GetCurrentLayoutPosition")]
+  public static extern float ItemView_GetCurrentLayoutPosition(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_ActivateLayout")]
+  public static extern void ItemView_ActivateLayout(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, float jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_DeactivateCurrentLayout")]
+  public static extern void ItemView_DeactivateCurrentLayout(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_SetMinimumSwipeSpeed")]
+  public static extern void ItemView_SetMinimumSwipeSpeed(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_GetMinimumSwipeSpeed")]
+  public static extern float ItemView_GetMinimumSwipeSpeed(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_SetMinimumSwipeDistance")]
+  public static extern void ItemView_SetMinimumSwipeDistance(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_GetMinimumSwipeDistance")]
+  public static extern float ItemView_GetMinimumSwipeDistance(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_SetWheelScrollDistanceStep")]
+  public static extern void ItemView_SetWheelScrollDistanceStep(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_GetWheelScrollDistanceStep")]
+  public static extern float ItemView_GetWheelScrollDistanceStep(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_SetAnchoring")]
+  public static extern void ItemView_SetAnchoring(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_GetAnchoring")]
+  public static extern bool ItemView_GetAnchoring(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_SetAnchoringDuration")]
+  public static extern void ItemView_SetAnchoringDuration(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_GetAnchoringDuration")]
+  public static extern float ItemView_GetAnchoringDuration(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_ScrollToItem")]
+  public static extern void ItemView_ScrollToItem(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_SetRefreshInterval")]
+  public static extern void ItemView_SetRefreshInterval(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_GetRefreshInterval")]
+  public static extern float ItemView_GetRefreshInterval(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_Refresh")]
+  public static extern void ItemView_Refresh(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_GetItem")]
+  public static extern global::System.IntPtr ItemView_GetItem(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_GetItemId")]
+  public static extern uint ItemView_GetItemId(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_InsertItem")]
+  public static extern void ItemView_InsertItem(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_InsertItems")]
+  public static extern void ItemView_InsertItems(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_RemoveItem")]
+  public static extern void ItemView_RemoveItem(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_RemoveItems")]
+  public static extern void ItemView_RemoveItems(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_ReplaceItem")]
+  public static extern void ItemView_ReplaceItem(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_ReplaceItems")]
+  public static extern void ItemView_ReplaceItems(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_SetItemsParentOrigin")]
+  public static extern void ItemView_SetItemsParentOrigin(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_GetItemsParentOrigin")]
+  public static extern global::System.IntPtr ItemView_GetItemsParentOrigin(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_SetItemsAnchorPoint")]
+  public static extern void ItemView_SetItemsAnchorPoint(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_GetItemsAnchorPoint")]
+  public static extern global::System.IntPtr ItemView_GetItemsAnchorPoint(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_GetItemsRange")]
+  public static extern void ItemView_GetItemsRange(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_LayoutActivatedSignal")]
+  public static extern global::System.IntPtr ItemView_LayoutActivatedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_MoveActorConstraint")]
+  public static extern void MoveActorConstraint(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_WrapActorConstraint")]
+  public static extern void WrapActorConstraint(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ScrollViewEffect")]
+  public static extern global::System.IntPtr new_ScrollViewEffect();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ScrollViewEffect")]
+  public static extern void delete_ScrollViewEffect(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollViewPagePathEffect_New")]
+  public static extern global::System.IntPtr ScrollViewPagePathEffect_New(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, uint jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ScrollViewPagePathEffect")]
+  public static extern global::System.IntPtr new_ScrollViewPagePathEffect();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollViewPagePathEffect_DownCast")]
+  public static extern global::System.IntPtr ScrollViewPagePathEffect_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollViewPagePathEffect_ApplyToPage")]
+  public static extern void ScrollViewPagePathEffect_ApplyToPage(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, uint jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ScrollViewPagePathEffect")]
+  public static extern void delete_ScrollViewPagePathEffect(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ClampState2D_x_set")]
+  public static extern void ClampState2D_x_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ClampState2D_x_get")]
+  public static extern int ClampState2D_x_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ClampState2D_y_set")]
+  public static extern void ClampState2D_y_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ClampState2D_y_get")]
+  public static extern int ClampState2D_y_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ClampState2D")]
+  public static extern global::System.IntPtr new_ClampState2D();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ClampState2D")]
+  public static extern void delete_ClampState2D(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_RulerDomain__SWIG_0")]
+  public static extern global::System.IntPtr new_RulerDomain__SWIG_0(float jarg1, float jarg2, bool jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_RulerDomain__SWIG_1")]
+  public static extern global::System.IntPtr new_RulerDomain__SWIG_1(float jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerDomain_min_set")]
+  public static extern void RulerDomain_min_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerDomain_min_get")]
+  public static extern float RulerDomain_min_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerDomain_max_set")]
+  public static extern void RulerDomain_max_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerDomain_max_get")]
+  public static extern float RulerDomain_max_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerDomain_enabled_set")]
+  public static extern void RulerDomain_enabled_set(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerDomain_enabled_get")]
+  public static extern bool RulerDomain_enabled_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerDomain_Clamp__SWIG_0")]
+  public static extern float RulerDomain_Clamp__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3, float jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerDomain_Clamp__SWIG_1")]
+  public static extern float RulerDomain_Clamp__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerDomain_Clamp__SWIG_2")]
+  public static extern float RulerDomain_Clamp__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerDomain_Clamp__SWIG_3")]
+  public static extern float RulerDomain_Clamp__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3, float jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerDomain_GetSize")]
+  public static extern float RulerDomain_GetSize(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_RulerDomain")]
+  public static extern void delete_RulerDomain(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Ruler_Snap__SWIG_0")]
+  public static extern float Ruler_Snap__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Ruler_Snap__SWIG_1")]
+  public static extern float Ruler_Snap__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Ruler_GetPositionFromPage")]
+  public static extern float Ruler_GetPositionFromPage(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, out uint jarg3, bool jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Ruler_GetPageFromPosition")]
+  public static extern uint Ruler_GetPageFromPosition(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, bool jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Ruler_GetTotalPages")]
+  public static extern uint Ruler_GetTotalPages(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Ruler_GetType")]
+  public static extern int Ruler_GetType(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Ruler_IsEnabled")]
+  public static extern bool Ruler_IsEnabled(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Ruler_Enable")]
+  public static extern void Ruler_Enable(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Ruler_Disable")]
+  public static extern void Ruler_Disable(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Ruler_SetDomain")]
+  public static extern void Ruler_SetDomain(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Ruler_GetDomain")]
+  public static extern global::System.IntPtr Ruler_GetDomain(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Ruler_DisableDomain")]
+  public static extern void Ruler_DisableDomain(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Ruler_Clamp__SWIG_0")]
+  public static extern float Ruler_Clamp__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3, float jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Ruler_Clamp__SWIG_1")]
+  public static extern float Ruler_Clamp__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Ruler_Clamp__SWIG_2")]
+  public static extern float Ruler_Clamp__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Ruler_Clamp__SWIG_3")]
+  public static extern float Ruler_Clamp__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3, float jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Ruler_SnapAndClamp__SWIG_0")]
+  public static extern float Ruler_SnapAndClamp__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3, float jarg4, float jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Ruler_SnapAndClamp__SWIG_1")]
+  public static extern float Ruler_SnapAndClamp__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3, float jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Ruler_SnapAndClamp__SWIG_2")]
+  public static extern float Ruler_SnapAndClamp__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Ruler_SnapAndClamp__SWIG_3")]
+  public static extern float Ruler_SnapAndClamp__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Ruler_SnapAndClamp__SWIG_4")]
+  public static extern float Ruler_SnapAndClamp__SWIG_4(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3, float jarg4, float jarg5, global::System.Runtime.InteropServices.HandleRef jarg6);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_DefaultRuler")]
+  public static extern global::System.IntPtr new_DefaultRuler();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_DefaultRuler_Snap")]
+  public static extern float DefaultRuler_Snap(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_DefaultRuler_GetPositionFromPage")]
+  public static extern float DefaultRuler_GetPositionFromPage(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, out uint jarg3, bool jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_DefaultRuler_GetPageFromPosition")]
+  public static extern uint DefaultRuler_GetPageFromPosition(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, bool jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_DefaultRuler_GetTotalPages")]
+  public static extern uint DefaultRuler_GetTotalPages(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_DefaultRuler")]
+  public static extern void delete_DefaultRuler(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_FixedRuler__SWIG_0")]
+  public static extern global::System.IntPtr new_FixedRuler__SWIG_0(float jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_FixedRuler__SWIG_1")]
+  public static extern global::System.IntPtr new_FixedRuler__SWIG_1();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FixedRuler_Snap")]
+  public static extern float FixedRuler_Snap(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FixedRuler_GetPositionFromPage")]
+  public static extern float FixedRuler_GetPositionFromPage(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, out uint jarg3, bool jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FixedRuler_GetPageFromPosition")]
+  public static extern uint FixedRuler_GetPageFromPosition(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, bool jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FixedRuler_GetTotalPages")]
+  public static extern uint FixedRuler_GetTotalPages(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_FixedRuler")]
+  public static extern void delete_FixedRuler(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_ClampEvent_scale_set")]
+  public static extern void ScrollView_ClampEvent_scale_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_ClampEvent_scale_get")]
+  public static extern global::System.IntPtr ScrollView_ClampEvent_scale_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_ClampEvent_position_set")]
+  public static extern void ScrollView_ClampEvent_position_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_ClampEvent_position_get")]
+  public static extern global::System.IntPtr ScrollView_ClampEvent_position_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_ClampEvent_rotation_set")]
+  public static extern void ScrollView_ClampEvent_rotation_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_ClampEvent_rotation_get")]
+  public static extern int ScrollView_ClampEvent_rotation_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ScrollView_ClampEvent")]
+  public static extern global::System.IntPtr new_ScrollView_ClampEvent();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ScrollView_ClampEvent")]
+  public static extern void delete_ScrollView_ClampEvent(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SnapEvent_type_set")]
+  public static extern void ScrollView_SnapEvent_type_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SnapEvent_type_get")]
+  public static extern int ScrollView_SnapEvent_type_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SnapEvent_position_set")]
+  public static extern void ScrollView_SnapEvent_position_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SnapEvent_position_get")]
+  public static extern global::System.IntPtr ScrollView_SnapEvent_position_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SnapEvent_duration_set")]
+  public static extern void ScrollView_SnapEvent_duration_set(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SnapEvent_duration_get")]
+  public static extern float ScrollView_SnapEvent_duration_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ScrollView_SnapEvent")]
+  public static extern global::System.IntPtr new_ScrollView_SnapEvent();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ScrollView_SnapEvent")]
+  public static extern void delete_ScrollView_SnapEvent(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_WRAP_ENABLED_get")]
+  public static extern int ScrollView_Property_WRAP_ENABLED_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_PANNING_ENABLED_get")]
+  public static extern int ScrollView_Property_PANNING_ENABLED_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_AXIS_AUTO_LOCK_ENABLED_get")]
+  public static extern int ScrollView_Property_AXIS_AUTO_LOCK_ENABLED_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_WHEEL_SCROLL_DISTANCE_STEP_get")]
+  public static extern int ScrollView_Property_WHEEL_SCROLL_DISTANCE_STEP_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_SCROLL_POSITION_get")]
+  public static extern int ScrollView_Property_SCROLL_POSITION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_SCROLL_PRE_POSITION_get")]
+  public static extern int ScrollView_Property_SCROLL_PRE_POSITION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_SCROLL_PRE_POSITION_X_get")]
+  public static extern int ScrollView_Property_SCROLL_PRE_POSITION_X_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_SCROLL_PRE_POSITION_Y_get")]
+  public static extern int ScrollView_Property_SCROLL_PRE_POSITION_Y_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_SCROLL_PRE_POSITION_MAX_get")]
+  public static extern int ScrollView_Property_SCROLL_PRE_POSITION_MAX_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_SCROLL_PRE_POSITION_MAX_X_get")]
+  public static extern int ScrollView_Property_SCROLL_PRE_POSITION_MAX_X_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_SCROLL_PRE_POSITION_MAX_Y_get")]
+  public static extern int ScrollView_Property_SCROLL_PRE_POSITION_MAX_Y_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_OVERSHOOT_X_get")]
+  public static extern int ScrollView_Property_OVERSHOOT_X_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_OVERSHOOT_Y_get")]
+  public static extern int ScrollView_Property_OVERSHOOT_Y_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_SCROLL_FINAL_get")]
+  public static extern int ScrollView_Property_SCROLL_FINAL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_SCROLL_FINAL_X_get")]
+  public static extern int ScrollView_Property_SCROLL_FINAL_X_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_SCROLL_FINAL_Y_get")]
+  public static extern int ScrollView_Property_SCROLL_FINAL_Y_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_WRAP_get")]
+  public static extern int ScrollView_Property_WRAP_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_PANNING_get")]
+  public static extern int ScrollView_Property_PANNING_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_SCROLLING_get")]
+  public static extern int ScrollView_Property_SCROLLING_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_SCROLL_DOMAIN_SIZE_get")]
+  public static extern int ScrollView_Property_SCROLL_DOMAIN_SIZE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_SCROLL_DOMAIN_SIZE_X_get")]
+  public static extern int ScrollView_Property_SCROLL_DOMAIN_SIZE_X_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_SCROLL_DOMAIN_SIZE_Y_get")]
+  public static extern int ScrollView_Property_SCROLL_DOMAIN_SIZE_Y_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_SCROLL_DOMAIN_OFFSET_get")]
+  public static extern int ScrollView_Property_SCROLL_DOMAIN_OFFSET_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_SCROLL_POSITION_DELTA_get")]
+  public static extern int ScrollView_Property_SCROLL_POSITION_DELTA_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Property_START_PAGE_POSITION_get")]
+  public static extern int ScrollView_Property_START_PAGE_POSITION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ScrollView_Property")]
+  public static extern global::System.IntPtr new_ScrollView_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ScrollView_Property")]
+  public static extern void delete_ScrollView_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ScrollView__SWIG_0")]
+  public static extern global::System.IntPtr new_ScrollView__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ScrollView__SWIG_1")]
+  public static extern global::System.IntPtr new_ScrollView__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_Assign")]
+  public static extern global::System.IntPtr ScrollView_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ScrollView")]
+  public static extern void delete_ScrollView(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_New")]
+  public static extern global::System.IntPtr ScrollView_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_DownCast")]
+  public static extern global::System.IntPtr ScrollView_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_GetScrollSnapAlphaFunction")]
+  public static extern global::System.IntPtr ScrollView_GetScrollSnapAlphaFunction(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SetScrollSnapAlphaFunction")]
+  public static extern void ScrollView_SetScrollSnapAlphaFunction(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_GetScrollFlickAlphaFunction")]
+  public static extern global::System.IntPtr ScrollView_GetScrollFlickAlphaFunction(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SetScrollFlickAlphaFunction")]
+  public static extern void ScrollView_SetScrollFlickAlphaFunction(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_GetScrollSnapDuration")]
+  public static extern float ScrollView_GetScrollSnapDuration(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SetScrollSnapDuration")]
+  public static extern void ScrollView_SetScrollSnapDuration(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_GetScrollFlickDuration")]
+  public static extern float ScrollView_GetScrollFlickDuration(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SetScrollFlickDuration")]
+  public static extern void ScrollView_SetScrollFlickDuration(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SetRulerX")]
+  public static extern void ScrollView_SetRulerX(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SetRulerY")]
+  public static extern void ScrollView_SetRulerY(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SetScrollSensitive")]
+  public static extern void ScrollView_SetScrollSensitive(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SetMaxOvershoot")]
+  public static extern void ScrollView_SetMaxOvershoot(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SetSnapOvershootAlphaFunction")]
+  public static extern void ScrollView_SetSnapOvershootAlphaFunction(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SetSnapOvershootDuration")]
+  public static extern void ScrollView_SetSnapOvershootDuration(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SetActorAutoSnap")]
+  public static extern void ScrollView_SetActorAutoSnap(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SetWrapMode")]
+  public static extern void ScrollView_SetWrapMode(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_GetScrollUpdateDistance")]
+  public static extern int ScrollView_GetScrollUpdateDistance(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SetScrollUpdateDistance")]
+  public static extern void ScrollView_SetScrollUpdateDistance(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_GetAxisAutoLock")]
+  public static extern bool ScrollView_GetAxisAutoLock(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SetAxisAutoLock")]
+  public static extern void ScrollView_SetAxisAutoLock(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_GetAxisAutoLockGradient")]
+  public static extern float ScrollView_GetAxisAutoLockGradient(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SetAxisAutoLockGradient")]
+  public static extern void ScrollView_SetAxisAutoLockGradient(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_GetFrictionCoefficient")]
+  public static extern float ScrollView_GetFrictionCoefficient(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SetFrictionCoefficient")]
+  public static extern void ScrollView_SetFrictionCoefficient(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_GetFlickSpeedCoefficient")]
+  public static extern float ScrollView_GetFlickSpeedCoefficient(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SetFlickSpeedCoefficient")]
+  public static extern void ScrollView_SetFlickSpeedCoefficient(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_GetMinimumDistanceForFlick")]
+  public static extern global::System.IntPtr ScrollView_GetMinimumDistanceForFlick(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SetMinimumDistanceForFlick")]
+  public static extern void ScrollView_SetMinimumDistanceForFlick(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_GetMinimumSpeedForFlick")]
+  public static extern float ScrollView_GetMinimumSpeedForFlick(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SetMinimumSpeedForFlick")]
+  public static extern void ScrollView_SetMinimumSpeedForFlick(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_GetMaxFlickSpeed")]
+  public static extern float ScrollView_GetMaxFlickSpeed(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SetMaxFlickSpeed")]
+  public static extern void ScrollView_SetMaxFlickSpeed(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_GetWheelScrollDistanceStep")]
+  public static extern global::System.IntPtr ScrollView_GetWheelScrollDistanceStep(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SetWheelScrollDistanceStep")]
+  public static extern void ScrollView_SetWheelScrollDistanceStep(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_GetCurrentScrollPosition")]
+  public static extern global::System.IntPtr ScrollView_GetCurrentScrollPosition(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_GetCurrentPage")]
+  public static extern uint ScrollView_GetCurrentPage(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_ScrollTo__SWIG_0")]
+  public static extern void ScrollView_ScrollTo__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_ScrollTo__SWIG_1")]
+  public static extern void ScrollView_ScrollTo__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_ScrollTo__SWIG_2")]
+  public static extern void ScrollView_ScrollTo__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_ScrollTo__SWIG_3")]
+  public static extern void ScrollView_ScrollTo__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3, int jarg4, int jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_ScrollTo__SWIG_4")]
+  public static extern void ScrollView_ScrollTo__SWIG_4(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, int jarg5, int jarg6);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_ScrollTo__SWIG_5")]
+  public static extern void ScrollView_ScrollTo__SWIG_5(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_ScrollTo__SWIG_6")]
+  public static extern void ScrollView_ScrollTo__SWIG_6(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_ScrollTo__SWIG_7")]
+  public static extern void ScrollView_ScrollTo__SWIG_7(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, float jarg3, int jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_ScrollTo__SWIG_8")]
+  public static extern void ScrollView_ScrollTo__SWIG_8(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_ScrollTo__SWIG_9")]
+  public static extern void ScrollView_ScrollTo__SWIG_9(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_ScrollToSnapPoint")]
+  public static extern bool ScrollView_ScrollToSnapPoint(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_ApplyConstraintToChildren")]
+  public static extern void ScrollView_ApplyConstraintToChildren(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_RemoveConstraintsFromChildren")]
+  public static extern void ScrollView_RemoveConstraintsFromChildren(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_ApplyEffect")]
+  public static extern void ScrollView_ApplyEffect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_RemoveEffect")]
+  public static extern void ScrollView_RemoveEffect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_RemoveAllEffects")]
+  public static extern void ScrollView_RemoveAllEffects(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_BindActor")]
+  public static extern void ScrollView_BindActor(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_UnbindActor")]
+  public static extern void ScrollView_UnbindActor(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SetScrollingDirection__SWIG_0")]
+  public static extern void ScrollView_SetScrollingDirection__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SetScrollingDirection__SWIG_1")]
+  public static extern void ScrollView_SetScrollingDirection__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_RemoveScrollingDirection")]
+  public static extern void ScrollView_RemoveScrollingDirection(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SnapStartedSignal")]
+  public static extern global::System.IntPtr ScrollView_SnapStartedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_Property_ROWS_get")]
+  public static extern int TableView_Property_ROWS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_Property_COLUMNS_get")]
+  public static extern int TableView_Property_COLUMNS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_Property_CELL_PADDING_get")]
+  public static extern int TableView_Property_CELL_PADDING_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_Property_LAYOUT_ROWS_get")]
+  public static extern int TableView_Property_LAYOUT_ROWS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_Property_LAYOUT_COLUMNS_get")]
+  public static extern int TableView_Property_LAYOUT_COLUMNS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TableView_Property")]
+  public static extern global::System.IntPtr new_TableView_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TableView_Property")]
+  public static extern void delete_TableView_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_ChildProperty_CELL_INDEX_get")]
+  public static extern int TableView_ChildProperty_CELL_INDEX_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_ChildProperty_ROW_SPAN_get")]
+  public static extern int TableView_ChildProperty_ROW_SPAN_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_ChildProperty_COLUMN_SPAN_get")]
+  public static extern int TableView_ChildProperty_COLUMN_SPAN_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_ChildProperty_CELL_HORIZONTAL_ALIGNMENT_get")]
+  public static extern int TableView_ChildProperty_CELL_HORIZONTAL_ALIGNMENT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_ChildProperty_CELL_VERTICAL_ALIGNMENT_get")]
+  public static extern int TableView_ChildProperty_CELL_VERTICAL_ALIGNMENT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TableView_ChildProperty")]
+  public static extern global::System.IntPtr new_TableView_ChildProperty();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TableView_ChildProperty")]
+  public static extern void delete_TableView_ChildProperty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TableView_CellPosition__SWIG_0")]
+  public static extern global::System.IntPtr new_TableView_CellPosition__SWIG_0(uint jarg1, uint jarg2, uint jarg3, uint jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TableView_CellPosition__SWIG_1")]
+  public static extern global::System.IntPtr new_TableView_CellPosition__SWIG_1(uint jarg1, uint jarg2, uint jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TableView_CellPosition__SWIG_2")]
+  public static extern global::System.IntPtr new_TableView_CellPosition__SWIG_2(uint jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TableView_CellPosition__SWIG_3")]
+  public static extern global::System.IntPtr new_TableView_CellPosition__SWIG_3(uint jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TableView_CellPosition__SWIG_4")]
+  public static extern global::System.IntPtr new_TableView_CellPosition__SWIG_4();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_CellPosition_rowIndex_set")]
+  public static extern void TableView_CellPosition_rowIndex_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_CellPosition_rowIndex_get")]
+  public static extern uint TableView_CellPosition_rowIndex_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_CellPosition_columnIndex_set")]
+  public static extern void TableView_CellPosition_columnIndex_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_CellPosition_columnIndex_get")]
+  public static extern uint TableView_CellPosition_columnIndex_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_CellPosition_rowSpan_set")]
+  public static extern void TableView_CellPosition_rowSpan_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_CellPosition_rowSpan_get")]
+  public static extern uint TableView_CellPosition_rowSpan_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_CellPosition_columnSpan_set")]
+  public static extern void TableView_CellPosition_columnSpan_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_CellPosition_columnSpan_get")]
+  public static extern uint TableView_CellPosition_columnSpan_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TableView_CellPosition")]
+  public static extern void delete_TableView_CellPosition(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TableView__SWIG_0")]
+  public static extern global::System.IntPtr new_TableView__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TableView__SWIG_1")]
+  public static extern global::System.IntPtr new_TableView__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_Assign")]
+  public static extern global::System.IntPtr TableView_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TableView")]
+  public static extern void delete_TableView(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_New")]
+  public static extern global::System.IntPtr TableView_New(uint jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_DownCast")]
+  public static extern global::System.IntPtr TableView_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_AddChild")]
+  public static extern bool TableView_AddChild(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_GetChildAt")]
+  public static extern global::System.IntPtr TableView_GetChildAt(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_RemoveChildAt")]
+  public static extern global::System.IntPtr TableView_RemoveChildAt(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_FindChildPosition")]
+  public static extern bool TableView_FindChildPosition(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_InsertRow")]
+  public static extern void TableView_InsertRow(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_DeleteRow__SWIG_0")]
+  public static extern void TableView_DeleteRow__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_DeleteRow__SWIG_1")]
+  public static extern void TableView_DeleteRow__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_InsertColumn")]
+  public static extern void TableView_InsertColumn(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_DeleteColumn__SWIG_0")]
+  public static extern void TableView_DeleteColumn__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_DeleteColumn__SWIG_1")]
+  public static extern void TableView_DeleteColumn__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_Resize__SWIG_0")]
+  public static extern void TableView_Resize__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, uint jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_Resize__SWIG_1")]
+  public static extern void TableView_Resize__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, uint jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_SetCellPadding")]
+  public static extern void TableView_SetCellPadding(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_GetCellPadding")]
+  public static extern global::System.IntPtr TableView_GetCellPadding(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_SetFitHeight")]
+  public static extern void TableView_SetFitHeight(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_IsFitHeight")]
+  public static extern bool TableView_IsFitHeight(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_SetFitWidth")]
+  public static extern void TableView_SetFitWidth(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_IsFitWidth")]
+  public static extern bool TableView_IsFitWidth(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_SetFixedHeight")]
+  public static extern void TableView_SetFixedHeight(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_GetFixedHeight")]
+  public static extern float TableView_GetFixedHeight(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_SetRelativeHeight")]
+  public static extern void TableView_SetRelativeHeight(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_GetRelativeHeight")]
+  public static extern float TableView_GetRelativeHeight(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_SetFixedWidth")]
+  public static extern void TableView_SetFixedWidth(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_GetFixedWidth")]
+  public static extern float TableView_GetFixedWidth(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_SetRelativeWidth")]
+  public static extern void TableView_SetRelativeWidth(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_GetRelativeWidth")]
+  public static extern float TableView_GetRelativeWidth(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_GetRows")]
+  public static extern uint TableView_GetRows(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_GetColumns")]
+  public static extern uint TableView_GetColumns(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_SetCellAlignment")]
+  public static extern void TableView_SetCellAlignment(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3, int jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_DEFAULT_RENDERING_BACKEND_get")]
+  public static extern uint DEFAULT_RENDERING_BACKEND_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_RENDERING_BACKEND_get")]
+  public static extern int TextEditor_Property_RENDERING_BACKEND_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_TEXT_get")]
+  public static extern int TextEditor_Property_TEXT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_TEXT_COLOR_get")]
+  public static extern int TextEditor_Property_TEXT_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_FONT_FAMILY_get")]
+  public static extern int TextEditor_Property_FONT_FAMILY_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_FONT_STYLE_get")]
+  public static extern int TextEditor_Property_FONT_STYLE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_POINT_SIZE_get")]
+  public static extern int TextEditor_Property_POINT_SIZE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_HORIZONTAL_ALIGNMENT_get")]
+  public static extern int TextEditor_Property_HORIZONTAL_ALIGNMENT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_SCROLL_THRESHOLD_get")]
+  public static extern int TextEditor_Property_SCROLL_THRESHOLD_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_SCROLL_SPEED_get")]
+  public static extern int TextEditor_Property_SCROLL_SPEED_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_PRIMARY_CURSOR_COLOR_get")]
+  public static extern int TextEditor_Property_PRIMARY_CURSOR_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_SECONDARY_CURSOR_COLOR_get")]
+  public static extern int TextEditor_Property_SECONDARY_CURSOR_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_ENABLE_CURSOR_BLINK_get")]
+  public static extern int TextEditor_Property_ENABLE_CURSOR_BLINK_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_CURSOR_BLINK_INTERVAL_get")]
+  public static extern int TextEditor_Property_CURSOR_BLINK_INTERVAL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_CURSOR_BLINK_DURATION_get")]
+  public static extern int TextEditor_Property_CURSOR_BLINK_DURATION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_CURSOR_WIDTH_get")]
+  public static extern int TextEditor_Property_CURSOR_WIDTH_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_GRAB_HANDLE_IMAGE_get")]
+  public static extern int TextEditor_Property_GRAB_HANDLE_IMAGE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_GRAB_HANDLE_PRESSED_IMAGE_get")]
+  public static extern int TextEditor_Property_GRAB_HANDLE_PRESSED_IMAGE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_SELECTION_HANDLE_IMAGE_LEFT_get")]
+  public static extern int TextEditor_Property_SELECTION_HANDLE_IMAGE_LEFT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_SELECTION_HANDLE_IMAGE_RIGHT_get")]
+  public static extern int TextEditor_Property_SELECTION_HANDLE_IMAGE_RIGHT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_SELECTION_HANDLE_PRESSED_IMAGE_LEFT_get")]
+  public static extern int TextEditor_Property_SELECTION_HANDLE_PRESSED_IMAGE_LEFT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_SELECTION_HANDLE_PRESSED_IMAGE_RIGHT_get")]
+  public static extern int TextEditor_Property_SELECTION_HANDLE_PRESSED_IMAGE_RIGHT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_SELECTION_HANDLE_MARKER_IMAGE_LEFT_get")]
+  public static extern int TextEditor_Property_SELECTION_HANDLE_MARKER_IMAGE_LEFT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_SELECTION_HANDLE_MARKER_IMAGE_RIGHT_get")]
+  public static extern int TextEditor_Property_SELECTION_HANDLE_MARKER_IMAGE_RIGHT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_SELECTION_HIGHLIGHT_COLOR_get")]
+  public static extern int TextEditor_Property_SELECTION_HIGHLIGHT_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_DECORATION_BOUNDING_BOX_get")]
+  public static extern int TextEditor_Property_DECORATION_BOUNDING_BOX_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_ENABLE_MARKUP_get")]
+  public static extern int TextEditor_Property_ENABLE_MARKUP_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_INPUT_COLOR_get")]
+  public static extern int TextEditor_Property_INPUT_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_INPUT_FONT_FAMILY_get")]
+  public static extern int TextEditor_Property_INPUT_FONT_FAMILY_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_INPUT_FONT_STYLE_get")]
+  public static extern int TextEditor_Property_INPUT_FONT_STYLE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_INPUT_POINT_SIZE_get")]
+  public static extern int TextEditor_Property_INPUT_POINT_SIZE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_LINE_SPACING_get")]
+  public static extern int TextEditor_Property_LINE_SPACING_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_INPUT_LINE_SPACING_get")]
+  public static extern int TextEditor_Property_INPUT_LINE_SPACING_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_UNDERLINE_get")]
+  public static extern int TextEditor_Property_UNDERLINE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_INPUT_UNDERLINE_get")]
+  public static extern int TextEditor_Property_INPUT_UNDERLINE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_SHADOW_get")]
+  public static extern int TextEditor_Property_SHADOW_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_INPUT_SHADOW_get")]
+  public static extern int TextEditor_Property_INPUT_SHADOW_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_EMBOSS_get")]
+  public static extern int TextEditor_Property_EMBOSS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_INPUT_EMBOSS_get")]
+  public static extern int TextEditor_Property_INPUT_EMBOSS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_OUTLINE_get")]
+  public static extern int TextEditor_Property_OUTLINE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Property_INPUT_OUTLINE_get")]
+  public static extern int TextEditor_Property_INPUT_OUTLINE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TextEditor_Property")]
+  public static extern global::System.IntPtr new_TextEditor_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TextEditor_Property")]
+  public static extern void delete_TextEditor_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TextEditor_InputStyle")]
+  public static extern global::System.IntPtr new_TextEditor_InputStyle();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TextEditor_InputStyle")]
+  public static extern void delete_TextEditor_InputStyle(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_New")]
+  public static extern global::System.IntPtr TextEditor_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TextEditor__SWIG_0")]
+  public static extern global::System.IntPtr new_TextEditor__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TextEditor__SWIG_1")]
+  public static extern global::System.IntPtr new_TextEditor__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_Assign")]
+  public static extern global::System.IntPtr TextEditor_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TextEditor")]
+  public static extern void delete_TextEditor(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_DownCast")]
+  public static extern global::System.IntPtr TextEditor_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_TextChangedSignal")]
+  public static extern global::System.IntPtr TextEditor_TextChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_InputStyleChangedSignal")]
+  public static extern global::System.IntPtr TextEditor_InputStyleChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_RENDERING_BACKEND_get")]
+  public static extern int TextField_Property_RENDERING_BACKEND_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_TEXT_get")]
+  public static extern int TextField_Property_TEXT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_PLACEHOLDER_TEXT_get")]
+  public static extern int TextField_Property_PLACEHOLDER_TEXT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_PLACEHOLDER_TEXT_FOCUSED_get")]
+  public static extern int TextField_Property_PLACEHOLDER_TEXT_FOCUSED_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_FONT_FAMILY_get")]
+  public static extern int TextField_Property_FONT_FAMILY_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_FONT_STYLE_get")]
+  public static extern int TextField_Property_FONT_STYLE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_POINT_SIZE_get")]
+  public static extern int TextField_Property_POINT_SIZE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_MAX_LENGTH_get")]
+  public static extern int TextField_Property_MAX_LENGTH_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_EXCEED_POLICY_get")]
+  public static extern int TextField_Property_EXCEED_POLICY_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_HORIZONTAL_ALIGNMENT_get")]
+  public static extern int TextField_Property_HORIZONTAL_ALIGNMENT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_VERTICAL_ALIGNMENT_get")]
+  public static extern int TextField_Property_VERTICAL_ALIGNMENT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_TEXT_COLOR_get")]
+  public static extern int TextField_Property_TEXT_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_PLACEHOLDER_TEXT_COLOR_get")]
+  public static extern int TextField_Property_PLACEHOLDER_TEXT_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_SHADOW_OFFSET_get")]
+  public static extern int TextField_Property_SHADOW_OFFSET_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_SHADOW_COLOR_get")]
+  public static extern int TextField_Property_SHADOW_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_PRIMARY_CURSOR_COLOR_get")]
+  public static extern int TextField_Property_PRIMARY_CURSOR_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_SECONDARY_CURSOR_COLOR_get")]
+  public static extern int TextField_Property_SECONDARY_CURSOR_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_ENABLE_CURSOR_BLINK_get")]
+  public static extern int TextField_Property_ENABLE_CURSOR_BLINK_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_CURSOR_BLINK_INTERVAL_get")]
+  public static extern int TextField_Property_CURSOR_BLINK_INTERVAL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_CURSOR_BLINK_DURATION_get")]
+  public static extern int TextField_Property_CURSOR_BLINK_DURATION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_CURSOR_WIDTH_get")]
+  public static extern int TextField_Property_CURSOR_WIDTH_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_GRAB_HANDLE_IMAGE_get")]
+  public static extern int TextField_Property_GRAB_HANDLE_IMAGE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_GRAB_HANDLE_PRESSED_IMAGE_get")]
+  public static extern int TextField_Property_GRAB_HANDLE_PRESSED_IMAGE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_SCROLL_THRESHOLD_get")]
+  public static extern int TextField_Property_SCROLL_THRESHOLD_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_SCROLL_SPEED_get")]
+  public static extern int TextField_Property_SCROLL_SPEED_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_SELECTION_HANDLE_IMAGE_LEFT_get")]
+  public static extern int TextField_Property_SELECTION_HANDLE_IMAGE_LEFT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_SELECTION_HANDLE_IMAGE_RIGHT_get")]
+  public static extern int TextField_Property_SELECTION_HANDLE_IMAGE_RIGHT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_SELECTION_HANDLE_PRESSED_IMAGE_LEFT_get")]
+  public static extern int TextField_Property_SELECTION_HANDLE_PRESSED_IMAGE_LEFT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_SELECTION_HANDLE_PRESSED_IMAGE_RIGHT_get")]
+  public static extern int TextField_Property_SELECTION_HANDLE_PRESSED_IMAGE_RIGHT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_SELECTION_HANDLE_MARKER_IMAGE_LEFT_get")]
+  public static extern int TextField_Property_SELECTION_HANDLE_MARKER_IMAGE_LEFT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_SELECTION_HANDLE_MARKER_IMAGE_RIGHT_get")]
+  public static extern int TextField_Property_SELECTION_HANDLE_MARKER_IMAGE_RIGHT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_SELECTION_HIGHLIGHT_COLOR_get")]
+  public static extern int TextField_Property_SELECTION_HIGHLIGHT_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_DECORATION_BOUNDING_BOX_get")]
+  public static extern int TextField_Property_DECORATION_BOUNDING_BOX_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_INPUT_METHOD_SETTINGS_get")]
+  public static extern int TextField_Property_INPUT_METHOD_SETTINGS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_INPUT_COLOR_get")]
+  public static extern int TextField_Property_INPUT_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_ENABLE_MARKUP_get")]
+  public static extern int TextField_Property_ENABLE_MARKUP_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_INPUT_FONT_FAMILY_get")]
+  public static extern int TextField_Property_INPUT_FONT_FAMILY_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_INPUT_FONT_STYLE_get")]
+  public static extern int TextField_Property_INPUT_FONT_STYLE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_INPUT_POINT_SIZE_get")]
+  public static extern int TextField_Property_INPUT_POINT_SIZE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_UNDERLINE_get")]
+  public static extern int TextField_Property_UNDERLINE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_INPUT_UNDERLINE_get")]
+  public static extern int TextField_Property_INPUT_UNDERLINE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_SHADOW_get")]
+  public static extern int TextField_Property_SHADOW_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_INPUT_SHADOW_get")]
+  public static extern int TextField_Property_INPUT_SHADOW_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_EMBOSS_get")]
+  public static extern int TextField_Property_EMBOSS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_INPUT_EMBOSS_get")]
+  public static extern int TextField_Property_INPUT_EMBOSS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_OUTLINE_get")]
+  public static extern int TextField_Property_OUTLINE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Property_INPUT_OUTLINE_get")]
+  public static extern int TextField_Property_INPUT_OUTLINE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TextField_Property")]
+  public static extern global::System.IntPtr new_TextField_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TextField_Property")]
+  public static extern void delete_TextField_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TextField_InputStyle")]
+  public static extern global::System.IntPtr new_TextField_InputStyle();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TextField_InputStyle")]
+  public static extern void delete_TextField_InputStyle(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_New")]
+  public static extern global::System.IntPtr TextField_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TextField__SWIG_0")]
+  public static extern global::System.IntPtr new_TextField__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TextField__SWIG_1")]
+  public static extern global::System.IntPtr new_TextField__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_Assign")]
+  public static extern global::System.IntPtr TextField_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TextField")]
+  public static extern void delete_TextField(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_DownCast")]
+  public static extern global::System.IntPtr TextField_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_TextChangedSignal")]
+  public static extern global::System.IntPtr TextField_TextChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_MaxLengthReachedSignal")]
+  public static extern global::System.IntPtr TextField_MaxLengthReachedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_InputStyleChangedSignal")]
+  public static extern global::System.IntPtr TextField_InputStyleChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Property_RENDERING_BACKEND_get")]
+  public static extern int TextLabel_Property_RENDERING_BACKEND_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Property_TEXT_get")]
+  public static extern int TextLabel_Property_TEXT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Property_FONT_FAMILY_get")]
+  public static extern int TextLabel_Property_FONT_FAMILY_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Property_FONT_STYLE_get")]
+  public static extern int TextLabel_Property_FONT_STYLE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Property_POINT_SIZE_get")]
+  public static extern int TextLabel_Property_POINT_SIZE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Property_MULTI_LINE_get")]
+  public static extern int TextLabel_Property_MULTI_LINE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Property_HORIZONTAL_ALIGNMENT_get")]
+  public static extern int TextLabel_Property_HORIZONTAL_ALIGNMENT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Property_VERTICAL_ALIGNMENT_get")]
+  public static extern int TextLabel_Property_VERTICAL_ALIGNMENT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Property_TEXT_COLOR_get")]
+  public static extern int TextLabel_Property_TEXT_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Property_SHADOW_OFFSET_get")]
+  public static extern int TextLabel_Property_SHADOW_OFFSET_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Property_SHADOW_COLOR_get")]
+  public static extern int TextLabel_Property_SHADOW_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Property_UNDERLINE_ENABLED_get")]
+  public static extern int TextLabel_Property_UNDERLINE_ENABLED_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Property_UNDERLINE_COLOR_get")]
+  public static extern int TextLabel_Property_UNDERLINE_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Property_UNDERLINE_HEIGHT_get")]
+  public static extern int TextLabel_Property_UNDERLINE_HEIGHT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Property_ENABLE_MARKUP_get")]
+  public static extern int TextLabel_Property_ENABLE_MARKUP_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Property_ENABLE_AUTO_SCROLL_get")]
+  public static extern int TextLabel_Property_ENABLE_AUTO_SCROLL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Property_AUTO_SCROLL_SPEED_get")]
+  public static extern int TextLabel_Property_AUTO_SCROLL_SPEED_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Property_AUTO_SCROLL_LOOP_COUNT_get")]
+  public static extern int TextLabel_Property_AUTO_SCROLL_LOOP_COUNT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Property_AUTO_SCROLL_GAP_get")]
+  public static extern int TextLabel_Property_AUTO_SCROLL_GAP_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Property_LINE_SPACING_get")]
+  public static extern int TextLabel_Property_LINE_SPACING_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Property_UNDERLINE_get")]
+  public static extern int TextLabel_Property_UNDERLINE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Property_SHADOW_get")]
+  public static extern int TextLabel_Property_SHADOW_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Property_EMBOSS_get")]
+  public static extern int TextLabel_Property_EMBOSS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Property_OUTLINE_get")]
+  public static extern int TextLabel_Property_OUTLINE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TextLabel_Property")]
+  public static extern global::System.IntPtr new_TextLabel_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TextLabel_Property")]
+  public static extern void delete_TextLabel_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_New__SWIG_0")]
+  public static extern global::System.IntPtr TextLabel_New__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_New__SWIG_1")]
+  public static extern global::System.IntPtr TextLabel_New__SWIG_1(string jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TextLabel__SWIG_0")]
+  public static extern global::System.IntPtr new_TextLabel__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TextLabel__SWIG_1")]
+  public static extern global::System.IntPtr new_TextLabel__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_Assign")]
+  public static extern global::System.IntPtr TextLabel_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TextLabel")]
+  public static extern void delete_TextLabel(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_DownCast")]
+  public static extern global::System.IntPtr TextLabel_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_AccessibilityManager")]
+  public static extern global::System.IntPtr new_AccessibilityManager();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_AccessibilityManager")]
+  public static extern void delete_AccessibilityManager(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_Get")]
+  public static extern global::System.IntPtr AccessibilityManager_Get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_SetAccessibilityAttribute")]
+  public static extern void AccessibilityManager_SetAccessibilityAttribute(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3, string jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_GetAccessibilityAttribute")]
+  public static extern string AccessibilityManager_GetAccessibilityAttribute(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_SetFocusOrder")]
+  public static extern void AccessibilityManager_SetFocusOrder(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, uint jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_GetFocusOrder")]
+  public static extern uint AccessibilityManager_GetFocusOrder(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_GenerateNewFocusOrder")]
+  public static extern uint AccessibilityManager_GenerateNewFocusOrder(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_GetActorByFocusOrder")]
+  public static extern global::System.IntPtr AccessibilityManager_GetActorByFocusOrder(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_SetCurrentFocusActor")]
+  public static extern bool AccessibilityManager_SetCurrentFocusActor(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_GetCurrentFocusActor")]
+  public static extern global::System.IntPtr AccessibilityManager_GetCurrentFocusActor(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_GetCurrentFocusGroup")]
+  public static extern global::System.IntPtr AccessibilityManager_GetCurrentFocusGroup(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_GetCurrentFocusOrder")]
+  public static extern uint AccessibilityManager_GetCurrentFocusOrder(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_MoveFocusForward")]
+  public static extern bool AccessibilityManager_MoveFocusForward(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_MoveFocusBackward")]
+  public static extern bool AccessibilityManager_MoveFocusBackward(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ClearFocus")]
+  public static extern void AccessibilityManager_ClearFocus(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_Reset")]
+  public static extern void AccessibilityManager_Reset(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_SetFocusGroup")]
+  public static extern void AccessibilityManager_SetFocusGroup(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, bool jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_IsFocusGroup")]
+  public static extern bool AccessibilityManager_IsFocusGroup(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_SetGroupMode")]
+  public static extern void AccessibilityManager_SetGroupMode(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_GetGroupMode")]
+  public static extern bool AccessibilityManager_GetGroupMode(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_SetWrapMode")]
+  public static extern void AccessibilityManager_SetWrapMode(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_GetWrapMode")]
+  public static extern bool AccessibilityManager_GetWrapMode(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_SetFocusIndicatorActor")]
+  public static extern void AccessibilityManager_SetFocusIndicatorActor(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_GetFocusIndicatorActor")]
+  public static extern global::System.IntPtr AccessibilityManager_GetFocusIndicatorActor(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_GetFocusGroup")]
+  public static extern global::System.IntPtr AccessibilityManager_GetFocusGroup(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_GetReadPosition")]
+  public static extern global::System.IntPtr AccessibilityManager_GetReadPosition(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_FocusChangedSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_FocusChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_FocusOvershotSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_FocusOvershotSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_FocusedActorActivatedSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_FocusedActorActivatedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_StatusChangedSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_StatusChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionNextSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionNextSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionPreviousSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionPreviousSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionActivateSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionActivateSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionReadSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionReadSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionOverSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionOverSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionReadNextSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionReadNextSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionReadPreviousSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionReadPreviousSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionUpSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionUpSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionDownSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionDownSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionClearFocusSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionClearFocusSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionBackSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionBackSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionScrollUpSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionScrollUpSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionScrollDownSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionScrollDownSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionPageLeftSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionPageLeftSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionPageRightSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionPageRightSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionPageUpSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionPageUpSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionPageDownSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionPageDownSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionMoveToFirstSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionMoveToFirstSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionMoveToLastSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionMoveToLastSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionReadFromTopSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionReadFromTopSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionReadFromNextSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionReadFromNextSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionZoomSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionZoomSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionReadIndicatorInformationSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionReadIndicatorInformationSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionReadPauseResumeSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionReadPauseResumeSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionStartStopSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionStartStopSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_ActionScrollSignal")]
+  public static extern global::System.IntPtr AccessibilityManager_ActionScrollSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_StyleManager")]
+  public static extern global::System.IntPtr new_StyleManager();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_StyleManager")]
+  public static extern void delete_StyleManager(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_StyleManager_Get")]
+  public static extern global::System.IntPtr StyleManager_Get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_StyleManager_ApplyTheme")]
+  public static extern void StyleManager_ApplyTheme(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_StyleManager_ApplyDefaultTheme")]
+  public static extern void StyleManager_ApplyDefaultTheme(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_StyleManager_SetStyleConstant")]
+  public static extern void StyleManager_SetStyleConstant(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_StyleManager_GetStyleConstant")]
+  public static extern bool StyleManager_GetStyleConstant(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_StyleManager_ApplyStyle")]
+  public static extern void StyleManager_ApplyStyle(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3, string jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_StyleManager_StyleChangedSignal")]
+  public static extern global::System.IntPtr StyleManager_StyleChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Slider_Property_LOWER_BOUND_get")]
+  public static extern int Slider_Property_LOWER_BOUND_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Slider_Property_UPPER_BOUND_get")]
+  public static extern int Slider_Property_UPPER_BOUND_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Slider_Property_VALUE_get")]
+  public static extern int Slider_Property_VALUE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Slider_Property_TRACK_VISUAL_get")]
+  public static extern int Slider_Property_TRACK_VISUAL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Slider_Property_HANDLE_VISUAL_get")]
+  public static extern int Slider_Property_HANDLE_VISUAL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Slider_Property_PROGRESS_VISUAL_get")]
+  public static extern int Slider_Property_PROGRESS_VISUAL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Slider_Property_POPUP_VISUAL_get")]
+  public static extern int Slider_Property_POPUP_VISUAL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Slider_Property_POPUP_ARROW_VISUAL_get")]
+  public static extern int Slider_Property_POPUP_ARROW_VISUAL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Slider_Property_DISABLED_COLOR_get")]
+  public static extern int Slider_Property_DISABLED_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Slider_Property_VALUE_PRECISION_get")]
+  public static extern int Slider_Property_VALUE_PRECISION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Slider_Property_SHOW_POPUP_get")]
+  public static extern int Slider_Property_SHOW_POPUP_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Slider_Property_SHOW_VALUE_get")]
+  public static extern int Slider_Property_SHOW_VALUE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Slider_Property_MARKS_get")]
+  public static extern int Slider_Property_MARKS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Slider_Property_SNAP_TO_MARKS_get")]
+  public static extern int Slider_Property_SNAP_TO_MARKS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Slider_Property_MARK_TOLERANCE_get")]
+  public static extern int Slider_Property_MARK_TOLERANCE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Slider_Property")]
+  public static extern global::System.IntPtr new_Slider_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Slider_Property")]
+  public static extern void delete_Slider_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Slider_New")]
+  public static extern global::System.IntPtr Slider_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Slider__SWIG_0")]
+  public static extern global::System.IntPtr new_Slider__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Slider__SWIG_1")]
+  public static extern global::System.IntPtr new_Slider__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Slider_Assign")]
+  public static extern global::System.IntPtr Slider_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Slider")]
+  public static extern void delete_Slider(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Slider_DownCast")]
+  public static extern global::System.IntPtr Slider_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Slider_ValueChangedSignal")]
+  public static extern global::System.IntPtr Slider_ValueChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Slider_SlidingFinishedSignal")]
+  public static extern global::System.IntPtr Slider_SlidingFinishedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Slider_MarkReachedSignal")]
+  public static extern global::System.IntPtr Slider_MarkReachedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VideoView_Property_VIDEO_get")]
+  public static extern int VideoView_Property_VIDEO_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VideoView_Property_LOOPING_get")]
+  public static extern int VideoView_Property_LOOPING_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VideoView_Property_MUTED_get")]
+  public static extern int VideoView_Property_MUTED_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VideoView_Property_VOLUME_get")]
+  public static extern int VideoView_Property_VOLUME_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_VideoView_Property")]
+  public static extern global::System.IntPtr new_VideoView_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_VideoView_Property")]
+  public static extern void delete_VideoView_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VideoView_New__SWIG_0")]
+  public static extern global::System.IntPtr VideoView_New__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VideoView_New__SWIG_1")]
+  public static extern global::System.IntPtr VideoView_New__SWIG_1(string jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_VideoView__SWIG_0")]
+  public static extern global::System.IntPtr new_VideoView__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_VideoView")]
+  public static extern void delete_VideoView(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_VideoView__SWIG_1")]
+  public static extern global::System.IntPtr new_VideoView__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VideoView_Assign")]
+  public static extern global::System.IntPtr VideoView_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VideoView_DownCast")]
+  public static extern global::System.IntPtr VideoView_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VideoView_Play")]
+  public static extern void VideoView_Play(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VideoView_Pause")]
+  public static extern void VideoView_Pause(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VideoView_Stop")]
+  public static extern void VideoView_Stop(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VideoView_Forward")]
+  public static extern void VideoView_Forward(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VideoView_Backward")]
+  public static extern void VideoView_Backward(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VideoView_FinishedSignal")]
+  public static extern global::System.IntPtr VideoView_FinishedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_Property_TITLE_get")]
+  public static extern int Popup_Property_TITLE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_Property_CONTENT_get")]
+  public static extern int Popup_Property_CONTENT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_Property_FOOTER_get")]
+  public static extern int Popup_Property_FOOTER_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_Property_DISPLAY_STATE_get")]
+  public static extern int Popup_Property_DISPLAY_STATE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_Property_TOUCH_TRANSPARENT_get")]
+  public static extern int Popup_Property_TOUCH_TRANSPARENT_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_Property_TAIL_VISIBILITY_get")]
+  public static extern int Popup_Property_TAIL_VISIBILITY_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_Property_TAIL_POSITION_get")]
+  public static extern int Popup_Property_TAIL_POSITION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_Property_CONTEXTUAL_MODE_get")]
+  public static extern int Popup_Property_CONTEXTUAL_MODE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_Property_ANIMATION_DURATION_get")]
+  public static extern int Popup_Property_ANIMATION_DURATION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_Property_ANIMATION_MODE_get")]
+  public static extern int Popup_Property_ANIMATION_MODE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_Property_ENTRY_ANIMATION_get")]
+  public static extern int Popup_Property_ENTRY_ANIMATION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_Property_EXIT_ANIMATION_get")]
+  public static extern int Popup_Property_EXIT_ANIMATION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_Property_AUTO_HIDE_DELAY_get")]
+  public static extern int Popup_Property_AUTO_HIDE_DELAY_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_Property_BACKING_ENABLED_get")]
+  public static extern int Popup_Property_BACKING_ENABLED_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_Property_BACKING_COLOR_get")]
+  public static extern int Popup_Property_BACKING_COLOR_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_Property_POPUP_BACKGROUND_IMAGE_get")]
+  public static extern int Popup_Property_POPUP_BACKGROUND_IMAGE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_Property_POPUP_BACKGROUND_BORDER_get")]
+  public static extern int Popup_Property_POPUP_BACKGROUND_BORDER_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_Property_TAIL_UP_IMAGE_get")]
+  public static extern int Popup_Property_TAIL_UP_IMAGE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_Property_TAIL_DOWN_IMAGE_get")]
+  public static extern int Popup_Property_TAIL_DOWN_IMAGE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_Property_TAIL_LEFT_IMAGE_get")]
+  public static extern int Popup_Property_TAIL_LEFT_IMAGE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_Property_TAIL_RIGHT_IMAGE_get")]
+  public static extern int Popup_Property_TAIL_RIGHT_IMAGE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Popup_Property")]
+  public static extern global::System.IntPtr new_Popup_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Popup_Property")]
+  public static extern void delete_Popup_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Popup__SWIG_0")]
+  public static extern global::System.IntPtr new_Popup__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_New")]
+  public static extern global::System.IntPtr Popup_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Popup")]
+  public static extern void delete_Popup(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Popup__SWIG_1")]
+  public static extern global::System.IntPtr new_Popup__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_Assign")]
+  public static extern global::System.IntPtr Popup_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_DownCast")]
+  public static extern global::System.IntPtr Popup_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_SetTitle")]
+  public static extern void Popup_SetTitle(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_GetTitle")]
+  public static extern global::System.IntPtr Popup_GetTitle(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_SetContent")]
+  public static extern void Popup_SetContent(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_GetContent")]
+  public static extern global::System.IntPtr Popup_GetContent(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_SetFooter")]
+  public static extern void Popup_SetFooter(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_GetFooter")]
+  public static extern global::System.IntPtr Popup_GetFooter(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_SetDisplayState")]
+  public static extern void Popup_SetDisplayState(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_GetDisplayState")]
+  public static extern int Popup_GetDisplayState(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_OutsideTouchedSignal")]
+  public static extern global::System.IntPtr Popup_OutsideTouchedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_ShowingSignal")]
+  public static extern global::System.IntPtr Popup_ShowingSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_ShownSignal")]
+  public static extern global::System.IntPtr Popup_ShownSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_HidingSignal")]
+  public static extern global::System.IntPtr Popup_HidingSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_HiddenSignal")]
+  public static extern global::System.IntPtr Popup_HiddenSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ProgressBar_Property_PROGRESS_VALUE_get")]
+  public static extern int ProgressBar_Property_PROGRESS_VALUE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ProgressBar_Property_SECONDARY_PROGRESS_VALUE_get")]
+  public static extern int ProgressBar_Property_SECONDARY_PROGRESS_VALUE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ProgressBar_Property_INDETERMINATE_get")]
+  public static extern int ProgressBar_Property_INDETERMINATE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ProgressBar_Property_TRACK_VISUAL_get")]
+  public static extern int ProgressBar_Property_TRACK_VISUAL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ProgressBar_Property_PROGRESS_VISUAL_get")]
+  public static extern int ProgressBar_Property_PROGRESS_VISUAL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ProgressBar_Property_SECONDARY_PROGRESS_VISUAL_get")]
+  public static extern int ProgressBar_Property_SECONDARY_PROGRESS_VISUAL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ProgressBar_Property_INDETERMINATE_VISUAL_get")]
+  public static extern int ProgressBar_Property_INDETERMINATE_VISUAL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ProgressBar_Property_INDETERMINATE_VISUAL_ANIMATION_get")]
+  public static extern int ProgressBar_Property_INDETERMINATE_VISUAL_ANIMATION_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ProgressBar_Property_LABEL_VISUAL_get")]
+  public static extern int ProgressBar_Property_LABEL_VISUAL_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ProgressBar_Property")]
+  public static extern global::System.IntPtr new_ProgressBar_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ProgressBar_Property")]
+  public static extern void delete_ProgressBar_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ProgressBar_New")]
+  public static extern global::System.IntPtr ProgressBar_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ProgressBar__SWIG_0")]
+  public static extern global::System.IntPtr new_ProgressBar__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ProgressBar__SWIG_1")]
+  public static extern global::System.IntPtr new_ProgressBar__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ProgressBar_Assign")]
+  public static extern global::System.IntPtr ProgressBar_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ProgressBar")]
+  public static extern void delete_ProgressBar(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ProgressBar_DownCast")]
+  public static extern global::System.IntPtr ProgressBar_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ProgressBar_ValueChangedSignal")]
+  public static extern global::System.IntPtr ProgressBar_ValueChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_GaussianBlurView__SWIG_0")]
+  public static extern global::System.IntPtr new_GaussianBlurView__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_GaussianBlurView__SWIG_1")]
+  public static extern global::System.IntPtr new_GaussianBlurView__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GaussianBlurView_Assign")]
+  public static extern global::System.IntPtr GaussianBlurView_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_GaussianBlurView")]
+  public static extern void delete_GaussianBlurView(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GaussianBlurView_DownCast")]
+  public static extern global::System.IntPtr GaussianBlurView_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GaussianBlurView_New__SWIG_0")]
+  public static extern global::System.IntPtr GaussianBlurView_New__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GaussianBlurView_New__SWIG_1")]
+  public static extern global::System.IntPtr GaussianBlurView_New__SWIG_1(uint jarg1, float jarg2, int jarg3, float jarg4, float jarg5, bool jarg6);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GaussianBlurView_New__SWIG_2")]
+  public static extern global::System.IntPtr GaussianBlurView_New__SWIG_2(uint jarg1, float jarg2, int jarg3, float jarg4, float jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GaussianBlurView_Add")]
+  public static extern void GaussianBlurView_Add(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GaussianBlurView_Remove")]
+  public static extern void GaussianBlurView_Remove(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GaussianBlurView_Activate")]
+  public static extern void GaussianBlurView_Activate(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GaussianBlurView_ActivateOnce")]
+  public static extern void GaussianBlurView_ActivateOnce(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GaussianBlurView_Deactivate")]
+  public static extern void GaussianBlurView_Deactivate(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GaussianBlurView_SetUserImageAndOutputRenderTarget")]
+  public static extern void GaussianBlurView_SetUserImageAndOutputRenderTarget(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GaussianBlurView_GetBlurStrengthPropertyIndex")]
+  public static extern int GaussianBlurView_GetBlurStrengthPropertyIndex(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GaussianBlurView_GetBlurredRenderTarget")]
+  public static extern global::System.IntPtr GaussianBlurView_GetBlurredRenderTarget(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GaussianBlurView_SetBackgroundColor")]
+  public static extern void GaussianBlurView_SetBackgroundColor(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GaussianBlurView_GetBackgroundColor")]
+  public static extern global::System.IntPtr GaussianBlurView_GetBackgroundColor(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GaussianBlurView_FinishedSignal")]
+  public static extern global::System.IntPtr GaussianBlurView_FinishedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PageFactory")]
+  public static extern void delete_PageFactory(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageFactory_GetNumberOfPages")]
+  public static extern uint PageFactory_GetNumberOfPages(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageFactory_NewPage")]
+  public static extern global::System.IntPtr PageFactory_NewPage(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageTurnView_Property_PAGE_SIZE_get")]
+  public static extern int PageTurnView_Property_PAGE_SIZE_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageTurnView_Property_CURRENT_PAGE_ID_get")]
+  public static extern int PageTurnView_Property_CURRENT_PAGE_ID_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageTurnView_Property_SPINE_SHADOW_get")]
+  public static extern int PageTurnView_Property_SPINE_SHADOW_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PageTurnView_Property")]
+  public static extern global::System.IntPtr new_PageTurnView_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PageTurnView_Property")]
+  public static extern void delete_PageTurnView_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PageTurnView__SWIG_0")]
+  public static extern global::System.IntPtr new_PageTurnView__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PageTurnView__SWIG_1")]
+  public static extern global::System.IntPtr new_PageTurnView__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageTurnView_Assign")]
+  public static extern global::System.IntPtr PageTurnView_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PageTurnView")]
+  public static extern void delete_PageTurnView(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageTurnView_DownCast")]
+  public static extern global::System.IntPtr PageTurnView_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageTurnView_PageTurnStartedSignal")]
+  public static extern global::System.IntPtr PageTurnView_PageTurnStartedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageTurnView_PageTurnFinishedSignal")]
+  public static extern global::System.IntPtr PageTurnView_PageTurnFinishedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageTurnView_PagePanStartedSignal")]
+  public static extern global::System.IntPtr PageTurnView_PagePanStartedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageTurnView_PagePanFinishedSignal")]
+  public static extern global::System.IntPtr PageTurnView_PagePanFinishedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PageTurnLandscapeView__SWIG_0")]
+  public static extern global::System.IntPtr new_PageTurnLandscapeView__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PageTurnLandscapeView__SWIG_1")]
+  public static extern global::System.IntPtr new_PageTurnLandscapeView__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageTurnLandscapeView_Assign")]
+  public static extern global::System.IntPtr PageTurnLandscapeView_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PageTurnLandscapeView")]
+  public static extern void delete_PageTurnLandscapeView(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageTurnLandscapeView_New")]
+  public static extern global::System.IntPtr PageTurnLandscapeView_New(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageTurnLandscapeView_DownCast")]
+  public static extern global::System.IntPtr PageTurnLandscapeView_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PageTurnPortraitView__SWIG_0")]
+  public static extern global::System.IntPtr new_PageTurnPortraitView__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PageTurnPortraitView__SWIG_1")]
+  public static extern global::System.IntPtr new_PageTurnPortraitView__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageTurnPortraitView_Assign")]
+  public static extern global::System.IntPtr PageTurnPortraitView_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PageTurnPortraitView")]
+  public static extern void delete_PageTurnPortraitView(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageTurnPortraitView_New")]
+  public static extern global::System.IntPtr PageTurnPortraitView_New(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageTurnPortraitView_DownCast")]
+  public static extern global::System.IntPtr PageTurnPortraitView_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ToggleButton_Property_STATE_VISUALS_get")]
+  public static extern int ToggleButton_Property_STATE_VISUALS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ToggleButton_Property_TOOLTIPS_get")]
+  public static extern int ToggleButton_Property_TOOLTIPS_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ToggleButton_Property_CURRENT_STATE_INDEX_get")]
+  public static extern int ToggleButton_Property_CURRENT_STATE_INDEX_get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ToggleButton_Property")]
+  public static extern global::System.IntPtr new_ToggleButton_Property();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ToggleButton_Property")]
+  public static extern void delete_ToggleButton_Property(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ToggleButton__SWIG_0")]
+  public static extern global::System.IntPtr new_ToggleButton__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ToggleButton__SWIG_1")]
+  public static extern global::System.IntPtr new_ToggleButton__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ToggleButton_Assign")]
+  public static extern global::System.IntPtr ToggleButton_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ToggleButton")]
+  public static extern void delete_ToggleButton(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ToggleButton_New")]
+  public static extern global::System.IntPtr ToggleButton_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ToggleButton_DownCast")]
+  public static extern global::System.IntPtr ToggleButton_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_VisualBase__SWIG_0")]
+  public static extern global::System.IntPtr new_VisualBase__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_VisualBase")]
+  public static extern void delete_VisualBase(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_VisualBase__SWIG_1")]
+  public static extern global::System.IntPtr new_VisualBase__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VisualBase_Assign")]
+  public static extern global::System.IntPtr VisualBase_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VisualBase_SetName")]
+  public static extern void VisualBase_SetName(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VisualBase_GetName")]
+  public static extern string VisualBase_GetName(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VisualBase_SetTransformAndSize")]
+  public static extern void VisualBase_SetTransformAndSize(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VisualBase_GetHeightForWidth")]
+  public static extern float VisualBase_GetHeightForWidth(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VisualBase_GetWidthForHeight")]
+  public static extern float VisualBase_GetWidthForHeight(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VisualBase_GetNaturalSize")]
+  public static extern void VisualBase_GetNaturalSize(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VisualBase_SetDepthIndex")]
+  public static extern void VisualBase_SetDepthIndex(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VisualBase_GetDepthIndex")]
+  public static extern float VisualBase_GetDepthIndex(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VisualBase_CreatePropertyMap")]
+  public static extern void VisualBase_CreatePropertyMap(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_VisualBase__SWIG_2")]
+  public static extern global::System.IntPtr new_VisualBase__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VisualFactory_Get")]
+  public static extern global::System.IntPtr VisualFactory_Get();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_VisualFactory__SWIG_0")]
+  public static extern global::System.IntPtr new_VisualFactory__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_VisualFactory")]
+  public static extern void delete_VisualFactory(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_VisualFactory__SWIG_1")]
+  public static extern global::System.IntPtr new_VisualFactory__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VisualFactory_Assign")]
+  public static extern global::System.IntPtr VisualFactory_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VisualFactory_CreateVisual__SWIG_0")]
+  public static extern global::System.IntPtr VisualFactory_CreateVisual__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VisualFactory_CreateVisual__SWIG_1")]
+  public static extern global::System.IntPtr VisualFactory_CreateVisual__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VisualFactory_CreateVisual__SWIG_2")]
+  public static extern global::System.IntPtr VisualFactory_CreateVisual__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_AsyncImageLoader__SWIG_0")]
+  public static extern global::System.IntPtr new_AsyncImageLoader__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_AsyncImageLoader")]
+  public static extern void delete_AsyncImageLoader(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_AsyncImageLoader__SWIG_1")]
+  public static extern global::System.IntPtr new_AsyncImageLoader__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AsyncImageLoader_Assign")]
+  public static extern global::System.IntPtr AsyncImageLoader_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AsyncImageLoader_New")]
+  public static extern global::System.IntPtr AsyncImageLoader_New();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AsyncImageLoader_DownCast")]
+  public static extern global::System.IntPtr AsyncImageLoader_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AsyncImageLoader_Load__SWIG_0")]
+  public static extern uint AsyncImageLoader_Load__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AsyncImageLoader_Load__SWIG_1")]
+  public static extern uint AsyncImageLoader_Load__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AsyncImageLoader_Load__SWIG_2")]
+  public static extern uint AsyncImageLoader_Load__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, int jarg4, int jarg5, bool jarg6);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AsyncImageLoader_Cancel")]
+  public static extern bool AsyncImageLoader_Cancel(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AsyncImageLoader_CancelAll")]
+  public static extern void AsyncImageLoader_CancelAll(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AsyncImageLoader_ImageLoadedSignal")]
+  public static extern global::System.IntPtr AsyncImageLoader_ImageLoadedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_AsyncImageLoader__SWIG_2")]
+  public static extern global::System.IntPtr new_AsyncImageLoader__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LoadImageSynchronously__SWIG_0")]
+  public static extern global::System.IntPtr LoadImageSynchronously__SWIG_0(string jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LoadImageSynchronously__SWIG_1")]
+  public static extern global::System.IntPtr LoadImageSynchronously__SWIG_1(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LoadImageSynchronously__SWIG_2")]
+  public static extern global::System.IntPtr LoadImageSynchronously__SWIG_2(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3, int jarg4, bool jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_CustomAlgorithmInterface")]
+  public static extern void delete_CustomAlgorithmInterface(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomAlgorithmInterface_GetNextFocusableActor")]
+  public static extern global::System.IntPtr CustomAlgorithmInterface_GetNextFocusableActor(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, int jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_CustomAlgorithmInterface")]
+  public static extern global::System.IntPtr new_CustomAlgorithmInterface();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomAlgorithmInterface_director_connect")]
+  public static extern void CustomAlgorithmInterface_director_connect(global::System.Runtime.InteropServices.HandleRef jarg1, CustomAlgorithmInterface.SwigDelegateCustomAlgorithmInterface_0 delegate0);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_SetCustomAlgorithm")]
+  public static extern void SetCustomAlgorithm(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemIdContainer_Clear")]
+  public static extern void ItemIdContainer_Clear(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemIdContainer_Add")]
+  public static extern void ItemIdContainer_Add(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemIdContainer_size")]
+  public static extern uint ItemIdContainer_size(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemIdContainer_capacity")]
+  public static extern uint ItemIdContainer_capacity(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemIdContainer_reserve")]
+  public static extern void ItemIdContainer_reserve(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ItemIdContainer__SWIG_0")]
+  public static extern global::System.IntPtr new_ItemIdContainer__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ItemIdContainer__SWIG_1")]
+  public static extern global::System.IntPtr new_ItemIdContainer__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ItemIdContainer__SWIG_2")]
+  public static extern global::System.IntPtr new_ItemIdContainer__SWIG_2(int jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemIdContainer_getitemcopy")]
+  public static extern uint ItemIdContainer_getitemcopy(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemIdContainer_getitem")]
+  public static extern uint ItemIdContainer_getitem(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemIdContainer_setitem")]
+  public static extern void ItemIdContainer_setitem(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, uint jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemIdContainer_AddRange")]
+  public static extern void ItemIdContainer_AddRange(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemIdContainer_GetRange")]
+  public static extern global::System.IntPtr ItemIdContainer_GetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemIdContainer_Insert")]
+  public static extern void ItemIdContainer_Insert(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, uint jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemIdContainer_InsertRange")]
+  public static extern void ItemIdContainer_InsertRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemIdContainer_RemoveAt")]
+  public static extern void ItemIdContainer_RemoveAt(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemIdContainer_RemoveRange")]
+  public static extern void ItemIdContainer_RemoveRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemIdContainer_Repeat")]
+  public static extern global::System.IntPtr ItemIdContainer_Repeat(uint jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemIdContainer_Reverse__SWIG_0")]
+  public static extern void ItemIdContainer_Reverse__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemIdContainer_Reverse__SWIG_1")]
+  public static extern void ItemIdContainer_Reverse__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemIdContainer_SetRange")]
+  public static extern void ItemIdContainer_SetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemIdContainer_Contains")]
+  public static extern bool ItemIdContainer_Contains(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemIdContainer_IndexOf")]
+  public static extern int ItemIdContainer_IndexOf(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemIdContainer_LastIndexOf")]
+  public static extern int ItemIdContainer_LastIndexOf(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemIdContainer_Remove")]
+  public static extern bool ItemIdContainer_Remove(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ItemIdContainer")]
+  public static extern void delete_ItemIdContainer(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Item__SWIG_0")]
+  public static extern global::System.IntPtr new_Item__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Item__SWIG_1")]
+  public static extern global::System.IntPtr new_Item__SWIG_1(uint jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_Item__SWIG_2")]
+  public static extern global::System.IntPtr new_Item__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Item_first_set")]
+  public static extern void Item_first_set(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Item_first_get")]
+  public static extern uint Item_first_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Item_second_set")]
+  public static extern void Item_second_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Item_second_get")]
+  public static extern global::System.IntPtr Item_second_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_Item")]
+  public static extern void delete_Item(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemContainer_Clear")]
+  public static extern void ItemContainer_Clear(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemContainer_Add")]
+  public static extern void ItemContainer_Add(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemContainer_size")]
+  public static extern uint ItemContainer_size(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemContainer_capacity")]
+  public static extern uint ItemContainer_capacity(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemContainer_reserve")]
+  public static extern void ItemContainer_reserve(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ItemContainer__SWIG_0")]
+  public static extern global::System.IntPtr new_ItemContainer__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ItemContainer__SWIG_1")]
+  public static extern global::System.IntPtr new_ItemContainer__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ItemContainer__SWIG_2")]
+  public static extern global::System.IntPtr new_ItemContainer__SWIG_2(int jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemContainer_getitemcopy")]
+  public static extern global::System.IntPtr ItemContainer_getitemcopy(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemContainer_getitem")]
+  public static extern global::System.IntPtr ItemContainer_getitem(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemContainer_setitem")]
+  public static extern void ItemContainer_setitem(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemContainer_AddRange")]
+  public static extern void ItemContainer_AddRange(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemContainer_GetRange")]
+  public static extern global::System.IntPtr ItemContainer_GetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemContainer_Insert")]
+  public static extern void ItemContainer_Insert(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemContainer_InsertRange")]
+  public static extern void ItemContainer_InsertRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemContainer_RemoveAt")]
+  public static extern void ItemContainer_RemoveAt(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemContainer_RemoveRange")]
+  public static extern void ItemContainer_RemoveRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemContainer_Repeat")]
+  public static extern global::System.IntPtr ItemContainer_Repeat(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemContainer_Reverse__SWIG_0")]
+  public static extern void ItemContainer_Reverse__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemContainer_Reverse__SWIG_1")]
+  public static extern void ItemContainer_Reverse__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemContainer_SetRange")]
+  public static extern void ItemContainer_SetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ItemContainer")]
+  public static extern void delete_ItemContainer(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorContainer_Clear")]
+  public static extern void ActorContainer_Clear(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorContainer_Add")]
+  public static extern void ActorContainer_Add(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorContainer_size")]
+  public static extern uint ActorContainer_size(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorContainer_capacity")]
+  public static extern uint ActorContainer_capacity(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorContainer_reserve")]
+  public static extern void ActorContainer_reserve(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ActorContainer__SWIG_0")]
+  public static extern global::System.IntPtr new_ActorContainer__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ActorContainer__SWIG_1")]
+  public static extern global::System.IntPtr new_ActorContainer__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ActorContainer__SWIG_2")]
+  public static extern global::System.IntPtr new_ActorContainer__SWIG_2(int jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorContainer_getitemcopy")]
+  public static extern global::System.IntPtr ActorContainer_getitemcopy(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorContainer_getitem")]
+  public static extern global::System.IntPtr ActorContainer_getitem(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorContainer_setitem")]
+  public static extern void ActorContainer_setitem(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorContainer_AddRange")]
+  public static extern void ActorContainer_AddRange(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorContainer_GetRange")]
+  public static extern global::System.IntPtr ActorContainer_GetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorContainer_Insert")]
+  public static extern void ActorContainer_Insert(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorContainer_InsertRange")]
+  public static extern void ActorContainer_InsertRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorContainer_RemoveAt")]
+  public static extern void ActorContainer_RemoveAt(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorContainer_RemoveRange")]
+  public static extern void ActorContainer_RemoveRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorContainer_Repeat")]
+  public static extern global::System.IntPtr ActorContainer_Repeat(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorContainer_Reverse__SWIG_0")]
+  public static extern void ActorContainer_Reverse__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorContainer_Reverse__SWIG_1")]
+  public static extern void ActorContainer_Reverse__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ActorContainer_SetRange")]
+  public static extern void ActorContainer_SetRange(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ActorContainer")]
+  public static extern void delete_ActorContainer(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityActionSignal_Empty")]
+  public static extern bool AccessibilityActionSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityActionSignal_GetConnectionCount")]
+  public static extern uint AccessibilityActionSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityActionSignal_Connect")]
+  public static extern void AccessibilityActionSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityActionSignal_Disconnect")]
+  public static extern void AccessibilityActionSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityActionSignal_Emit")]
+  public static extern bool AccessibilityActionSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_AccessibilityActionSignal")]
+  public static extern global::System.IntPtr new_AccessibilityActionSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_AccessibilityActionSignal")]
+  public static extern void delete_AccessibilityActionSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityFocusOvershotSignal_Empty")]
+  public static extern bool AccessibilityFocusOvershotSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityFocusOvershotSignal_GetConnectionCount")]
+  public static extern uint AccessibilityFocusOvershotSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityFocusOvershotSignal_Connect")]
+  public static extern void AccessibilityFocusOvershotSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityFocusOvershotSignal_Disconnect")]
+  public static extern void AccessibilityFocusOvershotSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityFocusOvershotSignal_Emit")]
+  public static extern void AccessibilityFocusOvershotSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_AccessibilityFocusOvershotSignal")]
+  public static extern global::System.IntPtr new_AccessibilityFocusOvershotSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_AccessibilityFocusOvershotSignal")]
+  public static extern void delete_AccessibilityFocusOvershotSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FocusChangedSignal_Empty")]
+  public static extern bool FocusChangedSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FocusChangedSignal_GetConnectionCount")]
+  public static extern uint FocusChangedSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FocusChangedSignal_Connect")]
+  public static extern void FocusChangedSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FocusChangedSignal_Disconnect")]
+  public static extern void FocusChangedSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FocusChangedSignal_Emit")]
+  public static extern void FocusChangedSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_FocusChangedSignal")]
+  public static extern global::System.IntPtr new_FocusChangedSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_FocusChangedSignal")]
+  public static extern void delete_FocusChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FocusGroupChangedSignal_Empty")]
+  public static extern bool FocusGroupChangedSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FocusGroupChangedSignal_GetConnectionCount")]
+  public static extern uint FocusGroupChangedSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FocusGroupChangedSignal_Connect")]
+  public static extern void FocusGroupChangedSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FocusGroupChangedSignal_Disconnect")]
+  public static extern void FocusGroupChangedSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FocusGroupChangedSignal_Emit")]
+  public static extern void FocusGroupChangedSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, bool jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_FocusGroupChangedSignal")]
+  public static extern global::System.IntPtr new_FocusGroupChangedSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_FocusGroupChangedSignal")]
+  public static extern void delete_FocusGroupChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_StyleChangedSignal_Empty")]
+  public static extern bool StyleChangedSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_StyleChangedSignal_GetConnectionCount")]
+  public static extern uint StyleChangedSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_StyleChangedSignal_Connect")]
+  public static extern void StyleChangedSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_StyleChangedSignal_Disconnect")]
+  public static extern void StyleChangedSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_StyleChangedSignal_Emit")]
+  public static extern void StyleChangedSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_StyleChangedSignal")]
+  public static extern global::System.IntPtr new_StyleChangedSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_StyleChangedSignal")]
+  public static extern void delete_StyleChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ButtonSignal_Empty")]
+  public static extern bool ButtonSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ButtonSignal_GetConnectionCount")]
+  public static extern uint ButtonSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ButtonSignal_Connect")]
+  public static extern void ButtonSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ButtonSignal_Disconnect")]
+  public static extern void ButtonSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ButtonSignal_Emit")]
+  public static extern bool ButtonSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ButtonSignal")]
+  public static extern global::System.IntPtr new_ButtonSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ButtonSignal")]
+  public static extern void delete_ButtonSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GaussianBlurViewSignal_Empty")]
+  public static extern bool GaussianBlurViewSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GaussianBlurViewSignal_GetConnectionCount")]
+  public static extern uint GaussianBlurViewSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GaussianBlurViewSignal_Connect")]
+  public static extern void GaussianBlurViewSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GaussianBlurViewSignal_Disconnect")]
+  public static extern void GaussianBlurViewSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GaussianBlurViewSignal_Emit")]
+  public static extern void GaussianBlurViewSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_GaussianBlurViewSignal")]
+  public static extern global::System.IntPtr new_GaussianBlurViewSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_GaussianBlurViewSignal")]
+  public static extern void delete_GaussianBlurViewSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageTurnSignal_Empty")]
+  public static extern bool PageTurnSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageTurnSignal_GetConnectionCount")]
+  public static extern uint PageTurnSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageTurnSignal_Connect")]
+  public static extern void PageTurnSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageTurnSignal_Disconnect")]
+  public static extern void PageTurnSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageTurnSignal_Emit")]
+  public static extern void PageTurnSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, uint jarg3, bool jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PageTurnSignal")]
+  public static extern global::System.IntPtr new_PageTurnSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PageTurnSignal")]
+  public static extern void delete_PageTurnSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PagePanSignal_Empty")]
+  public static extern bool PagePanSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PagePanSignal_GetConnectionCount")]
+  public static extern uint PagePanSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PagePanSignal_Connect")]
+  public static extern void PagePanSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PagePanSignal_Disconnect")]
+  public static extern void PagePanSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PagePanSignal_Emit")]
+  public static extern void PagePanSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_PagePanSignal")]
+  public static extern global::System.IntPtr new_PagePanSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_PagePanSignal")]
+  public static extern void delete_PagePanSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ProgressBarValueChangedSignal_Empty")]
+  public static extern bool ProgressBarValueChangedSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ProgressBarValueChangedSignal_GetConnectionCount")]
+  public static extern uint ProgressBarValueChangedSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ProgressBarValueChangedSignal_Connect")]
+  public static extern void ProgressBarValueChangedSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ProgressBarValueChangedSignal_Disconnect")]
+  public static extern void ProgressBarValueChangedSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ProgressBarValueChangedSignal_Emit")]
+  public static extern void ProgressBarValueChangedSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3, float jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ProgressBarValueChangedSignal")]
+  public static extern global::System.IntPtr new_ProgressBarValueChangedSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ProgressBarValueChangedSignal")]
+  public static extern void delete_ProgressBarValueChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollViewSnapStartedSignal_Empty")]
+  public static extern bool ScrollViewSnapStartedSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollViewSnapStartedSignal_GetConnectionCount")]
+  public static extern uint ScrollViewSnapStartedSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollViewSnapStartedSignal_Connect")]
+  public static extern void ScrollViewSnapStartedSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollViewSnapStartedSignal_Disconnect")]
+  public static extern void ScrollViewSnapStartedSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollViewSnapStartedSignal_Emit")]
+  public static extern void ScrollViewSnapStartedSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ScrollViewSnapStartedSignal")]
+  public static extern global::System.IntPtr new_ScrollViewSnapStartedSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ScrollViewSnapStartedSignal")]
+  public static extern void delete_ScrollViewSnapStartedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollableSignal_Empty")]
+  public static extern bool ScrollableSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollableSignal_GetConnectionCount")]
+  public static extern uint ScrollableSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollableSignal_Connect")]
+  public static extern void ScrollableSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollableSignal_Disconnect")]
+  public static extern void ScrollableSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollableSignal_Emit")]
+  public static extern void ScrollableSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ScrollableSignal")]
+  public static extern global::System.IntPtr new_ScrollableSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ScrollableSignal")]
+  public static extern void delete_ScrollableSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditorSignal_Empty")]
+  public static extern bool TextEditorSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditorSignal_GetConnectionCount")]
+  public static extern uint TextEditorSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditorSignal_Connect")]
+  public static extern void TextEditorSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditorSignal_Disconnect")]
+  public static extern void TextEditorSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditorSignal_Emit")]
+  public static extern void TextEditorSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TextEditorSignal")]
+  public static extern global::System.IntPtr new_TextEditorSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TextEditorSignal")]
+  public static extern void delete_TextEditorSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextFieldSignal_Empty")]
+  public static extern bool TextFieldSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextFieldSignal_GetConnectionCount")]
+  public static extern uint TextFieldSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextFieldSignal_Connect")]
+  public static extern void TextFieldSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextFieldSignal_Disconnect")]
+  public static extern void TextFieldSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextFieldSignal_Emit")]
+  public static extern void TextFieldSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_TextFieldSignal")]
+  public static extern global::System.IntPtr new_TextFieldSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_TextFieldSignal")]
+  public static extern void delete_TextFieldSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ControlKeySignal_Empty")]
+  public static extern bool ControlKeySignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ControlKeySignal_GetConnectionCount")]
+  public static extern uint ControlKeySignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ControlKeySignal_Connect")]
+  public static extern void ControlKeySignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ControlKeySignal_Disconnect")]
+  public static extern void ControlKeySignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ControlKeySignal_Emit")]
+  public static extern bool ControlKeySignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_ControlKeySignal")]
+  public static extern global::System.IntPtr new_ControlKeySignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_ControlKeySignal")]
+  public static extern void delete_ControlKeySignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_KeyInputFocusSignal_Empty")]
+  public static extern bool KeyInputFocusSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_KeyInputFocusSignal_GetConnectionCount")]
+  public static extern uint KeyInputFocusSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_KeyInputFocusSignal_Connect")]
+  public static extern void KeyInputFocusSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_KeyInputFocusSignal_Disconnect")]
+  public static extern void KeyInputFocusSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_KeyInputFocusSignal_Emit")]
+  public static extern void KeyInputFocusSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_KeyInputFocusSignal")]
+  public static extern global::System.IntPtr new_KeyInputFocusSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_KeyInputFocusSignal")]
+  public static extern void delete_KeyInputFocusSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VideoViewSignal_Empty")]
+  public static extern bool VideoViewSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VideoViewSignal_GetConnectionCount")]
+  public static extern uint VideoViewSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VideoViewSignal_Connect")]
+  public static extern void VideoViewSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VideoViewSignal_Disconnect")]
+  public static extern void VideoViewSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VideoViewSignal_Emit")]
+  public static extern void VideoViewSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_VideoViewSignal")]
+  public static extern global::System.IntPtr new_VideoViewSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_VideoViewSignal")]
+  public static extern void delete_VideoViewSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_SliderValueChangedSignal_Empty")]
+  public static extern bool SliderValueChangedSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_SliderValueChangedSignal_GetConnectionCount")]
+  public static extern uint SliderValueChangedSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_SliderValueChangedSignal_Connect")]
+  public static extern void SliderValueChangedSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_SliderValueChangedSignal_Disconnect")]
+  public static extern void SliderValueChangedSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_SliderValueChangedSignal_Emit")]
+  public static extern bool SliderValueChangedSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_SliderValueChangedSignal")]
+  public static extern global::System.IntPtr new_SliderValueChangedSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_SliderValueChangedSignal")]
+  public static extern void delete_SliderValueChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_SliderMarkReachedSignal_Empty")]
+  public static extern bool SliderMarkReachedSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_SliderMarkReachedSignal_GetConnectionCount")]
+  public static extern uint SliderMarkReachedSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_SliderMarkReachedSignal_Connect")]
+  public static extern void SliderMarkReachedSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_SliderMarkReachedSignal_Disconnect")]
+  public static extern void SliderMarkReachedSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_SliderMarkReachedSignal_Emit")]
+  public static extern bool SliderMarkReachedSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_SliderMarkReachedSignal")]
+  public static extern global::System.IntPtr new_SliderMarkReachedSignal();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_SliderMarkReachedSignal")]
+  public static extern void delete_SliderMarkReachedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_RulerPtr__SWIG_0")]
+  public static extern global::System.IntPtr new_RulerPtr__SWIG_0();
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_RulerPtr__SWIG_1")]
+  public static extern global::System.IntPtr new_RulerPtr__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_RulerPtr__SWIG_2")]
+  public static extern global::System.IntPtr new_RulerPtr__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_RulerPtr")]
+  public static extern void delete_RulerPtr(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_Get")]
+  public static extern global::System.IntPtr RulerPtr_Get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr___deref__")]
+  public static extern global::System.IntPtr RulerPtr___deref__(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr___ref__")]
+  public static extern global::System.IntPtr RulerPtr___ref__(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_Assign__SWIG_0")]
+  public static extern global::System.IntPtr RulerPtr_Assign__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_Assign__SWIG_1")]
+  public static extern global::System.IntPtr RulerPtr_Assign__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_Reset__SWIG_0")]
+  public static extern void RulerPtr_Reset__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_Reset__SWIG_1")]
+  public static extern void RulerPtr_Reset__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_Detach")]
+  public static extern global::System.IntPtr RulerPtr_Detach(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_Snap__SWIG_0")]
+  public static extern float RulerPtr_Snap__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_Snap__SWIG_1")]
+  public static extern float RulerPtr_Snap__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_GetPositionFromPage")]
+  public static extern float RulerPtr_GetPositionFromPage(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2, out uint jarg3, bool jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_GetPageFromPosition")]
+  public static extern uint RulerPtr_GetPageFromPosition(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, bool jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_GetTotalPages")]
+  public static extern uint RulerPtr_GetTotalPages(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_GetType")]
+  public static extern int RulerPtr_GetType(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_IsEnabled")]
+  public static extern bool RulerPtr_IsEnabled(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_Enable")]
+  public static extern void RulerPtr_Enable(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_Disable")]
+  public static extern void RulerPtr_Disable(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_SetDomain")]
+  public static extern void RulerPtr_SetDomain(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_GetDomain")]
+  public static extern global::System.IntPtr RulerPtr_GetDomain(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_DisableDomain")]
+  public static extern void RulerPtr_DisableDomain(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_Clamp__SWIG_0")]
+  public static extern float RulerPtr_Clamp__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3, float jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_Clamp__SWIG_1")]
+  public static extern float RulerPtr_Clamp__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_Clamp__SWIG_2")]
+  public static extern float RulerPtr_Clamp__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_Clamp__SWIG_3")]
+  public static extern float RulerPtr_Clamp__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3, float jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_SnapAndClamp__SWIG_0")]
+  public static extern float RulerPtr_SnapAndClamp__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3, float jarg4, float jarg5);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_SnapAndClamp__SWIG_1")]
+  public static extern float RulerPtr_SnapAndClamp__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3, float jarg4);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_SnapAndClamp__SWIG_2")]
+  public static extern float RulerPtr_SnapAndClamp__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_SnapAndClamp__SWIG_3")]
+  public static extern float RulerPtr_SnapAndClamp__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_SnapAndClamp__SWIG_4")]
+  public static extern float RulerPtr_SnapAndClamp__SWIG_4(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3, float jarg4, float jarg5, global::System.Runtime.InteropServices.HandleRef jarg6);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_Reference")]
+  public static extern void RulerPtr_Reference(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_Unreference")]
+  public static extern void RulerPtr_Unreference(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RulerPtr_ReferenceCount")]
+  public static extern int RulerPtr_ReferenceCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BaseObject_SWIGUpcast")]
+  public static extern global::System.IntPtr BaseObject_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ConnectionTrackerInterface_SWIGUpcast")]
+  public static extern global::System.IntPtr ConnectionTrackerInterface_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ConnectionTracker_SWIGUpcast")]
+  public static extern global::System.IntPtr ConnectionTracker_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ObjectRegistry_SWIGUpcast")]
+  public static extern global::System.IntPtr ObjectRegistry_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyCondition_SWIGUpcast")]
+  public static extern global::System.IntPtr PropertyCondition_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyNotification_SWIGUpcast")]
+  public static extern global::System.IntPtr PropertyNotification_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Handle_SWIGUpcast")]
+  public static extern global::System.IntPtr Handle_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TypeInfo_SWIGUpcast")]
+  public static extern global::System.IntPtr TypeInfo_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TypeRegistry_SWIGUpcast")]
+  public static extern global::System.IntPtr TypeRegistry_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Image_SWIGUpcast")]
+  public static extern global::System.IntPtr Image_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PixelData_SWIGUpcast")]
+  public static extern global::System.IntPtr PixelData_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Texture_SWIGUpcast")]
+  public static extern global::System.IntPtr Texture_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Sampler_SWIGUpcast")]
+  public static extern global::System.IntPtr Sampler_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextureSet_SWIGUpcast")]
+  public static extern global::System.IntPtr TextureSet_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PropertyBuffer_SWIGUpcast")]
+  public static extern global::System.IntPtr PropertyBuffer_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Geometry_SWIGUpcast")]
+  public static extern global::System.IntPtr Geometry_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Shader_SWIGUpcast")]
+  public static extern global::System.IntPtr Shader_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Renderer_SWIGUpcast")]
+  public static extern global::System.IntPtr Renderer_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FrameBuffer_SWIGUpcast")]
+  public static extern global::System.IntPtr FrameBuffer_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTaskList_SWIGUpcast")]
+  public static extern global::System.IntPtr RenderTaskList_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RenderTask_SWIGUpcast")]
+  public static extern global::System.IntPtr RenderTask_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Touch_SWIGUpcast")]
+  public static extern global::System.IntPtr Touch_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GestureDetector_SWIGUpcast")]
+  public static extern global::System.IntPtr GestureDetector_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LongPressGestureDetector_SWIGUpcast")]
+  public static extern global::System.IntPtr LongPressGestureDetector_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LongPressGesture_SWIGUpcast")]
+  public static extern global::System.IntPtr LongPressGesture_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Actor_SWIGUpcast")]
+  public static extern global::System.IntPtr Actor_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Layer_SWIGUpcast")]
+  public static extern global::System.IntPtr Layer_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Stage_SWIGUpcast")]
+  public static extern global::System.IntPtr Stage_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActorImpl_SWIGUpcast")]
+  public static extern global::System.IntPtr CustomActorImpl_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomActor_SWIGUpcast")]
+  public static extern global::System.IntPtr CustomActor_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGestureDetector_SWIGUpcast")]
+  public static extern global::System.IntPtr PanGestureDetector_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PanGesture_SWIGUpcast")]
+  public static extern global::System.IntPtr PanGesture_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PinchGestureDetector_SWIGUpcast")]
+  public static extern global::System.IntPtr PinchGestureDetector_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PinchGesture_SWIGUpcast")]
+  public static extern global::System.IntPtr PinchGesture_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGestureDetector_SWIGUpcast")]
+  public static extern global::System.IntPtr TapGestureDetector_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TapGesture_SWIGUpcast")]
+  public static extern global::System.IntPtr TapGesture_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_KeyFrames_SWIGUpcast")]
+  public static extern global::System.IntPtr KeyFrames_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Path_SWIGUpcast")]
+  public static extern global::System.IntPtr Path_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Animation_SWIGUpcast")]
+  public static extern global::System.IntPtr Animation_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_LinearConstrainer_SWIGUpcast")]
+  public static extern global::System.IntPtr LinearConstrainer_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PathConstrainer_SWIGUpcast")]
+  public static extern global::System.IntPtr PathConstrainer_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_BufferImage_SWIGUpcast")]
+  public static extern global::System.IntPtr BufferImage_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_EncodedBufferImage_SWIGUpcast")]
+  public static extern global::System.IntPtr EncodedBufferImage_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NativeImage_SWIGUpcast")]
+  public static extern global::System.IntPtr NativeImage_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NativeImageInterface_SWIGUpcast")]
+  public static extern global::System.IntPtr NativeImageInterface_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ResourceImage_SWIGUpcast")]
+  public static extern global::System.IntPtr ResourceImage_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FrameBufferImage_SWIGUpcast")]
+  public static extern global::System.IntPtr FrameBufferImage_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_NinePatchImage_SWIGUpcast")]
+  public static extern global::System.IntPtr NinePatchImage_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CameraActor_SWIGUpcast")]
+  public static extern global::System.IntPtr CameraActor_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Timer_SWIGUpcast")]
+  public static extern global::System.IntPtr Timer_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_DragAndDropDetector_SWIGUpcast")]
+  public static extern global::System.IntPtr DragAndDropDetector_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Window_SWIGUpcast")]
+  public static extern global::System.IntPtr Window_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_SWIGUpcast")]
+  public static extern global::System.IntPtr Application_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Builder_SWIGUpcast")]
+  public static extern global::System.IntPtr Builder_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TransitionData_SWIGUpcast")]
+  public static extern global::System.IntPtr TransitionData_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ViewImpl_SWIGUpcast")]
+  public static extern global::System.IntPtr ViewImpl_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_View_SWIGUpcast")]
+  public static extern global::System.IntPtr View_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_KeyInputFocusManager_SWIGUpcast")]
+  public static extern global::System.IntPtr KeyInputFocusManager_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Alignment_SWIGUpcast")]
+  public static extern global::System.IntPtr Alignment_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Button_SWIGUpcast")]
+  public static extern global::System.IntPtr Button_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CheckBoxButton_SWIGUpcast")]
+  public static extern global::System.IntPtr CheckBoxButton_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PushButton_SWIGUpcast")]
+  public static extern global::System.IntPtr PushButton_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_RadioButton_SWIGUpcast")]
+  public static extern global::System.IntPtr RadioButton_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FlexContainer_SWIGUpcast")]
+  public static extern global::System.IntPtr FlexContainer_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ImageView_SWIGUpcast")]
+  public static extern global::System.IntPtr ImageView_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Model3dView_SWIGUpcast")]
+  public static extern global::System.IntPtr Model3dView_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollBar_SWIGUpcast")]
+  public static extern global::System.IntPtr ScrollBar_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Scrollable_SWIGUpcast")]
+  public static extern global::System.IntPtr Scrollable_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemLayout_SWIGUpcast")]
+  public static extern global::System.IntPtr ItemLayout_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ItemView_SWIGUpcast")]
+  public static extern global::System.IntPtr ItemView_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollViewEffect_SWIGUpcast")]
+  public static extern global::System.IntPtr ScrollViewEffect_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollViewPagePathEffect_SWIGUpcast")]
+  public static extern global::System.IntPtr ScrollViewPagePathEffect_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Ruler_SWIGUpcast")]
+  public static extern global::System.IntPtr Ruler_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_DefaultRuler_SWIGUpcast")]
+  public static extern global::System.IntPtr DefaultRuler_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FixedRuler_SWIGUpcast")]
+  public static extern global::System.IntPtr FixedRuler_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ScrollView_SWIGUpcast")]
+  public static extern global::System.IntPtr ScrollView_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TableView_SWIGUpcast")]
+  public static extern global::System.IntPtr TableView_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextEditor_SWIGUpcast")]
+  public static extern global::System.IntPtr TextEditor_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextField_SWIGUpcast")]
+  public static extern global::System.IntPtr TextField_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_TextLabel_SWIGUpcast")]
+  public static extern global::System.IntPtr TextLabel_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AccessibilityManager_SWIGUpcast")]
+  public static extern global::System.IntPtr AccessibilityManager_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_StyleManager_SWIGUpcast")]
+  public static extern global::System.IntPtr StyleManager_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Slider_SWIGUpcast")]
+  public static extern global::System.IntPtr Slider_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VideoView_SWIGUpcast")]
+  public static extern global::System.IntPtr VideoView_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Popup_SWIGUpcast")]
+  public static extern global::System.IntPtr Popup_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ProgressBar_SWIGUpcast")]
+  public static extern global::System.IntPtr ProgressBar_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_GaussianBlurView_SWIGUpcast")]
+  public static extern global::System.IntPtr GaussianBlurView_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageTurnView_SWIGUpcast")]
+  public static extern global::System.IntPtr PageTurnView_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageTurnLandscapeView_SWIGUpcast")]
+  public static extern global::System.IntPtr PageTurnLandscapeView_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_PageTurnPortraitView_SWIGUpcast")]
+  public static extern global::System.IntPtr PageTurnPortraitView_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_ToggleButton_SWIGUpcast")]
+  public static extern global::System.IntPtr ToggleButton_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VisualBase_SWIGUpcast")]
+  public static extern global::System.IntPtr VisualBase_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_VisualFactory_SWIGUpcast")]
+  public static extern global::System.IntPtr VisualFactory_SWIGUpcast(global::System.IntPtr jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_AsyncImageLoader_SWIGUpcast")]
+  public static extern global::System.IntPtr AsyncImageLoader_SWIGUpcast(global::System.IntPtr jarg1);
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/NativeImage.cs b/plugins/dali-sharp/sharp/internal/NativeImage.cs
new file mode 100644 (file)
index 0000000..a432a9c
--- /dev/null
@@ -0,0 +1,103 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class NativeImage : Image {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal NativeImage(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.NativeImage_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(NativeImage obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~NativeImage() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_NativeImage(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public NativeImage (NativeImageInterface nativeImageInterface) : this (NDalicPINVOKE.NativeImage_New(NativeImageInterface.getCPtr(nativeImageInterface)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public NativeImage(NativeImage handle) : this(NDalicPINVOKE.new_NativeImage__SWIG_1(NativeImage.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public NativeImage Assign(NativeImage rhs) {
+    NativeImage ret = new NativeImage(NDalicPINVOKE.NativeImage_Assign(swigCPtr, NativeImage.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void CreateGlTexture() {
+    NDalicPINVOKE.NativeImage_CreateGlTexture(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public new static NativeImage DownCast(BaseHandle handle) {
+    NativeImage ret = new NativeImage(NDalicPINVOKE.NativeImage_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public string GetCustomFragmentPreFix() {
+    string ret = NDalicPINVOKE.NativeImage_GetCustomFragmentPreFix(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public string GetCustomSamplerTypename() {
+    string ret = NDalicPINVOKE.NativeImage_GetCustomSamplerTypename(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/NativeImageInterface.cs b/plugins/dali-sharp/sharp/internal/NativeImageInterface.cs
new file mode 100644 (file)
index 0000000..208330f
--- /dev/null
@@ -0,0 +1,80 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class NativeImageInterface : RefObject {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal NativeImageInterface(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.NativeImageInterface_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(NativeImageInterface obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  public override void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          throw new global::System.MethodAccessException("C++ destructor does not have public access");
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+  public virtual bool GlExtensionCreate() {
+    bool ret = NDalicPINVOKE.NativeImageInterface_GlExtensionCreate(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual void GlExtensionDestroy() {
+    NDalicPINVOKE.NativeImageInterface_GlExtensionDestroy(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual uint TargetTexture() {
+    uint ret = NDalicPINVOKE.NativeImageInterface_TargetTexture(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual void PrepareTexture() {
+    NDalicPINVOKE.NativeImageInterface_PrepareTexture(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual uint GetWidth() {
+    uint ret = NDalicPINVOKE.NativeImageInterface_GetWidth(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual uint GetHeight() {
+    uint ret = NDalicPINVOKE.NativeImageInterface_GetHeight(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual bool RequiresBlending() {
+    bool ret = NDalicPINVOKE.NativeImageInterface_RequiresBlending(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/NinePatchImage.cs b/plugins/dali-sharp/sharp/internal/NinePatchImage.cs
new file mode 100644 (file)
index 0000000..40a2083
--- /dev/null
@@ -0,0 +1,122 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class NinePatchImage : ResourceImage {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal NinePatchImage(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.NinePatchImage_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(NinePatchImage obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~NinePatchImage() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_NinePatchImage(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public NinePatchImage (string filename) : this (NDalicPINVOKE.NinePatchImage_New(filename), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public new static NinePatchImage DownCast(BaseHandle handle) {
+    NinePatchImage ret = new NinePatchImage(NDalicPINVOKE.NinePatchImage_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public NinePatchImage(NinePatchImage handle) : this(NDalicPINVOKE.new_NinePatchImage__SWIG_1(NinePatchImage.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public NinePatchImage Assign(NinePatchImage rhs) {
+    NinePatchImage ret = new NinePatchImage(NDalicPINVOKE.NinePatchImage_Assign(swigCPtr, NinePatchImage.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector4 GetStretchBorders() {
+    Vector4 ret = new Vector4(NDalicPINVOKE.NinePatchImage_GetStretchBorders(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public VectorUint16Pair GetStretchPixelsX() {
+    VectorUint16Pair ret = new VectorUint16Pair(NDalicPINVOKE.NinePatchImage_GetStretchPixelsX(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public VectorUint16Pair GetStretchPixelsY() {
+    VectorUint16Pair ret = new VectorUint16Pair(NDalicPINVOKE.NinePatchImage_GetStretchPixelsY(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Rectangle GetChildRectangle() {
+    Rectangle ret = new Rectangle(NDalicPINVOKE.NinePatchImage_GetChildRectangle(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public BufferImage CreateCroppedBufferImage() {
+    BufferImage ret = new BufferImage(NDalicPINVOKE.NinePatchImage_CreateCroppedBufferImage(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static bool IsNinePatchUrl(string url) {
+    bool ret = NDalicPINVOKE.NinePatchImage_IsNinePatchUrl(url);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ObjectCreatedSignal.cs b/plugins/dali-sharp/sharp/internal/ObjectCreatedSignal.cs
new file mode 100644 (file)
index 0000000..d9589e3
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ObjectCreatedSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal ObjectCreatedSignal(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(ObjectCreatedSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ObjectCreatedSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ObjectCreatedSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.ObjectCreatedSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.ObjectCreatedSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ObjectCreatedSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ObjectCreatedSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(BaseHandle arg) {
+    NDalicPINVOKE.ObjectCreatedSignal_Emit(swigCPtr, BaseHandle.getCPtr(arg));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ObjectCreatedSignal() : this(NDalicPINVOKE.new_ObjectCreatedSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ObjectDestroyedSignal.cs b/plugins/dali-sharp/sharp/internal/ObjectDestroyedSignal.cs
new file mode 100644 (file)
index 0000000..8238903
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ObjectDestroyedSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal ObjectDestroyedSignal(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(ObjectDestroyedSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ObjectDestroyedSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ObjectDestroyedSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.ObjectDestroyedSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.ObjectDestroyedSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ObjectDestroyedSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ObjectDestroyedSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(RefObject arg) {
+    NDalicPINVOKE.ObjectDestroyedSignal_Emit(swigCPtr, RefObject.getCPtr(arg));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ObjectDestroyedSignal() : this(NDalicPINVOKE.new_ObjectDestroyedSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ObjectRegistry.cs b/plugins/dali-sharp/sharp/internal/ObjectRegistry.cs
new file mode 100644 (file)
index 0000000..329bbd7
--- /dev/null
@@ -0,0 +1,220 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class ObjectRegistry : BaseHandle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal ObjectRegistry(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ObjectRegistry_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ObjectRegistry obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ObjectRegistry() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ObjectRegistry(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+
+public class ObjectCreatedEventArgs : EventArgs
+{
+   private BaseHandle _baseHandle;
+
+   public BaseHandle BaseHandle
+   {
+      get
+      {
+         return _baseHandle;
+      }
+      set
+      {
+         _baseHandle = value;
+      }
+   }
+}
+
+public class ObjectDestroyedEventArgs : EventArgs
+{
+   private RefObject _refObject;
+
+   public RefObject RefObject
+   {
+      get
+      {
+         return _refObject;
+      }
+      set
+      {
+         _refObject = value;
+      }
+   }
+}
+
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void ObjectCreatedEventCallbackDelegate(IntPtr baseHandle);
+  private DaliEventHandler<object,ObjectCreatedEventArgs> _objectRegistryObjectCreatedEventHandler;
+  private ObjectCreatedEventCallbackDelegate _objectRegistryObjectCreatedEventCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void ObjectDestroyedEventCallbackDelegate(IntPtr fefObject);
+  private DaliEventHandler<object,ObjectDestroyedEventArgs> _objectRegistryObjectDestroyedEventHandler;
+  private ObjectDestroyedEventCallbackDelegate _objectRegistryObjectDestroyedEventCallbackDelegate;
+
+  public event DaliEventHandler<object,ObjectCreatedEventArgs> ObjectCreated
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_objectRegistryObjectCreatedEventHandler == null)
+           {
+              _objectRegistryObjectCreatedEventHandler += value;
+
+              _objectRegistryObjectCreatedEventCallbackDelegate = new ObjectCreatedEventCallbackDelegate(OnObjectCreated);
+              this.ObjectCreatedSignal().Connect(_objectRegistryObjectCreatedEventCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_objectRegistryObjectCreatedEventHandler != null)
+           {
+              this.ObjectCreatedSignal().Disconnect(_objectRegistryObjectCreatedEventCallbackDelegate);
+           }
+
+           _objectRegistryObjectCreatedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for ObjectRegistry ObjectCreatedSignal
+  private void OnObjectCreated(IntPtr baseHandle)
+  {
+     ObjectCreatedEventArgs e = new ObjectCreatedEventArgs();
+
+     // Populate all members of "e" (ObjectCreatedEventArgs) with real data
+     //e.BaseHandle = BaseHandle.GetBaseHandleFromPtr(baseHandle); //GetBaseHandleFromPtr() is not present in BaseHandle.cs. Not sure what is the reason?
+
+     if (_objectRegistryObjectCreatedEventHandler != null)
+     {
+        //here we send all data to user event handlers
+        _objectRegistryObjectCreatedEventHandler(this, e);
+     }
+  }
+
+  public event DaliEventHandler<object,ObjectDestroyedEventArgs> ObjectDestroyed
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_objectRegistryObjectDestroyedEventHandler == null)
+           {
+              _objectRegistryObjectDestroyedEventHandler += value;
+
+              _objectRegistryObjectDestroyedEventCallbackDelegate = new ObjectDestroyedEventCallbackDelegate(OnObjectDestroyed);
+              this.ObjectDestroyedSignal().Connect(_objectRegistryObjectDestroyedEventCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_objectRegistryObjectDestroyedEventHandler != null)
+           {
+              this.ObjectDestroyedSignal().Disconnect(_objectRegistryObjectDestroyedEventCallbackDelegate);
+           }
+
+           _objectRegistryObjectDestroyedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for ObjectRegistry ObjectDestroyedSignal
+  private void OnObjectDestroyed(IntPtr refObject)
+  {
+     ObjectDestroyedEventArgs e = new ObjectDestroyedEventArgs();
+
+     // Populate all members of "e" (ObjectDestroyedEventArgs) with real data
+     e.RefObject = RefObject.GetRefObjectFromPtr(refObject);
+
+     if (_objectRegistryObjectDestroyedEventHandler != null)
+     {
+        //here we send all data to user event handlers
+        _objectRegistryObjectDestroyedEventHandler(this, e);
+     }
+  }
+
+
+  public ObjectRegistry() : this(NDalicPINVOKE.new_ObjectRegistry__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ObjectRegistry(ObjectRegistry handle) : this(NDalicPINVOKE.new_ObjectRegistry__SWIG_1(ObjectRegistry.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ObjectRegistry Assign(ObjectRegistry rhs) {
+    ObjectRegistry ret = new ObjectRegistry(NDalicPINVOKE.ObjectRegistry_Assign(swigCPtr, ObjectRegistry.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ObjectCreatedSignal ObjectCreatedSignal() {
+    ObjectCreatedSignal ret = new ObjectCreatedSignal(NDalicPINVOKE.ObjectRegistry_ObjectCreatedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ObjectDestroyedSignal ObjectDestroyedSignal() {
+    ObjectDestroyedSignal ret = new ObjectDestroyedSignal(NDalicPINVOKE.ObjectRegistry_ObjectDestroyedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/PaddingType.cs b/plugins/dali-sharp/sharp/internal/PaddingType.cs
new file mode 100644 (file)
index 0000000..0a87974
--- /dev/null
@@ -0,0 +1,249 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class PaddingType : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  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;
+  }
+
+  ~PaddingType() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+    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.Left - b.Left ) < NDalic.GetRangedEpsilon(a.Left, b.Left) )&&
+               ( System.Math.Abs( a.Right - b.Right ) < NDalic.GetRangedEpsilon(a.Right, b.Right) )&&
+               ( 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) );
+    }
+
+    public static bool operator !=(PaddingType a, PaddingType b)
+    {
+        return !(a == b);
+    }
+
+    ///< The Left value
+    public float Left
+    {
+        set
+        {
+            left = value;
+        }
+        get
+        {
+            return left;
+        }
+    }
+
+    ///< The Right value
+    public float Right
+    {
+        set
+        {
+            right = value;
+        }
+        get
+        {
+            return right;
+        }
+    }
+
+    ///< The Bottom value
+    public float Bottom
+    {
+        set
+        {
+            bottom = value;
+        }
+        get
+        {
+            return bottom;
+        }
+    }
+
+    ///< The Top value
+    public float Top
+    {
+        set
+        {
+            top = value;
+        }
+        get
+        {
+            return top;
+        }
+    }
+
+
+  public PaddingType() : this(NDalicPINVOKE.new_PaddingType__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PaddingType(float x, float y, float width, float height) : this(NDalicPINVOKE.new_PaddingType__SWIG_1(x, y, width, height), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PaddingType(PaddingType rhs) : this(NDalicPINVOKE.new_PaddingType__SWIG_2(PaddingType.getCPtr(rhs)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PaddingType Assign(PaddingType rhs) {
+    PaddingType ret = new PaddingType(NDalicPINVOKE.PaddingType_Assign(swigCPtr, PaddingType.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Set(float newX, float newY, float newWidth, float newHeight) {
+    NDalicPINVOKE.PaddingType_Set(swigCPtr, newX, newY, newWidth, newHeight);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  private float x {
+    set {
+      NDalicPINVOKE.PaddingType_x_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      float ret = NDalicPINVOKE.PaddingType_x_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private float left {
+    set {
+      NDalicPINVOKE.PaddingType_left_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      float ret = NDalicPINVOKE.PaddingType_left_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private float y {
+    set {
+      NDalicPINVOKE.PaddingType_y_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      float ret = NDalicPINVOKE.PaddingType_y_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private float right {
+    set {
+      NDalicPINVOKE.PaddingType_right_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      float ret = NDalicPINVOKE.PaddingType_right_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private float width {
+    set {
+      NDalicPINVOKE.PaddingType_width_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      float ret = NDalicPINVOKE.PaddingType_width_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private float bottom {
+    set {
+      NDalicPINVOKE.PaddingType_bottom_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      float ret = NDalicPINVOKE.PaddingType_bottom_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private float height {
+    set {
+      NDalicPINVOKE.PaddingType_height_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      float ret = NDalicPINVOKE.PaddingType_height_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private float top {
+    set {
+      NDalicPINVOKE.PaddingType_top_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      float ret = NDalicPINVOKE.PaddingType_top_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/PageFactory.cs b/plugins/dali-sharp/sharp/internal/PageFactory.cs
new file mode 100644 (file)
index 0000000..939998f
--- /dev/null
@@ -0,0 +1,63 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class PageFactory : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal PageFactory(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(PageFactory obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~PageFactory() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_PageFactory(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public virtual uint GetNumberOfPages() {
+    uint ret = NDalicPINVOKE.PageFactory_GetNumberOfPages(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual Texture NewPage(uint pageId) {
+    Texture ret = new Texture(NDalicPINVOKE.PageFactory_NewPage(swigCPtr, pageId), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/PagePanSignal.cs b/plugins/dali-sharp/sharp/internal/PagePanSignal.cs
new file mode 100644 (file)
index 0000000..25fc566
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class PagePanSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal PagePanSignal(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(PagePanSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~PagePanSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_PagePanSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.PagePanSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.PagePanSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.PagePanSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.PagePanSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(PageTurnView arg) {
+    NDalicPINVOKE.PagePanSignal_Emit(swigCPtr, PageTurnView.getCPtr(arg));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PagePanSignal() : this(NDalicPINVOKE.new_PagePanSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/PageTurnLandscapeView.cs b/plugins/dali-sharp/sharp/internal/PageTurnLandscapeView.cs
new file mode 100644 (file)
index 0000000..7813d66
--- /dev/null
@@ -0,0 +1,86 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class PageTurnLandscapeView : PageTurnView {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal PageTurnLandscapeView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PageTurnLandscapeView_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PageTurnLandscapeView obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~PageTurnLandscapeView() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_PageTurnLandscapeView(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public PageTurnLandscapeView (PageFactory pageFactory, Vector2 pageSize) : this (NDalicPINVOKE.PageTurnLandscapeView_New(PageFactory.getCPtr(pageFactory), Vector2.getCPtr(pageSize)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public PageTurnLandscapeView(PageTurnLandscapeView pageTurnLandscapeView) : this(NDalicPINVOKE.new_PageTurnLandscapeView__SWIG_1(PageTurnLandscapeView.getCPtr(pageTurnLandscapeView)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PageTurnLandscapeView Assign(PageTurnLandscapeView pageTurnLandscapeView) {
+    PageTurnLandscapeView ret = new PageTurnLandscapeView(NDalicPINVOKE.PageTurnLandscapeView_Assign(swigCPtr, PageTurnLandscapeView.getCPtr(pageTurnLandscapeView)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static PageTurnLandscapeView DownCast(BaseHandle handle) {
+    PageTurnLandscapeView ret = new PageTurnLandscapeView(NDalicPINVOKE.PageTurnLandscapeView_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/PageTurnPortraitView.cs b/plugins/dali-sharp/sharp/internal/PageTurnPortraitView.cs
new file mode 100644 (file)
index 0000000..bae81a2
--- /dev/null
@@ -0,0 +1,86 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class PageTurnPortraitView : PageTurnView {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal PageTurnPortraitView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PageTurnPortraitView_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PageTurnPortraitView obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~PageTurnPortraitView() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_PageTurnPortraitView(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public PageTurnPortraitView (PageFactory pageFactory, Vector2 pageSize) : this (NDalicPINVOKE.PageTurnPortraitView_New(PageFactory.getCPtr(pageFactory), Vector2.getCPtr(pageSize)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public PageTurnPortraitView(PageTurnPortraitView pageTurnPortraitView) : this(NDalicPINVOKE.new_PageTurnPortraitView__SWIG_1(PageTurnPortraitView.getCPtr(pageTurnPortraitView)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PageTurnPortraitView Assign(PageTurnPortraitView pageTurnPortraitView) {
+    PageTurnPortraitView ret = new PageTurnPortraitView(NDalicPINVOKE.PageTurnPortraitView_Assign(swigCPtr, PageTurnPortraitView.getCPtr(pageTurnPortraitView)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static PageTurnPortraitView DownCast(BaseHandle handle) {
+    PageTurnPortraitView ret = new PageTurnPortraitView(NDalicPINVOKE.PageTurnPortraitView_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/PageTurnSignal.cs b/plugins/dali-sharp/sharp/internal/PageTurnSignal.cs
new file mode 100644 (file)
index 0000000..ff838f4
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class PageTurnSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal PageTurnSignal(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(PageTurnSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~PageTurnSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_PageTurnSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.PageTurnSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.PageTurnSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.PageTurnSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.PageTurnSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(PageTurnView arg1, uint arg2, bool arg3) {
+    NDalicPINVOKE.PageTurnSignal_Emit(swigCPtr, PageTurnView.getCPtr(arg1), arg2, arg3);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PageTurnSignal() : this(NDalicPINVOKE.new_PageTurnSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/PageTurnView.cs b/plugins/dali-sharp/sharp/internal/PageTurnView.cs
new file mode 100644 (file)
index 0000000..82547bc
--- /dev/null
@@ -0,0 +1,525 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class PageTurnView : View {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal PageTurnView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PageTurnView_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PageTurnView obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~PageTurnView() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_PageTurnView(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+public class PagePanStartedEventArgs : EventArgs
+{
+   private PageTurnView _pageTurnView;
+
+   public PageTurnView PageTurnView
+   {
+      get
+      {
+         return _pageTurnView;
+      }
+      set
+      {
+         _pageTurnView = value;
+      }
+   }
+}
+
+public class PagePanFinishedEventArgs : EventArgs
+{
+   private PageTurnView _pageTurnView;
+
+   public PageTurnView PageTurnView
+   {
+      get
+      {
+         return _pageTurnView;
+      }
+      set
+      {
+         _pageTurnView = value;
+      }
+   }
+}
+
+public class PageTurnStartedEventArgs : EventArgs
+{
+   private PageTurnView _pageTurnView;
+   private uint _pageIndex;
+   private bool _isTurningForward;
+
+   public PageTurnView PageTurnView
+   {
+      get
+      {
+         return _pageTurnView;
+      }
+      set
+      {
+         _pageTurnView = value;
+      }
+   }
+
+   public uint PageIndex
+   {
+      get
+      {
+         return _pageIndex;
+      }
+      set
+      {
+         _pageIndex = value;
+      }
+   }
+
+   public bool IsTurningForward
+   {
+      get
+      {
+         return _isTurningForward;
+      }
+      set
+      {
+         _isTurningForward = value;
+      }
+   }
+
+}
+
+public class PageTurnFinishedEventArgs : EventArgs
+{
+   private PageTurnView _pageTurnView;
+   private uint _pageIndex;
+   private bool _isTurningForward;
+
+   public PageTurnView PageTurnView
+   {
+      get
+      {
+         return _pageTurnView;
+      }
+      set
+      {
+         _pageTurnView = value;
+      }
+   }
+
+   public uint PageIndex
+   {
+      get
+      {
+         return _pageIndex;
+      }
+      set
+      {
+         _pageIndex = value;
+      }
+   }
+
+   public bool IsTurningForward
+   {
+      get
+      {
+         return _isTurningForward;
+      }
+      set
+      {
+         _isTurningForward = value;
+      }
+   }
+
+}
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void PagePanStartedCallbackDelegate(IntPtr page);
+  private DaliEventHandler<object,PagePanStartedEventArgs> _pageTurnViewPagePanStartedEventHandler;
+  private PagePanStartedCallbackDelegate _pageTurnViewPagePanStartedCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void PagePanFinishedCallbackDelegate(IntPtr page);
+  private DaliEventHandler<object,PagePanFinishedEventArgs> _pageTurnViewPagePanFinishedEventHandler;
+  private PagePanFinishedCallbackDelegate _pageTurnViewPagePanFinishedCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void PageTurnStartedCallbackDelegate(IntPtr page, uint pageIndex, bool isTurningForward);
+  private DaliEventHandler<object,PageTurnStartedEventArgs> _pageTurnViewPageTurnStartedEventHandler;
+  private PageTurnStartedCallbackDelegate _pageTurnViewPageTurnStartedCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void PageTurnFinishedCallbackDelegate(IntPtr page, uint pageIndex, bool isTurningForward);
+  private DaliEventHandler<object,PageTurnFinishedEventArgs> _pageTurnViewPageTurnFinishedEventHandler;
+  private PageTurnFinishedCallbackDelegate _pageTurnViewPageTurnFinishedCallbackDelegate;
+
+  public event DaliEventHandler<object,PagePanStartedEventArgs> PagePanStarted
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_pageTurnViewPagePanStartedEventHandler == null)
+           {
+              _pageTurnViewPagePanStartedEventHandler += value;
+
+              _pageTurnViewPagePanStartedCallbackDelegate = new PagePanStartedCallbackDelegate(OnPagePanStarted);
+              this.PagePanStartedSignal().Connect(_pageTurnViewPagePanStartedCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_pageTurnViewPagePanStartedEventHandler != null)
+           {
+              this.PagePanStartedSignal().Disconnect(_pageTurnViewPagePanStartedCallbackDelegate);
+           }
+
+           _pageTurnViewPagePanStartedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for PageTurnView PagePanStarted signal
+  private void OnPagePanStarted(IntPtr page)
+  {
+     PagePanStartedEventArgs e = new PagePanStartedEventArgs();
+
+     // Populate all members of "e" (PagePanStartedEventArgs) with real page
+     e.PageTurnView = PageTurnView.GetPageTurnViewFromPtr( page );
+
+     if (_pageTurnViewPagePanStartedEventHandler != null)
+     {
+        //here we send all page to user event handlers
+       _pageTurnViewPagePanStartedEventHandler(this, e);
+     }
+  }
+
+  public event DaliEventHandler<object,PagePanFinishedEventArgs> PagePanFinished
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_pageTurnViewPagePanFinishedEventHandler == null)
+           {
+              _pageTurnViewPagePanFinishedEventHandler += value;
+
+              _pageTurnViewPagePanFinishedCallbackDelegate = new PagePanFinishedCallbackDelegate(OnPagePanFinished);
+              this.PagePanFinishedSignal().Connect(_pageTurnViewPagePanFinishedCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_pageTurnViewPagePanFinishedEventHandler != null)
+           {
+              this.PagePanFinishedSignal().Disconnect(_pageTurnViewPagePanFinishedCallbackDelegate);
+           }
+
+           _pageTurnViewPagePanFinishedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for PageTurnView PagePanFinished signal
+  private void OnPagePanFinished(IntPtr page)
+  {
+     PagePanFinishedEventArgs e = new PagePanFinishedEventArgs();
+
+     // Populate all members of "e" (PagePanFinishedEventArgs) with real page
+     e.PageTurnView = PageTurnView.GetPageTurnViewFromPtr( page );
+
+     if (_pageTurnViewPagePanFinishedEventHandler != null)
+     {
+        //here we send all page to user event handlers
+       _pageTurnViewPagePanFinishedEventHandler(this, e);
+     }
+  }
+
+
+  public event DaliEventHandler<object,PageTurnStartedEventArgs> PageTurnStarted
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_pageTurnViewPageTurnStartedEventHandler == null)
+           {
+              _pageTurnViewPageTurnStartedEventHandler += value;
+
+              _pageTurnViewPageTurnStartedCallbackDelegate = new PageTurnStartedCallbackDelegate(OnPageTurnStarted);
+              this.PageTurnStartedSignal().Connect(_pageTurnViewPageTurnStartedCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_pageTurnViewPageTurnStartedEventHandler != null)
+           {
+              this.PageTurnStartedSignal().Disconnect(_pageTurnViewPageTurnStartedCallbackDelegate);
+           }
+
+           _pageTurnViewPageTurnStartedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for PageTurnView PageTurnStarted signal
+  private void OnPageTurnStarted(IntPtr page, uint pageIndex, bool isTurningForward)
+  {
+     PageTurnStartedEventArgs e = new PageTurnStartedEventArgs();
+
+     // Populate all members of "e" (PageTurnStartedEventArgs) with real page
+     e.PageTurnView = PageTurnView.GetPageTurnViewFromPtr( page );
+     e.PageIndex = pageIndex;
+     e.IsTurningForward = isTurningForward;
+
+
+     if (_pageTurnViewPageTurnStartedEventHandler != null)
+     {
+        //here we send all page to user event handlers
+       _pageTurnViewPageTurnStartedEventHandler(this, e);
+     }
+  }
+
+
+  public event DaliEventHandler<object,PageTurnFinishedEventArgs> PageTurnFinished
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_pageTurnViewPageTurnFinishedEventHandler == null)
+           {
+              _pageTurnViewPageTurnFinishedEventHandler += value;
+
+              _pageTurnViewPageTurnFinishedCallbackDelegate = new PageTurnFinishedCallbackDelegate(OnPageTurnFinished);
+              this.PageTurnFinishedSignal().Connect(_pageTurnViewPageTurnFinishedCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_pageTurnViewPageTurnFinishedEventHandler != null)
+           {
+              this.PageTurnFinishedSignal().Disconnect(_pageTurnViewPageTurnFinishedCallbackDelegate);
+           }
+
+           _pageTurnViewPageTurnFinishedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for PageTurnView PageTurnFinished signal
+  private void OnPageTurnFinished(IntPtr page, uint pageIndex, bool isTurningForward)
+  {
+     PageTurnFinishedEventArgs e = new PageTurnFinishedEventArgs();
+
+     // Populate all members of "e" (PageTurnFinishedEventArgs) with real page
+     e.PageTurnView = PageTurnView.GetPageTurnViewFromPtr( page );
+     e.PageIndex = pageIndex;
+     e.IsTurningForward = isTurningForward;
+
+
+     if (_pageTurnViewPageTurnFinishedEventHandler != null)
+     {
+        //here we send all page to user event handlers
+       _pageTurnViewPageTurnFinishedEventHandler(this, e);
+     }
+  }
+
+  public static PageTurnView GetPageTurnViewFromPtr(global::System.IntPtr cPtr) {
+    PageTurnView ret = new PageTurnView(cPtr, false);
+   if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_PageTurnView_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_PageTurnView_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int PAGE_SIZE = NDalicPINVOKE.PageTurnView_Property_PAGE_SIZE_get();
+    public static readonly int CURRENT_PAGE_ID = NDalicPINVOKE.PageTurnView_Property_CURRENT_PAGE_ID_get();
+    public static readonly int SPINE_SHADOW = NDalicPINVOKE.PageTurnView_Property_SPINE_SHADOW_get();
+  
+  }
+
+  public PageTurnView() : this(NDalicPINVOKE.new_PageTurnView__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PageTurnView(PageTurnView handle) : this(NDalicPINVOKE.new_PageTurnView__SWIG_1(PageTurnView.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PageTurnView Assign(PageTurnView handle) {
+    PageTurnView ret = new PageTurnView(NDalicPINVOKE.PageTurnView_Assign(swigCPtr, PageTurnView.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static PageTurnView DownCast(BaseHandle handle) {
+    PageTurnView ret = new PageTurnView(NDalicPINVOKE.PageTurnView_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public PageTurnSignal PageTurnStartedSignal() {
+    PageTurnSignal ret = new PageTurnSignal(NDalicPINVOKE.PageTurnView_PageTurnStartedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public PageTurnSignal PageTurnFinishedSignal() {
+    PageTurnSignal ret = new PageTurnSignal(NDalicPINVOKE.PageTurnView_PageTurnFinishedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public PagePanSignal PagePanStartedSignal() {
+    PagePanSignal ret = new PagePanSignal(NDalicPINVOKE.PageTurnView_PagePanStartedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public PagePanSignal PagePanFinishedSignal() {
+    PagePanSignal ret = new PagePanSignal(NDalicPINVOKE.PageTurnView_PagePanFinishedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum PropertyRange {
+    PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+    PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000
+  }
+
+  public Vector2 PageSize
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( PageTurnView.Property.PAGE_SIZE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( PageTurnView.Property.PAGE_SIZE, new Dali.Property.Value( value ) );
+    }
+  }
+  public int CurrentPageId
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( PageTurnView.Property.CURRENT_PAGE_ID).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( PageTurnView.Property.CURRENT_PAGE_ID, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector2 SpineShadow
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( PageTurnView.Property.SPINE_SHADOW).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( PageTurnView.Property.SPINE_SHADOW, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
\ No newline at end of file
diff --git a/plugins/dali-sharp/sharp/internal/PanGesture.cs b/plugins/dali-sharp/sharp/internal/PanGesture.cs
new file mode 100644 (file)
index 0000000..ab0c320
--- /dev/null
@@ -0,0 +1,244 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class PanGesture : Gesture {
+  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) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~PanGesture() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public static PanGesture GetPanGestureFromPtr(global::System.IntPtr cPtr) {
+    PanGesture ret = new PanGesture(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector2 Velocity
+  {
+    get
+    {
+      return velocity;
+    }
+  }
+
+  public Vector2 Displacement
+  {
+    get
+    {
+      return displacement;
+    }
+  }
+
+  public Vector2 Position
+  {
+    get
+    {
+      return position;
+    }
+  }
+
+  public Vector2 ScreenVelocity
+  {
+    get
+    {
+      return screenVelocity;
+    }
+  }
+
+  public Vector2 ScreenDisplacement
+  {
+    get
+    {
+      return screenDisplacement;
+    }
+  }
+
+  public Vector2 ScreenPosition
+  {
+    get
+    {
+      return screenPosition;
+    }
+  }
+
+  public uint NumberOfTouches
+  {
+    get
+    {
+      return numberOfTouches;
+    }
+  }
+
+  public PanGesture() : this(NDalicPINVOKE.new_PanGesture__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PanGesture(Gesture.StateType state) : this(NDalicPINVOKE.new_PanGesture__SWIG_1((int)state), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PanGesture(PanGesture rhs) : this(NDalicPINVOKE.new_PanGesture__SWIG_2(PanGesture.getCPtr(rhs)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PanGesture Assign(PanGesture rhs) {
+    PanGesture ret = new PanGesture(NDalicPINVOKE.PanGesture_Assign(swigCPtr, PanGesture.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Vector2 velocity {
+    set {
+      NDalicPINVOKE.PanGesture_velocity_set(swigCPtr, Vector2.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.PanGesture_velocity_get(swigCPtr);
+      Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private Vector2 displacement {
+    set {
+      NDalicPINVOKE.PanGesture_displacement_set(swigCPtr, Vector2.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.PanGesture_displacement_get(swigCPtr);
+      Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private Vector2 position {
+    set {
+      NDalicPINVOKE.PanGesture_position_set(swigCPtr, Vector2.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.PanGesture_position_get(swigCPtr);
+      Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private Vector2 screenVelocity {
+    set {
+      NDalicPINVOKE.PanGesture_screenVelocity_set(swigCPtr, Vector2.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.PanGesture_screenVelocity_get(swigCPtr);
+      Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private Vector2 screenDisplacement {
+    set {
+      NDalicPINVOKE.PanGesture_screenDisplacement_set(swigCPtr, Vector2.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.PanGesture_screenDisplacement_get(swigCPtr);
+      Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private Vector2 screenPosition {
+    set {
+      NDalicPINVOKE.PanGesture_screenPosition_set(swigCPtr, Vector2.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.PanGesture_screenPosition_get(swigCPtr);
+      Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private uint numberOfTouches {
+    set {
+      NDalicPINVOKE.PanGesture_numberOfTouches_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      uint ret = NDalicPINVOKE.PanGesture_numberOfTouches_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public float GetSpeed() {
+    float ret = NDalicPINVOKE.PanGesture_GetSpeed(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float GetDistance() {
+    float ret = NDalicPINVOKE.PanGesture_GetDistance(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float GetScreenSpeed() {
+    float ret = NDalicPINVOKE.PanGesture_GetScreenSpeed(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float GetScreenDistance() {
+    float ret = NDalicPINVOKE.PanGesture_GetScreenDistance(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/PanGestureDetectedSignal.cs b/plugins/dali-sharp/sharp/internal/PanGestureDetectedSignal.cs
new file mode 100644 (file)
index 0000000..29fe029
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class PanGestureDetectedSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal PanGestureDetectedSignal(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(PanGestureDetectedSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~PanGestureDetectedSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_PanGestureDetectedSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.PanGestureDetectedSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.PanGestureDetectedSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.PanGestureDetectedSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.PanGestureDetectedSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(Actor arg1, PanGesture arg2) {
+    NDalicPINVOKE.PanGestureDetectedSignal_Emit(swigCPtr, Actor.getCPtr(arg1), PanGesture.getCPtr(arg2));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PanGestureDetectedSignal() : this(NDalicPINVOKE.new_PanGestureDetectedSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/PanGestureDetector.cs b/plugins/dali-sharp/sharp/internal/PanGestureDetector.cs
new file mode 100644 (file)
index 0000000..8ebc3fc
--- /dev/null
@@ -0,0 +1,427 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class PanGestureDetector : GestureDetector {
+  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;
+  }
+
+  ~PanGestureDetector() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+
+public class DetectedEventArgs : EventArgs
+{
+   private Actor _actor;
+   private PanGesture _panGesture;
+
+   public Actor Actor
+   {
+      get
+      {
+         return _actor;
+      }
+      set
+      {
+         _actor = value;
+      }
+   }
+
+   public PanGesture PanGesture
+   {
+      get
+      {
+         return _panGesture;
+      }
+      set
+      {
+         _panGesture = value;
+      }
+   }
+}
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void DetectedCallbackDelegate(IntPtr actor, IntPtr panGesture);
+  private DaliEventHandler<object,DetectedEventArgs> _panGestureEventHandler;
+  private DetectedCallbackDelegate _panGestureCallbackDelegate;
+
+
+  public event DaliEventHandler<object,DetectedEventArgs> Detected
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_panGestureEventHandler == null)
+           {
+              _panGestureEventHandler += value;
+
+              _panGestureCallbackDelegate = new DetectedCallbackDelegate(OnPanGestureDetected);
+              this.DetectedSignal().Connect(_panGestureCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_panGestureEventHandler != null)
+           {
+              this.DetectedSignal().Disconnect(_panGestureCallbackDelegate);
+           }
+
+           _panGestureEventHandler -= value;
+        }
+     }
+  }
+
+ private void OnPanGestureDetected(IntPtr actor, IntPtr panGesture)
+  {
+   DetectedEventArgs e = new DetectedEventArgs();
+
+   // Populate all members of "e" (PanGestureEventArgs) with real data
+   e.Actor = Actor.GetActorFromPtr(actor);
+   e.PanGesture = Dali.PanGesture.GetPanGestureFromPtr(panGesture);
+
+   if (_panGestureEventHandler != null)
+   {
+      //here we send all data to user event handlers
+      _panGestureEventHandler(this, e);
+   }
+
+  }
+
+
+public static PanGestureDetector GetPanGestureDetectorFromPtr(global::System.IntPtr cPtr) {
+    PanGestureDetector ret = new PanGestureDetector(cPtr, false);
+   if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        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);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    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();
+  
+  }
+
+  public static Radian DIRECTION_LEFT {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.PanGestureDetector_DIRECTION_LEFT_get();
+      Radian ret = (cPtr == global::System.IntPtr.Zero) ? null : new Radian(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Radian DIRECTION_RIGHT {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.PanGestureDetector_DIRECTION_RIGHT_get();
+      Radian ret = (cPtr == global::System.IntPtr.Zero) ? null : new Radian(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Radian DIRECTION_UP {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.PanGestureDetector_DIRECTION_UP_get();
+      Radian ret = (cPtr == global::System.IntPtr.Zero) ? null : new Radian(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Radian DIRECTION_DOWN {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.PanGestureDetector_DIRECTION_DOWN_get();
+      Radian ret = (cPtr == global::System.IntPtr.Zero) ? null : new Radian(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Radian DIRECTION_HORIZONTAL {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.PanGestureDetector_DIRECTION_HORIZONTAL_get();
+      Radian ret = (cPtr == global::System.IntPtr.Zero) ? null : new Radian(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Radian DIRECTION_VERTICAL {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.PanGestureDetector_DIRECTION_VERTICAL_get();
+      Radian ret = (cPtr == global::System.IntPtr.Zero) ? null : new Radian(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Radian DEFAULT_THRESHOLD {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.PanGestureDetector_DEFAULT_THRESHOLD_get();
+      Radian ret = (cPtr == global::System.IntPtr.Zero) ? null : new Radian(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public PanGestureDetector () : this (NDalicPINVOKE.PanGestureDetector_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public new static PanGestureDetector DownCast(BaseHandle handle) {
+    PanGestureDetector ret = new PanGestureDetector(NDalicPINVOKE.PanGestureDetector_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public PanGestureDetector(PanGestureDetector handle) : this(NDalicPINVOKE.new_PanGestureDetector__SWIG_1(PanGestureDetector.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public 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;
+  }
+
+  public void SetMinimumTouchesRequired(uint minimum) {
+    NDalicPINVOKE.PanGestureDetector_SetMinimumTouchesRequired(swigCPtr, minimum);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetMaximumTouchesRequired(uint maximum) {
+    NDalicPINVOKE.PanGestureDetector_SetMaximumTouchesRequired(swigCPtr, maximum);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public uint GetMinimumTouchesRequired() {
+    uint ret = NDalicPINVOKE.PanGestureDetector_GetMinimumTouchesRequired(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetMaximumTouchesRequired() {
+    uint ret = NDalicPINVOKE.PanGestureDetector_GetMaximumTouchesRequired(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void AddAngle(Radian angle, Radian threshold) {
+    NDalicPINVOKE.PanGestureDetector_AddAngle__SWIG_0(swigCPtr, Radian.getCPtr(angle), Radian.getCPtr(threshold));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AddAngle(Radian angle) {
+    NDalicPINVOKE.PanGestureDetector_AddAngle__SWIG_1(swigCPtr, Radian.getCPtr(angle));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AddDirection(Radian direction, Radian threshold) {
+    NDalicPINVOKE.PanGestureDetector_AddDirection__SWIG_0(swigCPtr, Radian.getCPtr(direction), Radian.getCPtr(threshold));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AddDirection(Radian direction) {
+    NDalicPINVOKE.PanGestureDetector_AddDirection__SWIG_1(swigCPtr, Radian.getCPtr(direction));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public uint GetAngleCount() {
+    uint ret = NDalicPINVOKE.PanGestureDetector_GetAngleCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AngleThresholdPair GetAngle(uint index) {
+    AngleThresholdPair ret = new AngleThresholdPair(NDalicPINVOKE.PanGestureDetector_GetAngle(swigCPtr, index), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void ClearAngles() {
+    NDalicPINVOKE.PanGestureDetector_ClearAngles(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RemoveAngle(Radian angle) {
+    NDalicPINVOKE.PanGestureDetector_RemoveAngle(swigCPtr, Radian.getCPtr(angle));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RemoveDirection(Radian direction) {
+    NDalicPINVOKE.PanGestureDetector_RemoveDirection(swigCPtr, Radian.getCPtr(direction));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PanGestureDetectedSignal DetectedSignal() {
+    PanGestureDetectedSignal ret = new PanGestureDetectedSignal(NDalicPINVOKE.PanGestureDetector_DetectedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static void SetPanGestureProperties(PanGesture pan) {
+    NDalicPINVOKE.PanGestureDetector_SetPanGestureProperties(PanGesture.getCPtr(pan));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector2 ScreenPosition
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( PanGestureDetector.Property.SCREEN_POSITION).Get(  temp );
+      return temp;
+    }
+}  public Vector2 ScreenDisplacement
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( PanGestureDetector.Property.SCREEN_DISPLACEMENT).Get(  temp );
+      return temp;
+    }
+}  public Vector2 ScreenVelocity
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( PanGestureDetector.Property.SCREEN_VELOCITY).Get(  temp );
+      return temp;
+    }
+}  public Vector2 LocalPosition
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( PanGestureDetector.Property.LOCAL_POSITION).Get(  temp );
+      return temp;
+    }
+}  public Vector2 LocalDisplacement
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( PanGestureDetector.Property.LOCAL_DISPLACEMENT).Get(  temp );
+      return temp;
+    }
+}  public Vector2 LocalVelocity
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( PanGestureDetector.Property.LOCAL_VELOCITY).Get(  temp );
+      return temp;
+    }
+}  public bool Panning
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( PanGestureDetector.Property.PANNING).Get( ref temp );
+      return temp;
+    }
+}
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Path.cs b/plugins/dali-sharp/sharp/internal/Path.cs
new file mode 100644 (file)
index 0000000..caf6d5a
--- /dev/null
@@ -0,0 +1,190 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Path : Handle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal Path(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Path_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Path obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Path() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_Path_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_Path_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int POINTS = NDalicPINVOKE.Path_Property_POINTS_get();
+    public static readonly int CONTROL_POINTS = NDalicPINVOKE.Path_Property_CONTROL_POINTS_get();
+  
+  }
+
+  public Path () : this (NDalicPINVOKE.Path_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public new static Path DownCast(BaseHandle handle) {
+    Path ret = new Path(NDalicPINVOKE.Path_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Path(Path handle) : this(NDalicPINVOKE.new_Path__SWIG_1(Path.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Path Assign(Path rhs) {
+    Path ret = new Path(NDalicPINVOKE.Path_Assign(swigCPtr, Path.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void AddPoint(Vector3 point) {
+    NDalicPINVOKE.Path_AddPoint(swigCPtr, Vector3.getCPtr(point));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AddControlPoint(Vector3 point) {
+    NDalicPINVOKE.Path_AddControlPoint(swigCPtr, Vector3.getCPtr(point));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void GenerateControlPoints(float curvature) {
+    NDalicPINVOKE.Path_GenerateControlPoints(swigCPtr, curvature);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Sample(float progress, Vector3 position, Vector3 tangent) {
+    NDalicPINVOKE.Path_Sample(swigCPtr, progress, Vector3.getCPtr(position), Vector3.getCPtr(tangent));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector3 GetPoint(uint index) {
+    Vector3 ret = new Vector3(NDalicPINVOKE.Path_GetPoint(swigCPtr, index), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector3 GetControlPoint(uint index) {
+    Vector3 ret = new Vector3(NDalicPINVOKE.Path_GetControlPoint(swigCPtr, index), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetPointCount() {
+    uint ret = NDalicPINVOKE.Path_GetPointCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Dali.Property.Array Points
+  {
+    get
+    {
+      Dali.Property.Array temp = new Dali.Property.Array();
+      GetProperty( Path.Property.POINTS).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Path.Property.POINTS, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Array ControlPoints
+  {
+    get
+    {
+      Dali.Property.Array temp = new Dali.Property.Array();
+      GetProperty( Path.Property.CONTROL_POINTS).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Path.Property.CONTROL_POINTS, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/PathConstrainer.cs b/plugins/dali-sharp/sharp/internal/PathConstrainer.cs
new file mode 100644 (file)
index 0000000..85a9488
--- /dev/null
@@ -0,0 +1,181 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class PathConstrainer : Handle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal PathConstrainer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PathConstrainer_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PathConstrainer obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~PathConstrainer() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_PathConstrainer(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_PathConstrainer_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_PathConstrainer_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int FORWARD = NDalicPINVOKE.PathConstrainer_Property_FORWARD_get();
+    public static readonly int POINTS = NDalicPINVOKE.PathConstrainer_Property_POINTS_get();
+    public static readonly int CONTROL_POINTS = NDalicPINVOKE.PathConstrainer_Property_CONTROL_POINTS_get();
+  
+  }
+
+  public PathConstrainer () : this (NDalicPINVOKE.PathConstrainer_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public new static PathConstrainer DownCast(BaseHandle handle) {
+    PathConstrainer ret = new PathConstrainer(NDalicPINVOKE.PathConstrainer_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public PathConstrainer(PathConstrainer handle) : this(NDalicPINVOKE.new_PathConstrainer__SWIG_1(PathConstrainer.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PathConstrainer Assign(PathConstrainer rhs) {
+    PathConstrainer ret = new PathConstrainer(NDalicPINVOKE.PathConstrainer_Assign(swigCPtr, PathConstrainer.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Apply(Property target, Property source, Vector2 range, Vector2 wrap) {
+    NDalicPINVOKE.PathConstrainer_Apply__SWIG_0(swigCPtr, Property.getCPtr(target), Property.getCPtr(source), Vector2.getCPtr(range), Vector2.getCPtr(wrap));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Apply(Property target, Property source, Vector2 range) {
+    NDalicPINVOKE.PathConstrainer_Apply__SWIG_1(swigCPtr, Property.getCPtr(target), Property.getCPtr(source), Vector2.getCPtr(range));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Remove(Handle target) {
+    NDalicPINVOKE.PathConstrainer_Remove(swigCPtr, Handle.getCPtr(target));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector3 Forward
+  {
+    get
+    {
+      Vector3 temp = new Vector3(0.0f,0.0f,0.0f);
+      GetProperty( PathConstrainer.Property.FORWARD).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( PathConstrainer.Property.FORWARD, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Array Points
+  {
+    get
+    {
+      Dali.Property.Array temp = new Dali.Property.Array();
+      GetProperty( PathConstrainer.Property.POINTS).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( PathConstrainer.Property.POINTS, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Array ControlPoints
+  {
+    get
+    {
+      Dali.Property.Array temp = new Dali.Property.Array();
+      GetProperty( PathConstrainer.Property.CONTROL_POINTS).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( PathConstrainer.Property.CONTROL_POINTS, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/PinchGesture.cs b/plugins/dali-sharp/sharp/internal/PinchGesture.cs
new file mode 100644 (file)
index 0000000..3b7008e
--- /dev/null
@@ -0,0 +1,152 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class PinchGesture : Gesture {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal PinchGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PinchGesture_SWIGUpcast(cPtr), cMemoryOwn) {
+    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;
+  }
+
+  ~PinchGesture() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public static PinchGesture GetPinchGestureFromPtr(global::System.IntPtr cPtr) {
+    PinchGesture ret = new PinchGesture(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float Scale
+  {
+    get
+    {
+      return scale;
+    }
+  }
+
+  public float Speed
+  {
+    get
+    {
+      return speed;
+    }
+  }
+
+  public Vector2 ScreenCenterPoint
+  {
+    get
+    {
+      return screenCenterPoint;
+    }
+  }
+
+  public Vector2 LocalCenterPoint
+  {
+    get
+    {
+      return localCenterPoint;
+    }
+  }
+
+  public PinchGesture(Gesture.StateType state) : this(NDalicPINVOKE.new_PinchGesture__SWIG_0((int)state), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PinchGesture(PinchGesture rhs) : this(NDalicPINVOKE.new_PinchGesture__SWIG_1(PinchGesture.getCPtr(rhs)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PinchGesture Assign(PinchGesture rhs) {
+    PinchGesture ret = new PinchGesture(NDalicPINVOKE.PinchGesture_Assign(swigCPtr, PinchGesture.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private float scale {
+    set {
+      NDalicPINVOKE.PinchGesture_scale_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      float ret = NDalicPINVOKE.PinchGesture_scale_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private float speed {
+    set {
+      NDalicPINVOKE.PinchGesture_speed_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      float ret = NDalicPINVOKE.PinchGesture_speed_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private Vector2 screenCenterPoint {
+    set {
+      NDalicPINVOKE.PinchGesture_screenCenterPoint_set(swigCPtr, Vector2.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.PinchGesture_screenCenterPoint_get(swigCPtr);
+      Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private Vector2 localCenterPoint {
+    set {
+      NDalicPINVOKE.PinchGesture_localCenterPoint_set(swigCPtr, Vector2.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.PinchGesture_localCenterPoint_get(swigCPtr);
+      Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/PinchGestureDetectedSignal.cs b/plugins/dali-sharp/sharp/internal/PinchGestureDetectedSignal.cs
new file mode 100644 (file)
index 0000000..bc2e2a5
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class PinchGestureDetectedSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal PinchGestureDetectedSignal(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(PinchGestureDetectedSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~PinchGestureDetectedSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_PinchGestureDetectedSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.PinchGestureDetectedSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.PinchGestureDetectedSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.PinchGestureDetectedSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.PinchGestureDetectedSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(Actor arg1, PinchGesture arg2) {
+    NDalicPINVOKE.PinchGestureDetectedSignal_Emit(swigCPtr, Actor.getCPtr(arg1), PinchGesture.getCPtr(arg2));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PinchGestureDetectedSignal() : this(NDalicPINVOKE.new_PinchGestureDetectedSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/PinchGestureDetector.cs b/plugins/dali-sharp/sharp/internal/PinchGestureDetector.cs
new file mode 100644 (file)
index 0000000..e36de83
--- /dev/null
@@ -0,0 +1,188 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class PinchGestureDetector : GestureDetector {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal PinchGestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PinchGestureDetector_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  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;
+  }
+
+  ~PinchGestureDetector() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_PinchGestureDetector(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+public class DetectedEventArgs : EventArgs
+{
+   private Actor _actor;
+   private PinchGesture _pinchGesture;
+
+   public Actor Actor
+   {
+      get
+      {
+         return _actor;
+      }
+      set
+      {
+         _actor = value;
+      }
+   }
+
+   public PinchGesture PinchGesture
+   {
+      get
+      {
+         return _pinchGesture;
+      }
+      set
+      {
+         _pinchGesture = value;
+      }
+   }
+}
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void DetectedCallbackDelegate(IntPtr actor, IntPtr pinchGesture);
+  private DaliEventHandler<object,DetectedEventArgs> _pinchGestureEventHandler;
+  private DetectedCallbackDelegate _pinchGestureCallbackDelegate;
+
+
+  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.Actor = Actor.GetActorFromPtr(actor);
+   e.PinchGesture = Dali.PinchGesture.GetPinchGestureFromPtr(pinchGesture);
+
+   if (_pinchGestureEventHandler != null)
+   {
+      //here we send all data to user event handlers
+      _pinchGestureEventHandler(this, e);
+   }
+
+  }
+
+
+public static PinchGestureDetector GetPinchGestureDetectorFromPtr(global::System.IntPtr cPtr) {
+    PinchGestureDetector ret = new PinchGestureDetector(cPtr, false);
+   if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+
+  public PinchGestureDetector () : this (NDalicPINVOKE.PinchGestureDetector_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public new static PinchGestureDetector DownCast(BaseHandle handle) {
+    PinchGestureDetector ret = new PinchGestureDetector(NDalicPINVOKE.PinchGestureDetector_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public PinchGestureDetector(PinchGestureDetector handle) : this(NDalicPINVOKE.new_PinchGestureDetector__SWIG_1(PinchGestureDetector.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public 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;
+  }
+
+  public PinchGestureDetectedSignal DetectedSignal() {
+    PinchGestureDetectedSignal ret = new PinchGestureDetectedSignal(NDalicPINVOKE.PinchGestureDetector_DetectedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/PixelData.cs b/plugins/dali-sharp/sharp/internal/PixelData.cs
new file mode 100644 (file)
index 0000000..40fe2f1
--- /dev/null
@@ -0,0 +1,103 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class PixelData : BaseHandle {
+  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;
+  }
+
+  ~PixelData() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public PixelData (byte[] buffer, uint bufferSize, uint width, uint height, PixelFormat pixelFormat, PixelData.ReleaseFunction releaseFunction) : this (NDalicPINVOKE.PixelData_New(buffer, bufferSize, width, height, (int)pixelFormat, (int)releaseFunction), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public PixelData(PixelData handle) : this(NDalicPINVOKE.new_PixelData__SWIG_1(PixelData.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PixelData Assign(PixelData rhs) {
+    PixelData ret = new PixelData(NDalicPINVOKE.PixelData_Assign(swigCPtr, PixelData.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetWidth() {
+    uint ret = NDalicPINVOKE.PixelData_GetWidth(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetHeight() {
+    uint ret = NDalicPINVOKE.PixelData_GetHeight(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public PixelFormat GetPixelFormat() {
+    PixelFormat ret = (PixelFormat)NDalicPINVOKE.PixelData_GetPixelFormat(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum ReleaseFunction {
+    FREE,
+    DELETE_ARRAY
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/PixelFormat.cs b/plugins/dali-sharp/sharp/internal/PixelFormat.cs
new file mode 100644 (file)
index 0000000..9d1e5ec
--- /dev/null
@@ -0,0 +1,71 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum PixelFormat {
+  INVALID = 0,
+  A8 = 1,
+  L8,
+  LA88,
+  RGB565,
+  BGR565,
+  RGBA4444,
+  BGRA4444,
+  RGBA5551,
+  BGRA5551,
+  RGB888,
+  RGB8888,
+  BGR8888,
+  RGBA8888,
+  BGRA8888,
+  COMPRESSED_R11_EAC,
+  COMPRESSED_SIGNED_R11_EAC,
+  COMPRESSED_RG11_EAC,
+  COMPRESSED_SIGNED_RG11_EAC,
+  COMPRESSED_RGB8_ETC2,
+  COMPRESSED_SRGB8_ETC2,
+  COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  COMPRESSED_RGBA8_ETC2_EAC,
+  COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
+  COMPRESSED_RGB8_ETC1,
+  COMPRESSED_RGB_PVRTC_4BPPV1,
+  COMPRESSED_RGBA_ASTC_4x4_KHR,
+  COMPRESSED_RGBA_ASTC_5x4_KHR,
+  COMPRESSED_RGBA_ASTC_5x5_KHR,
+  COMPRESSED_RGBA_ASTC_6x5_KHR,
+  COMPRESSED_RGBA_ASTC_6x6_KHR,
+  COMPRESSED_RGBA_ASTC_8x5_KHR,
+  COMPRESSED_RGBA_ASTC_8x6_KHR,
+  COMPRESSED_RGBA_ASTC_8x8_KHR,
+  COMPRESSED_RGBA_ASTC_10x5_KHR,
+  COMPRESSED_RGBA_ASTC_10x6_KHR,
+  COMPRESSED_RGBA_ASTC_10x8_KHR,
+  COMPRESSED_RGBA_ASTC_10x10_KHR,
+  COMPRESSED_RGBA_ASTC_12x10_KHR,
+  COMPRESSED_RGBA_ASTC_12x12_KHR,
+  COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
+  COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR,
+  COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
+  COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
+  COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
+  COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
+  COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
+  COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,
+  COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
+  COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
+  COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
+  COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
+  COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
+  COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/PointStateType.cs b/plugins/dali-sharp/sharp/internal/PointStateType.cs
new file mode 100644 (file)
index 0000000..3e8b973
--- /dev/null
@@ -0,0 +1,24 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum PointStateType {
+  STARTED,
+  FINISHED,
+  DOWN = STARTED,
+  UP = FINISHED,
+  MOTION,
+  LEAVE,
+  STATIONARY,
+  INTERRUPTED
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Popup.cs b/plugins/dali-sharp/sharp/internal/Popup.cs
new file mode 100644 (file)
index 0000000..4010f64
--- /dev/null
@@ -0,0 +1,785 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class Popup : View {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal Popup(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Popup_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Popup obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Popup() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_Popup(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+  public class OutsideTouchedEventArgs : EventArgs
+  {
+  }
+
+  public class ShowingEventArgs : EventArgs
+  {
+  }
+
+  public class ShownEventArgs : EventArgs
+  {
+  }
+
+  public class HidingEventArgs : EventArgs
+  {
+  }
+
+  public class HiddenEventArgs : EventArgs
+  {
+  }
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void OutsideTouchedEventCallbackDelegate();
+  private DaliEventHandler<object,OutsideTouchedEventArgs> _popUpOutsideTouchedEventHandler;
+  private OutsideTouchedEventCallbackDelegate _popUpOutsideTouchedEventCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void ShowingEventCallbackDelegate();
+  private DaliEventHandler<object,ShowingEventArgs> _popUpShowingEventHandler;
+  private ShowingEventCallbackDelegate _popUpShowingEventCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void ShownEventCallbackDelegate();
+  private DaliEventHandler<object,ShownEventArgs> _popUpShownEventHandler;
+  private ShownEventCallbackDelegate _popUpShownEventCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void HidingEventCallbackDelegate();
+  private DaliEventHandler<object,HidingEventArgs> _popUpHidingEventHandler;
+  private HidingEventCallbackDelegate _popUpHidingEventCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void HiddenEventCallbackDelegate();
+  private DaliEventHandler<object,HiddenEventArgs> _popUpHiddenEventHandler;
+  private HiddenEventCallbackDelegate _popUpHiddenEventCallbackDelegate;
+
+  public event DaliEventHandler<object,OutsideTouchedEventArgs> OutsideTouched
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_popUpOutsideTouchedEventHandler == null)
+           {
+              _popUpOutsideTouchedEventHandler += value;
+
+              _popUpOutsideTouchedEventCallbackDelegate = new OutsideTouchedEventCallbackDelegate(OnOutsideTouched);
+              this.OutsideTouchedSignal().Connect(_popUpOutsideTouchedEventCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_popUpOutsideTouchedEventHandler != null)
+           {
+              this.OutsideTouchedSignal().Disconnect(_popUpOutsideTouchedEventCallbackDelegate);
+           }
+
+           _popUpOutsideTouchedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for Popup OutsideTouchedSignal
+  private void OnOutsideTouched()
+  {
+     OutsideTouchedEventArgs e = new OutsideTouchedEventArgs();
+
+     if (_popUpOutsideTouchedEventHandler != null)
+     {
+        //here we send all data to user event handlers
+        _popUpOutsideTouchedEventHandler(this, e);
+     }
+  }
+
+  public event DaliEventHandler<object,ShowingEventArgs> Showing
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_popUpShowingEventHandler == null)
+           {
+              _popUpShowingEventHandler += value;
+
+              _popUpShowingEventCallbackDelegate = new ShowingEventCallbackDelegate(OnShowing);
+              this.ShowingSignal().Connect(_popUpShowingEventCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_popUpShowingEventHandler != null)
+           {
+              this.ShowingSignal().Disconnect(_popUpShowingEventCallbackDelegate);
+           }
+
+           _popUpShowingEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for ShowingSignal
+  private void OnShowing()
+  {
+     ShowingEventArgs e = new ShowingEventArgs();
+
+     if (_popUpShowingEventHandler != null)
+     {
+        //here we send all data to user event handlers
+        _popUpShowingEventHandler(this, e);
+     }
+  }
+
+
+  public event DaliEventHandler<object,ShownEventArgs> Shown
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_popUpShownEventHandler == null)
+           {
+              _popUpShownEventHandler += value;
+
+              _popUpShownEventCallbackDelegate = new ShownEventCallbackDelegate(OnShown);
+              this.ShownSignal().Connect(_popUpShownEventCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_popUpShownEventHandler != null)
+           {
+              this.ShownSignal().Disconnect(_popUpShownEventCallbackDelegate);
+           }
+
+           _popUpShownEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for ShownSignal
+  private void OnShown()
+  {
+     ShownEventArgs e = new ShownEventArgs();
+
+     if (_popUpShownEventHandler != null)
+     {
+        //here we send all data to user event handlers
+        _popUpShownEventHandler(this, e);
+     }
+  }
+
+  public event DaliEventHandler<object,HidingEventArgs> Hiding
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_popUpHidingEventHandler == null)
+           {
+              _popUpHidingEventHandler += value;
+
+              _popUpHidingEventCallbackDelegate = new HidingEventCallbackDelegate(OnHiding);
+              this.HidingSignal().Connect(_popUpHidingEventCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_popUpHidingEventHandler != null)
+           {
+              this.HidingSignal().Disconnect(_popUpHidingEventCallbackDelegate);
+           }
+
+           _popUpHidingEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for HidingSignal
+  private void OnHiding()
+  {
+     HidingEventArgs e = new HidingEventArgs();
+
+     if (_popUpHidingEventHandler != null)
+     {
+        //here we send all data to user event handlers
+        _popUpHidingEventHandler(this, e);
+     }
+  }
+
+  public event DaliEventHandler<object,HiddenEventArgs> Hidden
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_popUpHiddenEventHandler == null)
+           {
+              _popUpHiddenEventHandler += value;
+
+              _popUpHiddenEventCallbackDelegate = new HiddenEventCallbackDelegate(OnHidden);
+              this.HiddenSignal().Connect(_popUpHiddenEventCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_popUpHiddenEventHandler != null)
+           {
+              this.HiddenSignal().Disconnect(_popUpHiddenEventCallbackDelegate);
+           }
+
+           _popUpHiddenEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for HiddenSignal
+  private void OnHidden()
+  {
+     HiddenEventArgs e = new HiddenEventArgs();
+
+     if (_popUpHiddenEventHandler != null)
+     {
+        //here we send all data to user event handlers
+        _popUpHiddenEventHandler(this, e);
+     }
+  }
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_Popup_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_Popup_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int TITLE = NDalicPINVOKE.Popup_Property_TITLE_get();
+    public static readonly int CONTENT = NDalicPINVOKE.Popup_Property_CONTENT_get();
+    public static readonly int FOOTER = NDalicPINVOKE.Popup_Property_FOOTER_get();
+    public static readonly int DISPLAY_STATE = NDalicPINVOKE.Popup_Property_DISPLAY_STATE_get();
+    public static readonly int TOUCH_TRANSPARENT = NDalicPINVOKE.Popup_Property_TOUCH_TRANSPARENT_get();
+    public static readonly int TAIL_VISIBILITY = NDalicPINVOKE.Popup_Property_TAIL_VISIBILITY_get();
+    public static readonly int TAIL_POSITION = NDalicPINVOKE.Popup_Property_TAIL_POSITION_get();
+    public static readonly int CONTEXTUAL_MODE = NDalicPINVOKE.Popup_Property_CONTEXTUAL_MODE_get();
+    public static readonly int ANIMATION_DURATION = NDalicPINVOKE.Popup_Property_ANIMATION_DURATION_get();
+    public static readonly int ANIMATION_MODE = NDalicPINVOKE.Popup_Property_ANIMATION_MODE_get();
+    public static readonly int ENTRY_ANIMATION = NDalicPINVOKE.Popup_Property_ENTRY_ANIMATION_get();
+    public static readonly int EXIT_ANIMATION = NDalicPINVOKE.Popup_Property_EXIT_ANIMATION_get();
+    public static readonly int AUTO_HIDE_DELAY = NDalicPINVOKE.Popup_Property_AUTO_HIDE_DELAY_get();
+    public static readonly int BACKING_ENABLED = NDalicPINVOKE.Popup_Property_BACKING_ENABLED_get();
+    public static readonly int BACKING_COLOR = NDalicPINVOKE.Popup_Property_BACKING_COLOR_get();
+    public static readonly int POPUP_BACKGROUND_IMAGE = NDalicPINVOKE.Popup_Property_POPUP_BACKGROUND_IMAGE_get();
+    public static readonly int POPUP_BACKGROUND_BORDER = NDalicPINVOKE.Popup_Property_POPUP_BACKGROUND_BORDER_get();
+    public static readonly int TAIL_UP_IMAGE = NDalicPINVOKE.Popup_Property_TAIL_UP_IMAGE_get();
+    public static readonly int TAIL_DOWN_IMAGE = NDalicPINVOKE.Popup_Property_TAIL_DOWN_IMAGE_get();
+    public static readonly int TAIL_LEFT_IMAGE = NDalicPINVOKE.Popup_Property_TAIL_LEFT_IMAGE_get();
+    public static readonly int TAIL_RIGHT_IMAGE = NDalicPINVOKE.Popup_Property_TAIL_RIGHT_IMAGE_get();
+  
+  }
+
+  public Popup () : this (NDalicPINVOKE.Popup_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public Popup(Popup handle) : this(NDalicPINVOKE.new_Popup__SWIG_1(Popup.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Popup Assign(Popup handle) {
+    Popup ret = new Popup(NDalicPINVOKE.Popup_Assign(swigCPtr, Popup.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static Popup DownCast(BaseHandle handle) {
+    Popup ret = new Popup(NDalicPINVOKE.Popup_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetTitle(Actor titleActor) {
+    NDalicPINVOKE.Popup_SetTitle(swigCPtr, Actor.getCPtr(titleActor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Actor GetTitle() {
+    Actor ret = new Actor(NDalicPINVOKE.Popup_GetTitle(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetContent(Actor content) {
+    NDalicPINVOKE.Popup_SetContent(swigCPtr, Actor.getCPtr(content));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Actor GetContent() {
+    Actor ret = new Actor(NDalicPINVOKE.Popup_GetContent(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetFooter(Actor footer) {
+    NDalicPINVOKE.Popup_SetFooter(swigCPtr, Actor.getCPtr(footer));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Actor GetFooter() {
+    Actor ret = new Actor(NDalicPINVOKE.Popup_GetFooter(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetDisplayState(Popup.DisplayStateType displayState) {
+    NDalicPINVOKE.Popup_SetDisplayState(swigCPtr, (int)displayState);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Popup.DisplayStateType GetDisplayState() {
+    Popup.DisplayStateType ret = (Popup.DisplayStateType)NDalicPINVOKE.Popup_GetDisplayState(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public VoidSignal OutsideTouchedSignal() {
+    VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_OutsideTouchedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public VoidSignal ShowingSignal() {
+    VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_ShowingSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public VoidSignal ShownSignal() {
+    VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_ShownSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public VoidSignal HidingSignal() {
+    VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_HidingSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public VoidSignal HiddenSignal() {
+    VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_HiddenSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum PropertyRange {
+    PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+    PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000
+  }
+
+  public enum DisplayStateType {
+    SHOWING,
+    SHOWN,
+    HIDING,
+    HIDDEN
+  }
+
+  public enum AnimationModeType {
+    NONE,
+    ZOOM,
+    FADE,
+    CUSTOM
+  }
+
+  public enum ContextualModeType {
+    NON_CONTEXTUAL,
+    ABOVE,
+    RIGHT,
+    BELOW,
+    LEFT
+  }
+
+  public Dali.Property.Map Title
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( Popup.Property.TITLE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Popup.Property.TITLE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map Content
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( Popup.Property.CONTENT).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Popup.Property.CONTENT, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map Footer
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( Popup.Property.FOOTER).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Popup.Property.FOOTER, new Dali.Property.Value( value ) );
+    }
+  }
+  public string DisplayState
+  {
+    get
+    {
+      string temp;
+      GetProperty( Popup.Property.DISPLAY_STATE).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Popup.Property.DISPLAY_STATE, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool TouchTransparent
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( Popup.Property.TOUCH_TRANSPARENT).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Popup.Property.TOUCH_TRANSPARENT, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool TailVisibility
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( Popup.Property.TAIL_VISIBILITY).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Popup.Property.TAIL_VISIBILITY, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector3 TailPosition
+  {
+    get
+    {
+      Vector3 temp = new Vector3(0.0f,0.0f,0.0f);
+      GetProperty( Popup.Property.TAIL_POSITION).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Popup.Property.TAIL_POSITION, new Dali.Property.Value( value ) );
+    }
+  }
+  public string ContextualMode
+  {
+    get
+    {
+      string temp;
+      GetProperty( Popup.Property.CONTEXTUAL_MODE).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Popup.Property.CONTEXTUAL_MODE, new Dali.Property.Value( value ) );
+    }
+  }
+  public float AnimationDuration
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Popup.Property.ANIMATION_DURATION).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Popup.Property.ANIMATION_DURATION, new Dali.Property.Value( value ) );
+    }
+  }
+  public string AnimationMode
+  {
+    get
+    {
+      string temp;
+      GetProperty( Popup.Property.ANIMATION_MODE).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Popup.Property.ANIMATION_MODE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map EntryAnimation
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( Popup.Property.ENTRY_ANIMATION).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Popup.Property.ENTRY_ANIMATION, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map ExitAnimation
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( Popup.Property.EXIT_ANIMATION).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Popup.Property.EXIT_ANIMATION, new Dali.Property.Value( value ) );
+    }
+  }
+  public int AutoHideDelay
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Popup.Property.AUTO_HIDE_DELAY).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Popup.Property.AUTO_HIDE_DELAY, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool BackingEnabled
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( Popup.Property.BACKING_ENABLED).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Popup.Property.BACKING_ENABLED, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector4 BackingColor
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( Popup.Property.BACKING_COLOR).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Popup.Property.BACKING_COLOR, new Dali.Property.Value( value ) );
+    }
+  }
+  public string PopupBackgroundImage
+  {
+    get
+    {
+      string temp;
+      GetProperty( Popup.Property.POPUP_BACKGROUND_IMAGE).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Popup.Property.POPUP_BACKGROUND_IMAGE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Rectangle PopupBackgroundBorder
+  {
+    get
+    {
+      Rectangle temp = new Rectangle(0,0,0,0);
+      GetProperty( Popup.Property.POPUP_BACKGROUND_BORDER).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Popup.Property.POPUP_BACKGROUND_BORDER, new Dali.Property.Value( value ) );
+    }
+  }
+  public string TailUpImage
+  {
+    get
+    {
+      string temp;
+      GetProperty( Popup.Property.TAIL_UP_IMAGE).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Popup.Property.TAIL_UP_IMAGE, new Dali.Property.Value( value ) );
+    }
+  }
+  public string TailDownImage
+  {
+    get
+    {
+      string temp;
+      GetProperty( Popup.Property.TAIL_DOWN_IMAGE).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Popup.Property.TAIL_DOWN_IMAGE, new Dali.Property.Value( value ) );
+    }
+  }
+  public string TailLeftImage
+  {
+    get
+    {
+      string temp;
+      GetProperty( Popup.Property.TAIL_LEFT_IMAGE).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Popup.Property.TAIL_LEFT_IMAGE, new Dali.Property.Value( value ) );
+    }
+  }
+  public string TailRightImage
+  {
+    get
+    {
+      string temp;
+      GetProperty( Popup.Property.TAIL_RIGHT_IMAGE).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Popup.Property.TAIL_RIGHT_IMAGE, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Position.cs b/plugins/dali-sharp/sharp/internal/Position.cs
new file mode 100755 (executable)
index 0000000..b705ac6
--- /dev/null
@@ -0,0 +1,639 @@
+/*
+ * 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 Dali {
+
+public class Position : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal Position(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(Position obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Position() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public static Position operator+(Position arg1, Position arg2) {
+    return arg1.Add(arg2);
+  }
+
+  public static Position operator-(Position arg1, Position arg2) {
+    return arg1.Subtract(arg2);
+  }
+
+  public static Position operator-(Position arg1) {
+    return arg1.Subtract();
+  }
+
+  public static Position operator*(Position arg1, Position arg2) {
+    return arg1.Multiply(arg2);
+  }
+
+  public static Position operator*(Position arg1, float arg2) {
+    return arg1.Multiply(arg2);
+  }
+
+  public static Position operator/(Position arg1, Position arg2) {
+    return arg1.Divide(arg2);
+  }
+
+  public static Position operator/(Position arg1, float arg2) {
+    return arg1.Divide(arg2);
+  }
+
+
+  public float this[uint index]
+  {
+    get
+    {
+      return ValueOfIndex(index);
+    }
+  }
+
+  public static Position GetPositionFromPtr(global::System.IntPtr cPtr) {
+    Position ret = new Position(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+       return ret;
+  }
+
+
+  public Position() : this(NDalicPINVOKE.new_Vector3__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Position(float x, float y, float z) : this(NDalicPINVOKE.new_Vector3__SWIG_1(x, y, z), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Position(Position2D position2d) : this(NDalicPINVOKE.new_Vector3__SWIG_3(Position2D.getCPtr(position2d)), true) {
+    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;
+  }
+
+  public bool EqualTo(Position rhs) {
+    bool ret = NDalicPINVOKE.Vector3_EqualTo(swigCPtr, Position.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool NotEqualTo(Position rhs) {
+    bool ret = NDalicPINVOKE.Vector3_NotEqualTo(swigCPtr, Position.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+
+  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;
+    }
+  }
+
+  public float Y {
+    set {
+      NDalicPINVOKE.Vector3_Y_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+    get {
+      float ret = NDalicPINVOKE.Vector3_Y_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  }
+
+  public float Z {
+    set {
+      NDalicPINVOKE.Vector3_Z_set(swigCPtr, 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;
+    }
+  }
+
+  internal static float ParentOriginTop
+  {
+      get
+      {
+          float ret = NDalicPINVOKE.ParentOriginTop_get();
+          if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+          return ret;
+      }
+  }
+
+  internal static float ParentOriginBottom
+  {
+      get
+      {
+          float ret = NDalicPINVOKE.ParentOriginBottom_get();
+          if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+          return ret;
+      }
+  }
+
+  internal static float ParentOriginLeft
+  {
+      get
+      {
+          float ret = NDalicPINVOKE.ParentOriginLeft_get();
+          if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+          return ret;
+      }
+  }
+
+  internal static float ParentOriginRight
+  {
+      get
+      {
+          float ret = NDalicPINVOKE.ParentOriginRight_get();
+          if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+          return ret;
+      }
+  }
+
+  internal static float ParentOriginMiddle
+  {
+      get
+      {
+          float ret = NDalicPINVOKE.ParentOriginMiddle_get();
+          if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+          return ret;
+      }
+  }
+
+  internal static Position ParentOriginTopLeft
+  {
+      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;
+      }
+  }
+
+  internal static Position ParentOriginTopCenter
+  {
+      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;
+      }
+  }
+
+  internal static Position ParentOriginTopRight
+  {
+      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;
+      }
+  }
+
+  internal static Position ParentOriginCenterLeft
+  {
+      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;
+      }
+  }
+
+  internal static Position ParentOriginCenter
+  {
+      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;
+      }
+  }
+
+  internal static Position ParentOriginCenterRight
+  {
+      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;
+      }
+  }
+
+  internal static Position ParentOriginBottomLeft
+  {
+      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;
+      }
+  }
+
+  internal static Position ParentOriginBottomCenter
+  {
+      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;
+      }
+  }
+
+  internal static Position ParentOriginBottomRight
+  {
+      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;
+      }
+  }
+
+  internal static float AnchorPointTop
+  {
+      get
+      {
+          float ret = NDalicPINVOKE.AnchorPointTop_get();
+          if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+          return ret;
+      }
+  }
+
+  internal static float AnchorPointBottom
+  {
+      get
+      {
+          float ret = NDalicPINVOKE.AnchorPointBottom_get();
+          if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+          return ret;
+      }
+  }
+
+  internal static float AnchorPointLeft
+  {
+      get
+      {
+          float ret = NDalicPINVOKE.AnchorPointLeft_get();
+          if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+          return ret;
+      }
+  }
+
+  internal static float AnchorPointRight
+  {
+      get
+      {
+          float ret = NDalicPINVOKE.AnchorPointRight_get();
+          if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+          return ret;
+      }
+  }
+
+  internal static float AnchorPointMiddle
+  {
+      get
+      {
+          float ret = NDalicPINVOKE.AnchorPointMiddle_get();
+          if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+          return ret;
+      }
+  }
+
+  internal static Position AnchorPointTopLeft
+  {
+      get
+      {
+          global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopLeft_get();
+          Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+          if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+          return ret;
+      }
+  }
+
+  internal static Position AnchorPointTopCenter
+  {
+      get
+      {
+          global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopCenter_get();
+          Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+          if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+          return ret;
+      }
+  }
+
+  internal static Position AnchorPointTopRight
+  {
+      get
+      {
+          global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopRight_get();
+          Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+          if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+          return ret;
+      }
+  }
+
+  internal static Position AnchorPointCenterLeft
+  {
+      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;
+      }
+  }
+
+  internal static Position AnchorPointCenter
+  {
+      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;
+      }
+  }
+
+  internal static Position AnchorPointCenterRight
+  {
+      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;
+      }
+  }
+
+  internal static Position AnchorPointBottomLeft
+  {
+      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;
+      }
+  }
+
+  internal static Position AnchorPointBottomCenter
+  {
+      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;
+      }
+  }
+
+  internal static Position AnchorPointBottomRight
+  {
+      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;
+      }
+  }
+
+  public static Position One {
+    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;
+    }
+  }
+
+  internal static Position XAxis {
+    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;
+    }
+  }
+
+  internal static Position YAxis {
+    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;
+    }
+  }
+
+  internal static Position ZAxis {
+    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;
+    }
+  }
+
+  internal static Position NegativeXAxis {
+    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;
+    }
+  }
+
+  internal static Position NegativeYAxis {
+    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;
+    }
+  }
+
+  internal static Position NegativeZAxis {
+    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;
+    }
+  }
+
+  public static Position Zero {
+    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;
+    }
+  }
+
+  public static implicit operator Vector3(Position Position)
+  {
+    return new Vector3(Position.X, Position.Y, Position.Z);
+  }
+
+  public static implicit operator Position(Vector3 vec)
+  {
+    return new Position(vec.X, vec.Y, vec.Z);
+  }
+
+}
+
+  public struct ParentOrigin
+  {
+      public static readonly float Top = Position.ParentOriginTop;
+      public static readonly float Bottom = Position.ParentOriginBottom;
+      public static readonly float Left = Position.ParentOriginLeft;
+      public static readonly float Right = Position.ParentOriginRight;
+      public static readonly float Middle = Position.ParentOriginMiddle;
+      public static readonly Position TopLeft = Position.ParentOriginTopLeft;
+      public static readonly Position TopCenter = Position.ParentOriginTopCenter;
+      public static readonly Position TopRight = Position.ParentOriginTopRight;
+      public static readonly Position CenterLeft = Position.ParentOriginCenterLeft;
+      public static readonly Position Center = Position.ParentOriginCenter;
+      public static readonly Position CenterRight = Position.ParentOriginCenterRight;
+      public static readonly Position BottomLeft = Position.ParentOriginBottomLeft;
+      public static readonly Position BottomCenter = Position.ParentOriginBottomCenter;
+      public static readonly Position BottomRight = Position.ParentOriginBottomRight;
+  }
+  public struct AnchorPoint
+  {
+      public static readonly float Top = Position.AnchorPointTop;
+      public static readonly float Bottom = Position.AnchorPointBottom;
+      public static readonly float Left = Position.AnchorPointLeft;
+      public static readonly float Right = Position.AnchorPointRight;
+      public static readonly float Middle = Position.AnchorPointMiddle;
+      public static readonly Position TopLeft = Position.AnchorPointTopLeft;
+      public static readonly Position TopCenter = Position.AnchorPointTopCenter;
+      public static readonly Position TopRight = Position.AnchorPointTopRight;
+      public static readonly Position CenterLeft = Position.AnchorPointCenterLeft;
+      public static readonly Position Center = Position.AnchorPointCenter;
+      public static readonly Position CenterRight = Position.AnchorPointCenterRight;
+      public static readonly Position BottomLeft = Position.AnchorPointBottomLeft;
+      public static readonly Position BottomCenter = Position.AnchorPointBottomCenter;
+      public static readonly Position BottomRight = Position.AnchorPointBottomRight;
+  }
+  public struct PositionAxis
+  {
+      public static readonly Position X = Position.XAxis;
+      public static readonly Position Y = Position.YAxis;
+      public static readonly Position Z = Position.ZAxis;
+      public static readonly Position NegativeX = Position.NegativeXAxis;
+      public static readonly Position NegativeY = Position.NegativeYAxis;
+      public static readonly Position NegativeZ = Position.NegativeZAxis;
+  }
+
+}
+
+
diff --git a/plugins/dali-sharp/sharp/internal/Position2D.cs b/plugins/dali-sharp/sharp/internal/Position2D.cs
new file mode 100755 (executable)
index 0000000..668b5b0
--- /dev/null
@@ -0,0 +1,212 @@
+/*
+ * 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 Dali {
+
+public class Position2D : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal Position2D(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(Position2D obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Position2D() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public static Position2D operator+(Position2D arg1, Position2D arg2) {
+    return arg1.Add(arg2);
+  }
+
+  public static Position2D operator-(Position2D arg1, Position2D arg2) {
+    return arg1.Subtract(arg2);
+  }
+
+  public static Position2D operator-(Position2D arg1) {
+    return arg1.Subtract();
+  }
+
+  public static Position2D operator*(Position2D arg1, Position2D arg2) {
+    return arg1.Multiply(arg2);
+  }
+
+  public static Position2D operator*(Position2D arg1, int arg2) {
+    return arg1.Multiply(arg2);
+  }
+
+  public static Position2D operator/(Position2D arg1, Position2D arg2) {
+    return arg1.Divide(arg2);
+  }
+
+  public static Position2D operator/(Position2D arg1, int arg2) {
+    return arg1.Divide(arg2);
+  }
+
+  public float this[uint index]
+  {
+    get
+    {
+      return ValueOfIndex(index);
+    }
+  }
+
+  public static Position2D GetPosition2DFromPtr(global::System.IntPtr cPtr) {
+    Position2D ret = new Position2D(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+       return ret;
+  }
+
+
+  public Position2D() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  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();
+  }
+
+  public Position2D(Position position) : this(NDalicPINVOKE.new_Vector2__SWIG_3(Position.getCPtr(position)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  private Position2D Add(Position2D rhs) {
+    Position2D ret = new Position2D(NDalicPINVOKE.Vector2_Add(swigCPtr, Position2D.getCPtr(rhs)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Position2D Subtract(Position2D rhs) {
+    Position2D ret = new Position2D(NDalicPINVOKE.Vector2_Subtract__SWIG_0(swigCPtr, Position2D.getCPtr(rhs)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+
+  private Position2D Multiply(Position2D rhs) {
+    Position2D ret = new Position2D(NDalicPINVOKE.Vector2_Multiply__SWIG_0(swigCPtr, Position2D.getCPtr(rhs)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Position2D Multiply(int rhs) {
+    Position2D ret = new Position2D(NDalicPINVOKE.Vector2_Multiply__SWIG_1(swigCPtr, (float)rhs), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+
+  private Position2D Divide(Position2D rhs) {
+    Position2D ret = new Position2D(NDalicPINVOKE.Vector2_Divide__SWIG_0(swigCPtr, Position2D.getCPtr(rhs)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Position2D Divide(int rhs) {
+    Position2D ret = new Position2D(NDalicPINVOKE.Vector2_Divide__SWIG_1(swigCPtr, (float)rhs), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Position2D Subtract() {
+    Position2D ret = new Position2D(NDalicPINVOKE.Vector2_Subtract__SWIG_1(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool EqualTo(Position2D rhs) {
+    bool ret = NDalicPINVOKE.Vector2_EqualTo(swigCPtr, Position2D.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  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);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+
+  public int X {
+    set {
+      NDalicPINVOKE.Vector2_X_set(swigCPtr, (float)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 (int)ret;
+    }
+  }
+
+  public int Y {
+    set {
+      NDalicPINVOKE.Vector2_Y_set(swigCPtr, (float)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 (int)ret;
+    }
+  }
+
+  public static implicit operator Vector2(Position2D position2d)
+  {
+    return new Vector2((float)position2d.X, (float)position2d.Y);
+  }
+
+  public static implicit operator Position2D(Vector2 vec)
+  {
+    return new Position2D((int)vec.X, (int)vec.Y);
+  }
+
+}
+
+}
+
+
diff --git a/plugins/dali-sharp/sharp/internal/PositionInheritanceMode.cs b/plugins/dali-sharp/sharp/internal/PositionInheritanceMode.cs
new file mode 100644 (file)
index 0000000..1d7c39f
--- /dev/null
@@ -0,0 +1,20 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum PositionInheritanceMode {
+  INHERIT_PARENT_POSITION,
+  USE_PARENT_POSITION,
+  USE_PARENT_POSITION_PLUS_LOCAL_POSITION,
+  DONT_INHERIT_POSITION
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/PrimitiveVisualShapeType.cs b/plugins/dali-sharp/sharp/internal/PrimitiveVisualShapeType.cs
new file mode 100644 (file)
index 0000000..eedb5c8
--- /dev/null
@@ -0,0 +1,23 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum PrimitiveVisualShapeType {
+  SPHERE,
+  CONICAL_FRUSTRUM,
+  CONE,
+  CYLINDER,
+  CUBE,
+  OCTAHEDRON,
+  BEVELLED_CUBE
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ProgressBar.cs b/plugins/dali-sharp/sharp/internal/ProgressBar.cs
new file mode 100644 (file)
index 0000000..1372d5b
--- /dev/null
@@ -0,0 +1,369 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class ProgressBar : View {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal ProgressBar(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ProgressBar_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ProgressBar obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ProgressBar() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ProgressBar(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+public class ValueChangedEventArgs : EventArgs
+{
+   private ProgressBar _progressBar;
+   private float _progressValue;
+   private float _secondaryProgressValue;
+
+   public ProgressBar ProgressBar
+   {
+      get
+      {
+         return _progressBar;
+      }
+      set
+      {
+         _progressBar = value;
+      }
+   }
+
+   public float ProgressValue
+   {
+      get
+      {
+         return _progressValue;
+      }
+      set
+      {
+         _progressValue = value;
+      }
+   }
+
+   public float SecondaryProgressValue
+   {
+      get
+      {
+         return _secondaryProgressValue;
+      }
+      set
+      {
+         _secondaryProgressValue = value;
+      }
+   }
+
+}
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void ValueChangedCallbackDelegate(IntPtr progressBar, float progressValue, float secondaryProgressValue);
+  private DaliEventHandler<object,ValueChangedEventArgs> _progressBarValueChangedEventHandler;
+  private ValueChangedCallbackDelegate _progressBarValueChangedCallbackDelegate;
+
+  public event DaliEventHandler<object,ValueChangedEventArgs> ValueChanged
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_progressBarValueChangedEventHandler == null)
+           {
+              _progressBarValueChangedEventHandler += value;
+
+              _progressBarValueChangedCallbackDelegate = new ValueChangedCallbackDelegate(OnValueChanged);
+              this.ValueChangedSignal().Connect(_progressBarValueChangedCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_progressBarValueChangedEventHandler != null)
+           {
+              this.ValueChangedSignal().Disconnect(_progressBarValueChangedCallbackDelegate);
+           }
+
+           _progressBarValueChangedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for ProgressBar ValueChanged signal
+  private void OnValueChanged(IntPtr progressBar, float progressValue, float secondaryProgressValue)
+  {
+     ValueChangedEventArgs e = new ValueChangedEventArgs();
+
+     // Populate all members of "e" (ValueChangedEventArgs) with real page
+     e.ProgressBar = ProgressBar.GetProgressBarFromPtr( progressBar );
+     e.ProgressValue = progressValue;
+     e.SecondaryProgressValue = secondaryProgressValue;
+
+     if (_progressBarValueChangedEventHandler != null)
+     {
+       _progressBarValueChangedEventHandler(this, e);
+     }
+  }
+
+  public static ProgressBar GetProgressBarFromPtr(global::System.IntPtr cPtr) {
+    ProgressBar ret = new ProgressBar(cPtr, false);
+   if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_ProgressBar_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_ProgressBar_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int PROGRESS_VALUE = NDalicPINVOKE.ProgressBar_Property_PROGRESS_VALUE_get();
+    public static readonly int SECONDARY_PROGRESS_VALUE = NDalicPINVOKE.ProgressBar_Property_SECONDARY_PROGRESS_VALUE_get();
+    public static readonly int INDETERMINATE = NDalicPINVOKE.ProgressBar_Property_INDETERMINATE_get();
+    public static readonly int TRACK_VISUAL = NDalicPINVOKE.ProgressBar_Property_TRACK_VISUAL_get();
+    public static readonly int PROGRESS_VISUAL = NDalicPINVOKE.ProgressBar_Property_PROGRESS_VISUAL_get();
+    public static readonly int SECONDARY_PROGRESS_VISUAL = NDalicPINVOKE.ProgressBar_Property_SECONDARY_PROGRESS_VISUAL_get();
+    public static readonly int INDETERMINATE_VISUAL = NDalicPINVOKE.ProgressBar_Property_INDETERMINATE_VISUAL_get();
+    public static readonly int INDETERMINATE_VISUAL_ANIMATION = NDalicPINVOKE.ProgressBar_Property_INDETERMINATE_VISUAL_ANIMATION_get();
+    public static readonly int LABEL_VISUAL = NDalicPINVOKE.ProgressBar_Property_LABEL_VISUAL_get();
+  
+  }
+
+  public ProgressBar () : this (NDalicPINVOKE.ProgressBar_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public ProgressBar(ProgressBar handle) : this(NDalicPINVOKE.new_ProgressBar__SWIG_1(ProgressBar.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ProgressBar Assign(ProgressBar handle) {
+    ProgressBar ret = new ProgressBar(NDalicPINVOKE.ProgressBar_Assign(swigCPtr, ProgressBar.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static ProgressBar DownCast(BaseHandle handle) {
+    ProgressBar ret = new ProgressBar(NDalicPINVOKE.ProgressBar_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ProgressBarValueChangedSignal ValueChangedSignal() {
+    ProgressBarValueChangedSignal ret = new ProgressBarValueChangedSignal(NDalicPINVOKE.ProgressBar_ValueChangedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum PropertyRange {
+    PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+    PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000
+  }
+
+  public float ProgressValue
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( ProgressBar.Property.PROGRESS_VALUE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ProgressBar.Property.PROGRESS_VALUE, new Dali.Property.Value( value ) );
+    }
+  }
+  public float SecondaryProgressValue
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( ProgressBar.Property.SECONDARY_PROGRESS_VALUE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ProgressBar.Property.SECONDARY_PROGRESS_VALUE, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool Indeterminate
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( ProgressBar.Property.INDETERMINATE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ProgressBar.Property.INDETERMINATE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map TrackVisual
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( ProgressBar.Property.TRACK_VISUAL).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ProgressBar.Property.TRACK_VISUAL, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map ProgressVisual
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( ProgressBar.Property.PROGRESS_VISUAL).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ProgressBar.Property.PROGRESS_VISUAL, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map SecondaryProgressVisual
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( ProgressBar.Property.SECONDARY_PROGRESS_VISUAL).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ProgressBar.Property.SECONDARY_PROGRESS_VISUAL, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map IndeterminateVisual
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( ProgressBar.Property.INDETERMINATE_VISUAL).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ProgressBar.Property.INDETERMINATE_VISUAL, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Array IndeterminateVisualAnimation
+  {
+    get
+    {
+      Dali.Property.Array temp = new Dali.Property.Array();
+      GetProperty( ProgressBar.Property.INDETERMINATE_VISUAL_ANIMATION).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ProgressBar.Property.INDETERMINATE_VISUAL_ANIMATION, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map LabelVisual
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( ProgressBar.Property.LABEL_VISUAL).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ProgressBar.Property.LABEL_VISUAL, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ProgressBarValueChangedSignal.cs b/plugins/dali-sharp/sharp/internal/ProgressBarValueChangedSignal.cs
new file mode 100644 (file)
index 0000000..578942f
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ProgressBarValueChangedSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal ProgressBarValueChangedSignal(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(ProgressBarValueChangedSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ProgressBarValueChangedSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ProgressBarValueChangedSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.ProgressBarValueChangedSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.ProgressBarValueChangedSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ProgressBarValueChangedSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ProgressBarValueChangedSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(ProgressBar arg1, float arg2, float arg3) {
+    NDalicPINVOKE.ProgressBarValueChangedSignal_Emit(swigCPtr, ProgressBar.getCPtr(arg1), arg2, arg3);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ProgressBarValueChangedSignal() : this(NDalicPINVOKE.new_ProgressBarValueChangedSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ProjectionMode.cs b/plugins/dali-sharp/sharp/internal/ProjectionMode.cs
new file mode 100644 (file)
index 0000000..ed7062a
--- /dev/null
@@ -0,0 +1,18 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum ProjectionMode {
+  PERSPECTIVE_PROJECTION,
+  ORTHOGRAPHIC_PROJECTION
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Property.cs b/plugins/dali-sharp/sharp/internal/Property.cs
new file mode 100644 (file)
index 0000000..32ccdb5
--- /dev/null
@@ -0,0 +1,897 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public 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;
+  }
+
+  ~Property() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public static int INVALID_INDEX {
+    get {
+      int ret = NDalicPINVOKE.Property_INVALID_INDEX_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static int INVALID_KEY {
+    get {
+      int ret = NDalicPINVOKE.Property_INVALID_KEY_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static int INVALID_COMPONENT_INDEX {
+    get {
+      int ret = NDalicPINVOKE.Property_INVALID_COMPONENT_INDEX_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public Property(Handle arg0, int propertyIndex) : this(NDalicPINVOKE.new_Property__SWIG_0(Handle.getCPtr(arg0), propertyIndex), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Property(Handle arg0, int propertyIndex, int componentIndex) : this(NDalicPINVOKE.new_Property__SWIG_1(Handle.getCPtr(arg0), propertyIndex, componentIndex), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Property(Handle arg0, string propertyName) : this(NDalicPINVOKE.new_Property__SWIG_2(Handle.getCPtr(arg0), propertyName), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Property(Handle arg0, string propertyName, int componentIndex) : this(NDalicPINVOKE.new_Property__SWIG_3(Handle.getCPtr(arg0), propertyName, componentIndex), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Handle _object {
+    set {
+      NDalicPINVOKE.Property__object_set(swigCPtr, Handle.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      Handle ret = new Handle(NDalicPINVOKE.Property__object_get(swigCPtr), false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public int propertyIndex {
+    set {
+      NDalicPINVOKE.Property_propertyIndex_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      int ret = NDalicPINVOKE.Property_propertyIndex_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public int componentIndex {
+    set {
+      NDalicPINVOKE.Property_componentIndex_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      int ret = NDalicPINVOKE.Property_componentIndex_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public class Array : global::System.IDisposable {
+    private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+    protected bool swigCMemOwn;
+  
+    internal Array(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(Array obj) {
+      return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+    }
+  
+    ~Array() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_Property_Array(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property.Value this[uint index]
+    {
+      get
+      {
+        return ValueOfIndex(index);
+      }
+    }
+  
+    public Array() : this(NDalicPINVOKE.new_Property_Array__SWIG_0(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public Array(Property.Array other) : this(NDalicPINVOKE.new_Property_Array__SWIG_1(Property.Array.getCPtr(other)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public uint Size() {
+      uint ret = NDalicPINVOKE.Property_Array_Size(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public uint Count() {
+      uint ret = NDalicPINVOKE.Property_Array_Count(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public bool Empty() {
+      bool ret = NDalicPINVOKE.Property_Array_Empty(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public void Clear() {
+      NDalicPINVOKE.Property_Array_Clear(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public void Reserve(uint size) {
+      NDalicPINVOKE.Property_Array_Reserve(swigCPtr, size);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public void Resize(uint size) {
+      NDalicPINVOKE.Property_Array_Resize(swigCPtr, size);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public uint Capacity() {
+      uint ret = NDalicPINVOKE.Property_Array_Capacity(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public void PushBack(Property.Value value) {
+      NDalicPINVOKE.Property_Array_PushBack(swigCPtr, Property.Value.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public Property.Array Add(Property.Value value) {
+      Property.Array ret = new Property.Array(NDalicPINVOKE.Property_Array_Add(swigCPtr, Property.Value.getCPtr(value)), false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public Property.Value GetElementAt(uint index) {
+      Property.Value ret = new Property.Value(NDalicPINVOKE.Property_Array_GetElementAt__SWIG_0(swigCPtr, index), false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public Property.Value ValueOfIndex(uint index) {
+      Property.Value ret = new Property.Value(NDalicPINVOKE.Property_Array_ValueOfIndex__SWIG_0(swigCPtr, index), false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public Property.Array Assign(Property.Array other) {
+      Property.Array ret = new Property.Array(NDalicPINVOKE.Property_Array_Assign(swigCPtr, Property.Array.getCPtr(other)), false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+  }
+
+  public class Key : global::System.IDisposable {
+    private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+    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;
+    }
+  
+    ~Key() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        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);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property.Key.Type type {
+      set {
+        NDalicPINVOKE.Property_Key_type_set(swigCPtr, (int)value);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      } 
+      get {
+        Property.Key.Type ret = (Property.Key.Type)NDalicPINVOKE.Property_Key_type_get(swigCPtr);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      } 
+    }
+  
+    public int indexKey {
+      set {
+        NDalicPINVOKE.Property_Key_indexKey_set(swigCPtr, value);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      } 
+      get {
+        int ret = NDalicPINVOKE.Property_Key_indexKey_get(swigCPtr);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      } 
+    }
+  
+    public string stringKey {
+      set {
+        NDalicPINVOKE.Property_Key_stringKey_set(swigCPtr, value);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      } 
+      get {
+        string ret = NDalicPINVOKE.Property_Key_stringKey_get(swigCPtr);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      } 
+    }
+  
+    public Key(string key) : this(NDalicPINVOKE.new_Property_Key__SWIG_0(key), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public Key(int key) : this(NDalicPINVOKE.new_Property_Key__SWIG_1(key), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public bool EqualTo(string rhs) {
+      bool ret = NDalicPINVOKE.Property_Key_EqualTo__SWIG_0(swigCPtr, rhs);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public bool EqualTo(int rhs) {
+      bool ret = NDalicPINVOKE.Property_Key_EqualTo__SWIG_1(swigCPtr, rhs);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public bool EqualTo(Property.Key rhs) {
+      bool ret = NDalicPINVOKE.Property_Key_EqualTo__SWIG_2(swigCPtr, Property.Key.getCPtr(rhs));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public bool NotEqualTo(string rhs) {
+      bool ret = NDalicPINVOKE.Property_Key_NotEqualTo__SWIG_0(swigCPtr, rhs);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public bool NotEqualTo(int rhs) {
+      bool ret = NDalicPINVOKE.Property_Key_NotEqualTo__SWIG_1(swigCPtr, rhs);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public bool NotEqualTo(Property.Key rhs) {
+      bool ret = NDalicPINVOKE.Property_Key_NotEqualTo__SWIG_2(swigCPtr, Property.Key.getCPtr(rhs));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public enum Type {
+      INDEX,
+      STRING
+    }
+  
+  }
+
+  public class Map : global::System.IDisposable {
+    private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+    protected bool swigCMemOwn;
+  
+    internal Map(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(Map obj) {
+      return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+    }
+  
+    ~Map() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_Property_Map(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property.Value this[string key]
+    {
+      get
+      {
+        return ValueOfIndex(key);
+      }
+    }
+  
+    public Property.Value this[int key]
+    {
+      get
+      {
+        return ValueOfIndex(key);
+      }
+    }
+  
+    public Map() : this(NDalicPINVOKE.new_Property_Map__SWIG_0(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public Map(Property.Map other) : this(NDalicPINVOKE.new_Property_Map__SWIG_1(Property.Map.getCPtr(other)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public uint Count() {
+      uint ret = NDalicPINVOKE.Property_Map_Count(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public bool Empty() {
+      bool ret = NDalicPINVOKE.Property_Map_Empty(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public void Insert(string key, Property.Value value) {
+      NDalicPINVOKE.Property_Map_Insert__SWIG_0(swigCPtr, key, Property.Value.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public void Insert(int key, Property.Value value) {
+      NDalicPINVOKE.Property_Map_Insert__SWIG_2(swigCPtr, key, Property.Value.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public Property.Map Add(string key, Property.Value value) {
+      Property.Map ret = new Property.Map(NDalicPINVOKE.Property_Map_Add__SWIG_0(swigCPtr, key, Property.Value.getCPtr(value)), false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public Property.Map Add(int key, Property.Value value) {
+      Property.Map ret = new Property.Map(NDalicPINVOKE.Property_Map_Add__SWIG_2(swigCPtr, key, Property.Value.getCPtr(value)), false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public Property.Value GetValue(uint position) {
+      Property.Value ret = new Property.Value(NDalicPINVOKE.Property_Map_GetValue(swigCPtr, position), false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public string GetKey(uint position) {
+      string ret = NDalicPINVOKE.Property_Map_GetKey(swigCPtr, position);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public Property.Key GetKeyAt(uint position) {
+      Property.Key ret = new Property.Key(NDalicPINVOKE.Property_Map_GetKeyAt(swigCPtr, position), true);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public StringValuePair GetPair(uint position) {
+      StringValuePair ret = new StringValuePair(NDalicPINVOKE.Property_Map_GetPair(swigCPtr, position), false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public Property.Value Find(string key) {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Property_Map_Find__SWIG_0(swigCPtr, key);
+      Property.Value ret = (cPtr == global::System.IntPtr.Zero) ? null : new Property.Value(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public Property.Value Find(int key) {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Property_Map_Find__SWIG_2(swigCPtr, key);
+      Property.Value ret = (cPtr == global::System.IntPtr.Zero) ? null : new Property.Value(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public Property.Value Find(int indexKey, string stringKey) {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Property_Map_Find__SWIG_3(swigCPtr, indexKey, stringKey);
+      Property.Value ret = (cPtr == global::System.IntPtr.Zero) ? null : new Property.Value(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public Property.Value Find(string key, Property.Type type) {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Property_Map_Find__SWIG_4(swigCPtr, key, (int)type);
+      Property.Value ret = (cPtr == global::System.IntPtr.Zero) ? null : new Property.Value(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public Property.Value Find(int key, Property.Type type) {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Property_Map_Find__SWIG_5(swigCPtr, key, (int)type);
+      Property.Value ret = (cPtr == global::System.IntPtr.Zero) ? null : new Property.Value(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public void Clear() {
+      NDalicPINVOKE.Property_Map_Clear(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public void Merge(Property.Map from) {
+      NDalicPINVOKE.Property_Map_Merge(swigCPtr, Property.Map.getCPtr(from));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public Property.Value ValueOfIndex(string key) {
+      Property.Value ret = new Property.Value(NDalicPINVOKE.Property_Map_ValueOfIndex__SWIG_0(swigCPtr, key), false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public Property.Value ValueOfIndex(int key) {
+      Property.Value ret = new Property.Value(NDalicPINVOKE.Property_Map_ValueOfIndex__SWIG_2(swigCPtr, key), false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public Property.Map Assign(Property.Map other) {
+      Property.Map ret = new Property.Map(NDalicPINVOKE.Property_Map_Assign(swigCPtr, Property.Map.getCPtr(other)), false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+  }
+
+  public class Value : global::System.IDisposable {
+    private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+    protected bool swigCMemOwn;
+  
+    internal Value(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(Value obj) {
+      return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+    }
+  
+    ~Value() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        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);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+  
+      // Extension to property value class that allows us to create a
+      // PropertyValue from a C# object, e.g. int, float, string
+      static public Property.Value CreateFromObject( System.Object obj)
+      {
+        System.Type type = obj.GetType ();
+  
+          Property.Value value;
+  
+          if ( type.Equals (typeof(int)) )
+          {
+            System.Console.WriteLine (" got an int property value ");
+            value = new Property.Value ((int) obj );
+          }
+          if ( type.Equals (typeof(System.Int32)) )
+          {
+            System.Console.WriteLine (" got an int property value ");
+            value = new Property.Value ((int) obj );
+          }
+          else if ( type.Equals (typeof(bool)) )
+          {
+            System.Console.WriteLine (" got an bool property value ");
+            value = new Property.Value ((bool) obj );
+          }
+          else if ( type.Equals (typeof(float)) )
+          {
+            System.Console.WriteLine (" got an float property value ");
+            value = new Property.Value ((float) obj );
+          }
+          else if ( type.Equals (typeof(string)) )
+          {
+            System.Console.WriteLine (" got a string property value ");
+            value = new Property.Value ((string) obj );
+          }
+          else if ( type.Equals (typeof(Vector2)) )
+          {
+            System.Console.WriteLine (" got an Vector2 property value ");
+            value = new Property.Value ((Vector2) obj );
+          }
+          else if ( type.Equals (typeof(Vector3)) )
+          {
+            System.Console.WriteLine (" got an Vector3 property value ");
+            value = new Property.Value ((Vector3) obj );
+          }
+          else if ( type.Equals (typeof(Vector4)) )
+          {
+            System.Console.WriteLine (" got an Vector4 property value ");
+  
+            value = new Property.Value ((Vector4) obj );
+          }
+          else if ( type.Equals (typeof(Position)) )
+          {
+            System.Console.WriteLine (" got an Position property value ");
+            value = new Property.Value ((Position) obj );
+          }
+          else if ( type.Equals (typeof(Size)) )
+          {
+            System.Console.WriteLine (" got an Size property value ");
+            value = new Property.Value ((Size) obj );
+          }
+          else if ( type.Equals (typeof(Color)) )
+          {
+            System.Console.WriteLine (" got an Color property value ");
+            value = new Property.Value ((Color) obj );
+          }
+          else
+          {
+             throw new global::System.InvalidOperationException("Unimplemented type for Property Value");
+          }
+          return  value;
+      }
+  
+  
+      public Value(Size2D vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_4(Size2D.getCPtr(vectorValue)), true) {
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      }
+  
+      public Value(Size vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_5(Size.getCPtr(vectorValue)), true) {
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      }
+  
+      public Value(Position2D vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_4(Position2D.getCPtr(vectorValue)), true) {
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      }
+  
+      public Value(Position vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_5(Position.getCPtr(vectorValue)), true) {
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      }
+  
+      public Value(Color vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_6(Color.getCPtr(vectorValue)), true) {
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      }
+  
+  
+      public bool Get(Size2D vectorValue) {
+        bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_5(swigCPtr, Size2D.getCPtr(vectorValue));
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      }
+  
+      public bool Get(Size vectorValue) {
+        bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_6(swigCPtr, Size.getCPtr(vectorValue));
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      }
+  
+      public bool Get(Position2D vectorValue) {
+        bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_5(swigCPtr, Position2D.getCPtr(vectorValue));
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      }
+  
+      public bool Get(Position vectorValue) {
+        bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_6(swigCPtr, Position.getCPtr(vectorValue));
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      }
+  
+      public bool Get(Color vectorValue) {
+        bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_7(swigCPtr, Color.getCPtr(vectorValue));
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      }
+  
+  
+   
+    public Value() : this(NDalicPINVOKE.new_Property_Value__SWIG_0(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public Value(bool boolValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_1(boolValue), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public Value(int integerValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_2(integerValue), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public Value(float floatValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_3(floatValue), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public Value(Vector2 vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_4(Vector2.getCPtr(vectorValue)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public Value(Vector3 vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_5(Vector3.getCPtr(vectorValue)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public Value(Vector4 vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_6(Vector4.getCPtr(vectorValue)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public Value(Matrix3 matrixValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_7(Matrix3.getCPtr(matrixValue)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public Value(Matrix matrixValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_8(Matrix.getCPtr(matrixValue)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public Value(Rectangle vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_9(Rectangle.getCPtr(vectorValue)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public Value(AngleAxis angleAxis) : this(NDalicPINVOKE.new_Property_Value__SWIG_10(AngleAxis.getCPtr(angleAxis)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public Value(Rotation quaternion) : this(NDalicPINVOKE.new_Property_Value__SWIG_11(Rotation.getCPtr(quaternion)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public Value(string stringValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_12(stringValue), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public Value(Property.Array arrayValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_14(Property.Array.getCPtr(arrayValue)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public Value(Property.Map mapValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_15(Property.Map.getCPtr(mapValue)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public Value(Property.Type type) : this(NDalicPINVOKE.new_Property_Value__SWIG_16((int)type), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public Value(Property.Value value) : this(NDalicPINVOKE.new_Property_Value__SWIG_17(Property.Value.getCPtr(value)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public Property.Value Assign(Property.Value value) {
+      Property.Value ret = new Property.Value(NDalicPINVOKE.Property_Value_Assign(swigCPtr, Property.Value.getCPtr(value)), false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public Property.Type GetType() {
+      Property.Type ret = (Property.Type)NDalicPINVOKE.Property_Value_GetType(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public bool Get(ref bool boolValue) {
+      bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_1(swigCPtr, ref boolValue);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public bool Get(ref float floatValue) {
+      bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_2(swigCPtr, ref floatValue);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public bool Get(ref int integerValue) {
+      bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_3(swigCPtr, ref integerValue);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public bool Get(Rectangle rect) {
+      bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_4(swigCPtr, Rectangle.getCPtr(rect));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public bool Get(Vector2 vectorValue) {
+      bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_5(swigCPtr, Vector2.getCPtr(vectorValue));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public bool Get(Vector3 vectorValue) {
+      bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_6(swigCPtr, Vector3.getCPtr(vectorValue));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public bool Get(Vector4 vectorValue) {
+      bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_7(swigCPtr, Vector4.getCPtr(vectorValue));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public 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;
+    }
+  
+    public 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;
+    }
+  
+    public 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;
+    }
+  
+    public bool Get(Rotation quaternionValue) {
+      bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_11(swigCPtr, Rotation.getCPtr(quaternionValue));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public bool Get(out string stringValue) {
+      bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_12(swigCPtr, out stringValue);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public bool Get(Property.Array arrayValue) {
+      bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_13(swigCPtr, Property.Array.getCPtr(arrayValue));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public bool Get(Property.Map mapValue) {
+      bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_14(swigCPtr, Property.Map.getCPtr(mapValue));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public Property.Array GetArray() {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Property_Value_GetArray(swigCPtr);
+      Property.Array ret = (cPtr == global::System.IntPtr.Zero) ? null : new Property.Array(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public Property.Map GetMap() {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Property_Value_GetMap(swigCPtr);
+      Property.Map ret = (cPtr == global::System.IntPtr.Zero) ? null : new Property.Map(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+  }
+
+  public enum Type {
+    NONE,
+    BOOLEAN,
+    FLOAT,
+    INTEGER,
+    VECTOR2,
+    VECTOR3,
+    VECTOR4,
+    MATRIX3,
+    MATRIX,
+    RECTANGLE,
+    ROTATION,
+    STRING,
+    ARRAY,
+    MAP
+  }
+
+  public enum AccessMode {
+    READ_ONLY,
+    READ_WRITE,
+    ANIMATABLE,
+    ACCESS_MODE_COUNT
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/PropertyBuffer.cs b/plugins/dali-sharp/sharp/internal/PropertyBuffer.cs
new file mode 100644 (file)
index 0000000..478978b
--- /dev/null
@@ -0,0 +1,97 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class PropertyBuffer : BaseHandle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal PropertyBuffer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PropertyBuffer_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  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;
+  }
+
+  ~PropertyBuffer() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_PropertyBuffer(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public PropertyBuffer (Property.Map bufferFormat) : this (NDalicPINVOKE.PropertyBuffer_New(Property.Map.getCPtr(bufferFormat)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public PropertyBuffer(PropertyBuffer handle) : this(NDalicPINVOKE.new_PropertyBuffer__SWIG_1(PropertyBuffer.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static PropertyBuffer DownCast(BaseHandle handle) {
+    PropertyBuffer ret = new PropertyBuffer(NDalicPINVOKE.PropertyBuffer_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public PropertyBuffer Assign(PropertyBuffer handle) {
+    PropertyBuffer ret = new PropertyBuffer(NDalicPINVOKE.PropertyBuffer_Assign(swigCPtr, PropertyBuffer.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetData(System.IntPtr data, uint size) {
+    NDalicPINVOKE.PropertyBuffer_SetData(swigCPtr, data, size);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public uint GetSize() {
+    uint ret = NDalicPINVOKE.PropertyBuffer_GetSize(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/PropertyCondition.cs b/plugins/dali-sharp/sharp/internal/PropertyCondition.cs
new file mode 100644 (file)
index 0000000..d72c218
--- /dev/null
@@ -0,0 +1,76 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class PropertyCondition : BaseHandle {
+  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;
+  }
+
+  ~PropertyCondition() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public PropertyCondition() : this(NDalicPINVOKE.new_PropertyCondition__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PropertyCondition(PropertyCondition handle) : this(NDalicPINVOKE.new_PropertyCondition__SWIG_1(PropertyCondition.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PropertyCondition Assign(PropertyCondition rhs) {
+    PropertyCondition ret = new PropertyCondition(NDalicPINVOKE.PropertyCondition_Assign(swigCPtr, PropertyCondition.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetArgumentCount() {
+    uint ret = NDalicPINVOKE.PropertyCondition_GetArgumentCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float GetArgument(uint index) {
+    float ret = NDalicPINVOKE.PropertyCondition_GetArgument(swigCPtr, index);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/PropertyNotification.cs b/plugins/dali-sharp/sharp/internal/PropertyNotification.cs
new file mode 100644 (file)
index 0000000..4fe13ec
--- /dev/null
@@ -0,0 +1,209 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class PropertyNotification : BaseHandle {
+  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);
+  }
+
+  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;
+  }
+
+  ~PropertyNotification() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+/**
+  * @brief Event arguments that passed via Notify signal
+  *
+  */
+public class NotifyEventArgs : EventArgs
+{
+   private PropertyNotification _propertyNotification;
+
+   /**
+     * @brief PropertyNotification - is the PropertyNotification handle that has the notification properties.
+     *
+     */
+   public PropertyNotification PropertyNotification
+   {
+      get
+      {
+         return _propertyNotification;
+      }
+      set
+      {
+         _propertyNotification = value;
+      }
+   }
+}
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void NotifyEventCallbackDelegate(IntPtr propertyNotification);
+  private DaliEventHandler<object,NotifyEventArgs> _propertyNotificationNotifyEventHandler;
+  private NotifyEventCallbackDelegate _propertyNotificationNotifyEventCallbackDelegate;
+
+  /**
+    * @brief Event for Notified signal which can be used to subscribe/unsubscribe the event handler
+    * (in the type of NotifyEventHandler-DaliEventHandler<object,NotifyEventArgs>) provided by the user.
+    * Notified signal is emitted when the notification upon a condition of the property being met, has occurred.
+    */
+  public event DaliEventHandler<object,NotifyEventArgs> Notified
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_propertyNotificationNotifyEventHandler == null)
+           {
+              _propertyNotificationNotifyEventHandler += value;
+
+              _propertyNotificationNotifyEventCallbackDelegate = new NotifyEventCallbackDelegate(OnPropertyNotificationNotify);
+              this.NotifySignal().Connect(_propertyNotificationNotifyEventCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_propertyNotificationNotifyEventHandler != null)
+           {
+              this.NotifySignal().Disconnect(_propertyNotificationNotifyEventCallbackDelegate);
+           }
+
+           _propertyNotificationNotifyEventHandler -= value;
+        }
+     }
+  }
+
+  // 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);
+     }
+  }
+
+  public static PropertyNotification GetPropertyNotificationFromPtr(global::System.IntPtr cPtr) {
+    PropertyNotification ret = new PropertyNotification(cPtr, false);
+   if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+
+  public PropertyNotification() : this(NDalicPINVOKE.new_PropertyNotification__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static PropertyNotification DownCast(BaseHandle handle) {
+    PropertyNotification ret = new PropertyNotification(NDalicPINVOKE.PropertyNotification_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public PropertyNotification(PropertyNotification handle) : this(NDalicPINVOKE.new_PropertyNotification__SWIG_1(PropertyNotification.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PropertyNotification Assign(PropertyNotification rhs) {
+    PropertyNotification ret = new PropertyNotification(NDalicPINVOKE.PropertyNotification_Assign(swigCPtr, PropertyNotification.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public PropertyCondition GetCondition() {
+    PropertyCondition ret = new PropertyCondition(NDalicPINVOKE.PropertyNotification_GetCondition__SWIG_0(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Handle GetTarget() {
+    Handle ret = new Handle(NDalicPINVOKE.PropertyNotification_GetTarget(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public int GetTargetProperty() {
+    int ret = NDalicPINVOKE.PropertyNotification_GetTargetProperty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetNotifyMode(PropertyNotification.NotifyMode mode) {
+    NDalicPINVOKE.PropertyNotification_SetNotifyMode(swigCPtr, (int)mode);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PropertyNotification.NotifyMode GetNotifyMode() {
+    PropertyNotification.NotifyMode ret = (PropertyNotification.NotifyMode)NDalicPINVOKE.PropertyNotification_GetNotifyMode(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool GetNotifyResult() {
+    bool ret = NDalicPINVOKE.PropertyNotification_GetNotifyResult(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public PropertyNotifySignal NotifySignal() {
+    PropertyNotifySignal ret = new PropertyNotifySignal(NDalicPINVOKE.PropertyNotification_NotifySignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum NotifyMode {
+    Disabled,
+    NotifyOnTrue,
+    NotifyOnFalse,
+    NotifyOnChanged
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/PropertyNotifySignal.cs b/plugins/dali-sharp/sharp/internal/PropertyNotifySignal.cs
new file mode 100644 (file)
index 0000000..18bb0d8
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class PropertyNotifySignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  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;
+  }
+
+  ~PropertyNotifySignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.PropertyNotifySignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.PropertyNotifySignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.PropertyNotifySignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.PropertyNotifySignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(PropertyNotification arg) {
+    NDalicPINVOKE.PropertyNotifySignal_Emit(swigCPtr, PropertyNotification.getCPtr(arg));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PropertyNotifySignal() : this(NDalicPINVOKE.new_PropertyNotifySignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/PropertyRangeManager.cs b/plugins/dali-sharp/sharp/internal/PropertyRangeManager.cs
new file mode 100644 (file)
index 0000000..7e6c4d4
--- /dev/null
@@ -0,0 +1,138 @@
+using System;
+using System.Runtime.InteropServices;
+using System.Collections.Generic;
+
+namespace Dali
+{
+  /// <summary>
+  /// Helper class for calculating what property indexes should be assigned to C# View (view) classes.
+  /// </summary>
+  public class PropertyRangeManager
+  {
+    private Dictionary<String, PropertyRange > _propertyRange;
+
+    /// <summary>
+    /// Initializes a new instance of the <see cref="Dali.PropertyRangeManager"/> class.
+    /// </summary>
+    public PropertyRangeManager ()
+    {
+      _propertyRange = new Dictionary<String, PropertyRange > ();
+    }
+
+    /// <summary>
+    /// Only called if a View has scriptable properties
+    /// </summary>
+    private PropertyRange RegisterView( string viewName, System.Type viewType )
+    {
+      PropertyRange range;
+
+      if ( _propertyRange.TryGetValue (viewName, out range) )
+      {
+        // already registered
+        return range;
+      }
+
+      // Find out the event and animatable start indexes for the type
+      range = new PropertyRange();
+
+      GetPropertyStartRange( viewType, ref range);
+
+      // add it to our dictionary
+      _propertyRange.Add( viewName, range );
+
+      return range;
+
+     }
+
+    /// <summary>
+    /// Gets the index of the property.
+    /// Each property has to have unique index for this view type
+    /// </summary>
+    /// <returns>The property index.</returns>
+    /// <param name="viewName">View name</param>
+    /// <param name="viewType">View type</param>
+    /// <param name="type">Type.</param>
+    public int GetPropertyIndex( string viewName, System.Type viewType, ScriptableProperty.ScriptableType type )
+    {
+
+      PropertyRange range;
+
+      if (!  _propertyRange.TryGetValue (viewName, out range) )
+      {
+         // view not found, register it now
+          range = RegisterView( viewName, viewType);
+      }
+
+      int index =  range.GetNextFreePropertyIndex ( type );
+
+      // update the dictionary
+      _propertyRange[viewName]=range;
+
+      return index;
+
+    }
+
+    ///<summary>
+    /// We calculate the start property indices, based on the type and it's class  heirachy, e.g. DateView (70,000)- > Spin (60,000) -> View (50,000)
+    /// </summary>
+    private void GetPropertyStartRange( System.Type viewType, ref PropertyRange range )
+    {
+      const int maxCountPerDerivation = 1000; // For child and animtable properties we use a gap of 1000 between each
+      // views property range in the heirachy
+
+      // custom views start there property index, at view_PROPERTY_END_INDEX
+      // we add 1000, just incase View class (our C# custom view base) starts using scriptable properties
+      int startEventPropertyIndex = (int)View.PropertyRange.CONTROL_PROPERTY_END_INDEX+maxCountPerDerivation;
+
+      // for animatable properties current range starts at ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX,
+      // we add 1000, just incase View class starts using animatable properties
+      int startAnimatablePropertyIndex = (int)Dali.PropertyRanges.ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX +maxCountPerDerivation;
+
+      while ( viewType.BaseType.Name != "CustomView" )   // custom view is our C# view base class. we don't go any deeper.
+      {
+        // for every base class increase property start index
+        startEventPropertyIndex += (int)Dali.PropertyRanges.DEFAULT_PROPERTY_MAX_COUNT_PER_DERIVATION; // DALi uses 10,000
+        startAnimatablePropertyIndex += maxCountPerDerivation;
+
+        //Console.WriteLine ("getStartPropertyIndex =  " + viewType.Name +"current index " + startEventPropertyIndex);
+        viewType = viewType.BaseType;
+      }
+
+      range.startEventIndex = startEventPropertyIndex;
+      range.lastUsedEventIndex = startEventPropertyIndex;
+
+      range.startAnimationIndex = startAnimatablePropertyIndex;
+      range.lastUsedAnimationIndex = startAnimatablePropertyIndex;
+
+    }
+
+
+    public struct PropertyRange
+    {
+
+      public int GetNextFreePropertyIndex( ScriptableProperty.ScriptableType type)
+      {
+        if ( type == ScriptableProperty.ScriptableType.Default )
+        {
+           lastUsedEventIndex++;
+           return lastUsedEventIndex;
+        }
+        else
+        {
+          lastUsedAnimationIndex++;
+          return lastUsedAnimationIndex ;
+        }
+      }
+
+
+      public int startEventIndex;    /// start of the property range
+      public int lastUsedEventIndex;    /// last used of the property index
+
+      public int startAnimationIndex;  /// start of the property range
+      public int lastUsedAnimationIndex; /// last used of the property index
+    };
+
+
+
+}
+}
diff --git a/plugins/dali-sharp/sharp/internal/PropertyRanges.cs b/plugins/dali-sharp/sharp/internal/PropertyRanges.cs
new file mode 100644 (file)
index 0000000..f8134e6
--- /dev/null
@@ -0,0 +1,34 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum PropertyRanges {
+  DEFAULT_OBJECT_PROPERTY_START_INDEX = 0,
+  DEFAULT_ACTOR_PROPERTY_START_INDEX = DEFAULT_OBJECT_PROPERTY_START_INDEX,
+  DEFAULT_ACTOR_PROPERTY_MAX_COUNT = 10000,
+  DEFAULT_DERIVED_ACTOR_PROPERTY_START_INDEX = DEFAULT_ACTOR_PROPERTY_START_INDEX+DEFAULT_ACTOR_PROPERTY_MAX_COUNT,
+  DEFAULT_PROPERTY_MAX_COUNT_PER_DERIVATION = 10000,
+  DEFAULT_GESTURE_DETECTOR_PROPERTY_START_INDEX = DEFAULT_DERIVED_ACTOR_PROPERTY_START_INDEX,
+  DEFAULT_RENDERER_PROPERTY_START_INDEX = 9000000,
+  DEFAULT_RENDERER_PROPERTY_MAX_INDEX = DEFAULT_RENDERER_PROPERTY_START_INDEX+100000,
+  PROPERTY_REGISTRATION_START_INDEX = 10000000,
+  DEFAULT_PROPERTY_MAX_COUNT = PROPERTY_REGISTRATION_START_INDEX,
+  PROPERTY_REGISTRATION_MAX_INDEX = 19999999,
+  ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX = 20000000,
+  ANIMATABLE_PROPERTY_REGISTRATION_MAX_INDEX = 29999999,
+  CHILD_PROPERTY_REGISTRATION_START_INDEX = 45000000,
+  CHILD_PROPERTY_REGISTRATION_MAX_INDEX = 49999999,
+  PROPERTY_CUSTOM_START_INDEX = 50000000,
+  PROPERTY_CUSTOM_MAX_INDEX = 59999999,
+  CORE_PROPERTY_MAX_INDEX = PROPERTY_CUSTOM_MAX_INDEX
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/PropertyRegistration.cs b/plugins/dali-sharp/sharp/internal/PropertyRegistration.cs
new file mode 100644 (file)
index 0000000..4b04bb8
--- /dev/null
@@ -0,0 +1,49 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class PropertyRegistration : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal PropertyRegistration(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(PropertyRegistration obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~PropertyRegistration() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_PropertyRegistration(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+  public PropertyRegistration(TypeRegistration registered, string name, int index, Property.Type type, SWIGTYPE_p_f_p_Dali__BaseObject_int_r_q_const__Dali__Property__Value__void setFunc, SWIGTYPE_p_f_p_Dali__BaseObject_Dali__Property__Index__Dali__Property__Value getFunc) : this(NDalicPINVOKE.new_PropertyRegistration(TypeRegistration.getCPtr(registered), name, index, (int)type, SWIGTYPE_p_f_p_Dali__BaseObject_int_r_q_const__Dali__Property__Value__void.getCPtr(setFunc), SWIGTYPE_p_f_p_Dali__BaseObject_Dali__Property__Index__Dali__Property__Value.getCPtr(getFunc)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/PushButton.cs b/plugins/dali-sharp/sharp/internal/PushButton.cs
new file mode 100644 (file)
index 0000000..17afb87
--- /dev/null
@@ -0,0 +1,244 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class PushButton : Button {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal PushButton(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PushButton_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PushButton obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~PushButton() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_PushButton(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_PushButton_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_PushButton_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int UNSELECTED_ICON = NDalicPINVOKE.PushButton_Property_UNSELECTED_ICON_get();
+    public static readonly int SELECTED_ICON = NDalicPINVOKE.PushButton_Property_SELECTED_ICON_get();
+    public static readonly int ICON_ALIGNMENT = NDalicPINVOKE.PushButton_Property_ICON_ALIGNMENT_get();
+    public static readonly int LABEL_PADDING = NDalicPINVOKE.PushButton_Property_LABEL_PADDING_get();
+    public static readonly int ICON_PADDING = NDalicPINVOKE.PushButton_Property_ICON_PADDING_get();
+  
+  }
+
+  public PushButton () : this (NDalicPINVOKE.PushButton_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public PushButton(PushButton pushButton) : this(NDalicPINVOKE.new_PushButton__SWIG_1(PushButton.getCPtr(pushButton)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PushButton Assign(PushButton pushButton) {
+    PushButton ret = new PushButton(NDalicPINVOKE.PushButton_Assign(swigCPtr, PushButton.getCPtr(pushButton)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static PushButton DownCast(BaseHandle handle) {
+    PushButton ret = new PushButton(NDalicPINVOKE.PushButton_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new void SetButtonImage(Image image) {
+    NDalicPINVOKE.PushButton_SetButtonImage__SWIG_0_0(swigCPtr, Image.getCPtr(image));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetButtonImage(Actor image) {
+    NDalicPINVOKE.PushButton_SetButtonImage__SWIG_1(swigCPtr, Actor.getCPtr(image));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetBackgroundImage(Actor image) {
+    NDalicPINVOKE.PushButton_SetBackgroundImage(swigCPtr, Actor.getCPtr(image));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public new void SetSelectedImage(Image image) {
+    NDalicPINVOKE.PushButton_SetSelectedImage__SWIG_0_0(swigCPtr, Image.getCPtr(image));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetSelectedImage(Actor image) {
+    NDalicPINVOKE.PushButton_SetSelectedImage__SWIG_1(swigCPtr, Actor.getCPtr(image));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetSelectedBackgroundImage(Actor image) {
+    NDalicPINVOKE.PushButton_SetSelectedBackgroundImage(swigCPtr, Actor.getCPtr(image));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetDisabledBackgroundImage(Actor image) {
+    NDalicPINVOKE.PushButton_SetDisabledBackgroundImage(swigCPtr, Actor.getCPtr(image));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetDisabledImage(Actor image) {
+    NDalicPINVOKE.PushButton_SetDisabledImage(swigCPtr, Actor.getCPtr(image));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetDisabledSelectedImage(Actor image) {
+    NDalicPINVOKE.PushButton_SetDisabledSelectedImage(swigCPtr, Actor.getCPtr(image));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public enum PropertyRange {
+    PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+    PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000
+  }
+
+  public string UnselectedIcon
+  {
+    get
+    {
+      string temp;
+      GetProperty( PushButton.Property.UNSELECTED_ICON).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( PushButton.Property.UNSELECTED_ICON, new Dali.Property.Value( value ) );
+    }
+  }
+  public string SelectedIcon
+  {
+    get
+    {
+      string temp;
+      GetProperty( PushButton.Property.SELECTED_ICON).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( PushButton.Property.SELECTED_ICON, new Dali.Property.Value( value ) );
+    }
+  }
+  public string IconAlignment
+  {
+    get
+    {
+      string temp;
+      GetProperty( PushButton.Property.ICON_ALIGNMENT).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( PushButton.Property.ICON_ALIGNMENT, new Dali.Property.Value( value ) );
+    }
+  }
+  public string LabelPadding
+  {
+    get
+    {
+      string temp;
+      GetProperty( PushButton.Property.LABEL_PADDING).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( PushButton.Property.LABEL_PADDING, new Dali.Property.Value( value ) );
+    }
+  }
+  public string IconPadding
+  {
+    get
+    {
+      string temp;
+      GetProperty( PushButton.Property.ICON_PADDING).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( PushButton.Property.ICON_PADDING, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Radian.cs b/plugins/dali-sharp/sharp/internal/Radian.cs
new file mode 100644 (file)
index 0000000..6d73925
--- /dev/null
@@ -0,0 +1,93 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Radian : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal Radian(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(Radian obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Radian() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_Radian(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public Radian() : this(NDalicPINVOKE.new_Radian__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Radian(float value) : this(NDalicPINVOKE.new_Radian__SWIG_1(value), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Radian(Degree degree) : this(NDalicPINVOKE.new_Radian__SWIG_2(Degree.getCPtr(degree)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Radian Assign(float value) {
+    Radian ret = new Radian(NDalicPINVOKE.Radian_Assign__SWIG_0(swigCPtr, value), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Radian Assign(Degree degree) {
+    Radian ret = new Radian(NDalicPINVOKE.Radian_Assign__SWIG_1(swigCPtr, Degree.getCPtr(degree)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float ConvertToFloat() {
+    float ret = NDalicPINVOKE.Radian_ConvertToFloat(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float radian {
+    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;
+    } 
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/RadioButton.cs b/plugins/dali-sharp/sharp/internal/RadioButton.cs
new file mode 100644 (file)
index 0000000..1f7e46d
--- /dev/null
@@ -0,0 +1,90 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class RadioButton : Button {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal RadioButton(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.RadioButton_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RadioButton obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~RadioButton() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_RadioButton(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public RadioButton () : this (NDalicPINVOKE.RadioButton_New__SWIG_0(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public RadioButton (string label) : this (NDalicPINVOKE.RadioButton_New__SWIG_1(label), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public RadioButton(RadioButton radioButton) : this(NDalicPINVOKE.new_RadioButton__SWIG_1(RadioButton.getCPtr(radioButton)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public RadioButton Assign(RadioButton radioButton) {
+    RadioButton ret = new RadioButton(NDalicPINVOKE.RadioButton_Assign(swigCPtr, RadioButton.getCPtr(radioButton)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static RadioButton DownCast(BaseHandle handle) {
+    RadioButton ret = new RadioButton(NDalicPINVOKE.RadioButton_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Rectangle.cs b/plugins/dali-sharp/sharp/internal/Rectangle.cs
new file mode 100644 (file)
index 0000000..fc22303
--- /dev/null
@@ -0,0 +1,297 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Rectangle : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal Rectangle(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(Rectangle obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Rectangle() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_Rectangle(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+    public Rectangle(float x, float y, float width, float height) : this( (int)x, (int)y, (int)width, (int)height )
+    {
+    }
+
+    public static bool operator ==(Rectangle a, Rectangle 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 a.X == b.X && a.Y == b.Y && a.Width == b.Width && a.Height == b.Height;
+    }
+
+    public static bool operator !=(Rectangle a, Rectangle b)
+    {
+        return !(a == b);
+    }
+
+    ///< X position of the rectangle, values after the decimal point are ignored, float type provided for convenience.
+    public float X
+    {
+        set
+        {
+            x = (int)( value );
+        }
+        get
+        {
+            return x;
+        }
+    }
+
+    ///< Y position of the rectangle, values after the decimal point are ignored, float type provided for convenience.
+    public float Y
+    {
+        set
+        {
+            y = (int)( value );
+        }
+        get
+        {
+            return y;
+        }
+    }
+
+    ///< Width of the rectangle, values after the decimal point are ignored, float type provided for convenience.
+    public float Width
+    {
+        set
+        {
+            width = (int)( value );
+        }
+        get
+        {
+            return width;
+        }
+    }
+
+    ///< Height of the rectangle, values after the decimal point are ignored, float type provided for convenience.
+    public float Height
+    {
+        set
+        {
+            height = (int)( value );
+        }
+        get
+        {
+            return height;
+        }
+    }
+
+  public Rectangle() : this(NDalicPINVOKE.new_Rectangle__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  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();
+  }
+
+  public Rectangle(Rectangle rhs) : this(NDalicPINVOKE.new_Rectangle__SWIG_2(Rectangle.getCPtr(rhs)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Rectangle Assign(Rectangle rhs) {
+    Rectangle ret = new Rectangle(NDalicPINVOKE.Rectangle_Assign(swigCPtr, Rectangle.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Set(int newX, int newY, int newWidth, int newHeight) {
+    NDalicPINVOKE.Rectangle_Set(swigCPtr, newX, newY, newWidth, newHeight);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool IsEmpty() {
+    bool ret = NDalicPINVOKE.Rectangle_IsEmpty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public int Left() {
+    int ret = NDalicPINVOKE.Rectangle_Left(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public int Right() {
+    int ret = NDalicPINVOKE.Rectangle_Right(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public int Top() {
+    int ret = NDalicPINVOKE.Rectangle_Top(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public int Bottom() {
+    int ret = NDalicPINVOKE.Rectangle_Bottom(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public int Area() {
+    int ret = NDalicPINVOKE.Rectangle_Area(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool Intersects(Rectangle other) {
+    bool ret = NDalicPINVOKE.Rectangle_Intersects(swigCPtr, Rectangle.getCPtr(other));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool Contains(Rectangle other) {
+    bool ret = NDalicPINVOKE.Rectangle_Contains(swigCPtr, Rectangle.getCPtr(other));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    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 {
+    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;
+    } 
+  }
+
+  private int width {
+    set {
+      NDalicPINVOKE.Rectangle_width_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      int ret = NDalicPINVOKE.Rectangle_width_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private int bottom {
+    set {
+      NDalicPINVOKE.Rectangle_bottom_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      int ret = NDalicPINVOKE.Rectangle_bottom_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private int height {
+    set {
+      NDalicPINVOKE.Rectangle_height_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      int ret = NDalicPINVOKE.Rectangle_height_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private int top {
+    set {
+      NDalicPINVOKE.Rectangle_top_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      int ret = NDalicPINVOKE.Rectangle_top_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/RefObject.cs b/plugins/dali-sharp/sharp/internal/RefObject.cs
new file mode 100644 (file)
index 0000000..7764d68
--- /dev/null
@@ -0,0 +1,63 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class RefObject : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal RefObject(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(RefObject obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          throw new global::System.MethodAccessException("C++ destructor does not have public access");
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+ public static RefObject GetRefObjectFromPtr(global::System.IntPtr cPtr) {
+    RefObject ret = new RefObject(cPtr, false);
+       if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Reference() {
+    NDalicPINVOKE.RefObject_Reference(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Unreference() {
+    NDalicPINVOKE.RefObject_Unreference(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public int ReferenceCount() {
+    int ret = NDalicPINVOKE.RefObject_ReferenceCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/RelayoutContainer.cs b/plugins/dali-sharp/sharp/internal/RelayoutContainer.cs
new file mode 100644 (file)
index 0000000..feee9ea
--- /dev/null
@@ -0,0 +1,56 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class RelayoutContainer : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  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;
+  }
+
+  ~RelayoutContainer() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_RelayoutContainer(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public virtual void Add(Actor actor, Vector2 size) {
+    NDalicPINVOKE.RelayoutContainer_Add(swigCPtr, Actor.getCPtr(actor), Vector2.getCPtr(size));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/RenderBufferFormat.cs b/plugins/dali-sharp/sharp/internal/RenderBufferFormat.cs
new file mode 100644 (file)
index 0000000..4950e8a
--- /dev/null
@@ -0,0 +1,20 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum RenderBufferFormat {
+  COLOR,
+  COLOR_DEPTH,
+  COLOR_STENCIL,
+  COLOR_DEPTH_STENCIL
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/RenderModeType.cs b/plugins/dali-sharp/sharp/internal/RenderModeType.cs
new file mode 100644 (file)
index 0000000..69c31d4
--- /dev/null
@@ -0,0 +1,21 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum RenderModeType {
+  NONE,
+  AUTO,
+  COLOR,
+  STENCIL,
+  COLOR_STENCIL
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/RenderTask.cs b/plugins/dali-sharp/sharp/internal/RenderTask.cs
new file mode 100644 (file)
index 0000000..0bdc106
--- /dev/null
@@ -0,0 +1,426 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class RenderTask : Handle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal RenderTask(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.RenderTask_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RenderTask obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~RenderTask() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_RenderTask(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+ public static RenderTask GetRenderTaskFromPtr(global::System.IntPtr cPtr) {
+    RenderTask ret = new RenderTask(cPtr, false);
+       if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_RenderTask_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_RenderTask_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int VIEWPORT_POSITION = NDalicPINVOKE.RenderTask_Property_VIEWPORT_POSITION_get();
+    public static readonly int VIEWPORT_SIZE = NDalicPINVOKE.RenderTask_Property_VIEWPORT_SIZE_get();
+    public static readonly int CLEAR_COLOR = NDalicPINVOKE.RenderTask_Property_CLEAR_COLOR_get();
+    public static readonly int REQUIRES_SYNC = NDalicPINVOKE.RenderTask_Property_REQUIRES_SYNC_get();
+  
+  }
+
+  public static SWIGTYPE_p_f_r_Dali__Vector2__bool DEFAULT_SCREEN_TO_FRAMEBUFFER_FUNCTION {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.RenderTask_DEFAULT_SCREEN_TO_FRAMEBUFFER_FUNCTION_get();
+      SWIGTYPE_p_f_r_Dali__Vector2__bool ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_r_Dali__Vector2__bool(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static SWIGTYPE_p_f_r_Dali__Vector2__bool FULLSCREEN_FRAMEBUFFER_FUNCTION {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.RenderTask_FULLSCREEN_FRAMEBUFFER_FUNCTION_get();
+      SWIGTYPE_p_f_r_Dali__Vector2__bool ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_r_Dali__Vector2__bool(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static bool DEFAULT_EXCLUSIVE {
+    get {
+      bool ret = NDalicPINVOKE.RenderTask_DEFAULT_EXCLUSIVE_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static bool DEFAULT_INPUT_ENABLED {
+    get {
+      bool ret = NDalicPINVOKE.RenderTask_DEFAULT_INPUT_ENABLED_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector4 DEFAULT_CLEAR_COLOR {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.RenderTask_DEFAULT_CLEAR_COLOR_get();
+      Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static bool DEFAULT_CLEAR_ENABLED {
+    get {
+      bool ret = NDalicPINVOKE.RenderTask_DEFAULT_CLEAR_ENABLED_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static bool DEFAULT_CULL_MODE {
+    get {
+      bool ret = NDalicPINVOKE.RenderTask_DEFAULT_CULL_MODE_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static uint DEFAULT_REFRESH_RATE {
+    get {
+      uint ret = NDalicPINVOKE.RenderTask_DEFAULT_REFRESH_RATE_get();
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public RenderTask() : this(NDalicPINVOKE.new_RenderTask__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public new static RenderTask DownCast(BaseHandle handle) {
+    RenderTask ret = new RenderTask(NDalicPINVOKE.RenderTask_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public RenderTask(RenderTask handle) : this(NDalicPINVOKE.new_RenderTask__SWIG_1(RenderTask.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public RenderTask Assign(RenderTask rhs) {
+    RenderTask ret = new RenderTask(NDalicPINVOKE.RenderTask_Assign(swigCPtr, RenderTask.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetSourceActor(Actor actor) {
+    NDalicPINVOKE.RenderTask_SetSourceActor(swigCPtr, Actor.getCPtr(actor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Actor GetSourceActor() {
+    Actor ret = new Actor(NDalicPINVOKE.RenderTask_GetSourceActor(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetExclusive(bool exclusive) {
+    NDalicPINVOKE.RenderTask_SetExclusive(swigCPtr, exclusive);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool IsExclusive() {
+    bool ret = NDalicPINVOKE.RenderTask_IsExclusive(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetInputEnabled(bool enabled) {
+    NDalicPINVOKE.RenderTask_SetInputEnabled(swigCPtr, enabled);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool GetInputEnabled() {
+    bool ret = NDalicPINVOKE.RenderTask_GetInputEnabled(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetCameraActor(CameraActor cameraActor) {
+    NDalicPINVOKE.RenderTask_SetCameraActor(swigCPtr, CameraActor.getCPtr(cameraActor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public CameraActor GetCameraActor() {
+    CameraActor ret = new CameraActor(NDalicPINVOKE.RenderTask_GetCameraActor(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetTargetFrameBuffer(FrameBufferImage frameBuffer) {
+    NDalicPINVOKE.RenderTask_SetTargetFrameBuffer(swigCPtr, FrameBufferImage.getCPtr(frameBuffer));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public FrameBufferImage GetTargetFrameBuffer() {
+    FrameBufferImage ret = new FrameBufferImage(NDalicPINVOKE.RenderTask_GetTargetFrameBuffer(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetFrameBuffer(FrameBuffer frameBuffer) {
+    NDalicPINVOKE.RenderTask_SetFrameBuffer(swigCPtr, FrameBuffer.getCPtr(frameBuffer));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public FrameBuffer GetFrameBuffer() {
+    FrameBuffer ret = new FrameBuffer(NDalicPINVOKE.RenderTask_GetFrameBuffer(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetScreenToFrameBufferFunction(SWIGTYPE_p_f_r_Dali__Vector2__bool conversionFunction) {
+    NDalicPINVOKE.RenderTask_SetScreenToFrameBufferFunction(swigCPtr, SWIGTYPE_p_f_r_Dali__Vector2__bool.getCPtr(conversionFunction));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public SWIGTYPE_p_f_r_Dali__Vector2__bool GetScreenToFrameBufferFunction() {
+    global::System.IntPtr cPtr = NDalicPINVOKE.RenderTask_GetScreenToFrameBufferFunction(swigCPtr);
+    SWIGTYPE_p_f_r_Dali__Vector2__bool ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_r_Dali__Vector2__bool(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetScreenToFrameBufferMappingActor(Actor mappingActor) {
+    NDalicPINVOKE.RenderTask_SetScreenToFrameBufferMappingActor(swigCPtr, Actor.getCPtr(mappingActor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Actor GetScreenToFrameBufferMappingActor() {
+    Actor ret = new Actor(NDalicPINVOKE.RenderTask_GetScreenToFrameBufferMappingActor(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetViewportPosition(Vector2 position) {
+    NDalicPINVOKE.RenderTask_SetViewportPosition(swigCPtr, Vector2.getCPtr(position));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector2 GetCurrentViewportPosition() {
+    Vector2 ret = new Vector2(NDalicPINVOKE.RenderTask_GetCurrentViewportPosition(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetViewportSize(Vector2 size) {
+    NDalicPINVOKE.RenderTask_SetViewportSize(swigCPtr, Vector2.getCPtr(size));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector2 GetCurrentViewportSize() {
+    Vector2 ret = new Vector2(NDalicPINVOKE.RenderTask_GetCurrentViewportSize(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetViewport(Rectangle viewport) {
+    NDalicPINVOKE.RenderTask_SetViewport(swigCPtr, Rectangle.getCPtr(viewport));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Rectangle GetViewport() {
+    Rectangle ret = new Rectangle(NDalicPINVOKE.RenderTask_GetViewport(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetClearColor(Vector4 color) {
+    NDalicPINVOKE.RenderTask_SetClearColor(swigCPtr, Vector4.getCPtr(color));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector4 GetClearColor() {
+    Vector4 ret = new Vector4(NDalicPINVOKE.RenderTask_GetClearColor(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetClearEnabled(bool enabled) {
+    NDalicPINVOKE.RenderTask_SetClearEnabled(swigCPtr, enabled);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool GetClearEnabled() {
+    bool ret = NDalicPINVOKE.RenderTask_GetClearEnabled(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetCullMode(bool cullMode) {
+    NDalicPINVOKE.RenderTask_SetCullMode(swigCPtr, cullMode);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool GetCullMode() {
+    bool ret = NDalicPINVOKE.RenderTask_GetCullMode(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetRefreshRate(uint refreshRate) {
+    NDalicPINVOKE.RenderTask_SetRefreshRate(swigCPtr, refreshRate);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public uint GetRefreshRate() {
+    uint ret = NDalicPINVOKE.RenderTask_GetRefreshRate(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool WorldToViewport(Vector3 position, out float viewportX, out float viewportY) {
+    bool ret = NDalicPINVOKE.RenderTask_WorldToViewport(swigCPtr, Vector3.getCPtr(position), out viewportX, out viewportY);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool ViewportToLocal(Actor actor, float viewportX, float viewportY, out float localX, out float localY) {
+    bool ret = NDalicPINVOKE.RenderTask_ViewportToLocal(swigCPtr, Actor.getCPtr(actor), viewportX, viewportY, out localX, out localY);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public RenderTaskSignal FinishedSignal() {
+    RenderTaskSignal ret = new RenderTaskSignal(NDalicPINVOKE.RenderTask_FinishedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum RefreshRate {
+    REFRESH_ONCE = 0,
+    REFRESH_ALWAYS = 1
+  }
+
+  public Vector2 ViewportPosition
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( RenderTask.Property.VIEWPORT_POSITION).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( RenderTask.Property.VIEWPORT_POSITION, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector2 ViewportSize
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( RenderTask.Property.VIEWPORT_SIZE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( RenderTask.Property.VIEWPORT_SIZE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector4 ClearColor
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( RenderTask.Property.CLEAR_COLOR).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( RenderTask.Property.CLEAR_COLOR, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool RequiresSync
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( RenderTask.Property.REQUIRES_SYNC).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( RenderTask.Property.REQUIRES_SYNC, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
\ No newline at end of file
diff --git a/plugins/dali-sharp/sharp/internal/RenderTaskList.cs b/plugins/dali-sharp/sharp/internal/RenderTaskList.cs
new file mode 100644 (file)
index 0000000..9f684e4
--- /dev/null
@@ -0,0 +1,93 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class RenderTaskList : BaseHandle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal RenderTaskList(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.RenderTaskList_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RenderTaskList obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~RenderTaskList() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_RenderTaskList(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public RenderTaskList() : this(NDalicPINVOKE.new_RenderTaskList__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static RenderTaskList DownCast(BaseHandle handle) {
+    RenderTaskList ret = new RenderTaskList(NDalicPINVOKE.RenderTaskList_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public RenderTaskList(RenderTaskList handle) : this(NDalicPINVOKE.new_RenderTaskList__SWIG_1(RenderTaskList.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public RenderTaskList Assign(RenderTaskList rhs) {
+    RenderTaskList ret = new RenderTaskList(NDalicPINVOKE.RenderTaskList_Assign(swigCPtr, RenderTaskList.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public RenderTask CreateTask() {
+    RenderTask ret = new RenderTask(NDalicPINVOKE.RenderTaskList_CreateTask(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void RemoveTask(RenderTask task) {
+    NDalicPINVOKE.RenderTaskList_RemoveTask(swigCPtr, RenderTask.getCPtr(task));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public uint GetTaskCount() {
+    uint ret = NDalicPINVOKE.RenderTaskList_GetTaskCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public RenderTask GetTask(uint index) {
+    RenderTask ret = new RenderTask(NDalicPINVOKE.RenderTaskList_GetTask(swigCPtr, index), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/RenderTaskSignal.cs b/plugins/dali-sharp/sharp/internal/RenderTaskSignal.cs
new file mode 100644 (file)
index 0000000..31579f9
--- /dev/null
@@ -0,0 +1,55 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class RenderTaskSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal RenderTaskSignal(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(RenderTaskSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~RenderTaskSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_RenderTaskSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public RenderTaskSignal() : this(NDalicPINVOKE.new_RenderTaskSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Renderer.cs b/plugins/dali-sharp/sharp/internal/Renderer.cs
new file mode 100644 (file)
index 0000000..fb6aa2e
--- /dev/null
@@ -0,0 +1,498 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Renderer : Handle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal Renderer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Renderer_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Renderer obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Renderer() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_Renderer_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_Renderer_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int DEPTH_INDEX = NDalicPINVOKE.Renderer_Property_DEPTH_INDEX_get();
+    public static readonly int FACE_CULLING_MODE = NDalicPINVOKE.Renderer_Property_FACE_CULLING_MODE_get();
+    public static readonly int BLEND_MODE = NDalicPINVOKE.Renderer_Property_BLEND_MODE_get();
+    public static readonly int BLEND_EQUATION_RGB = NDalicPINVOKE.Renderer_Property_BLEND_EQUATION_RGB_get();
+    public static readonly int BLEND_EQUATION_ALPHA = NDalicPINVOKE.Renderer_Property_BLEND_EQUATION_ALPHA_get();
+    public static readonly int BLEND_FACTOR_SRC_RGB = NDalicPINVOKE.Renderer_Property_BLEND_FACTOR_SRC_RGB_get();
+    public static readonly int BLEND_FACTOR_DEST_RGB = NDalicPINVOKE.Renderer_Property_BLEND_FACTOR_DEST_RGB_get();
+    public static readonly int BLEND_FACTOR_SRC_ALPHA = NDalicPINVOKE.Renderer_Property_BLEND_FACTOR_SRC_ALPHA_get();
+    public static readonly int BLEND_FACTOR_DEST_ALPHA = NDalicPINVOKE.Renderer_Property_BLEND_FACTOR_DEST_ALPHA_get();
+    public static readonly int BLEND_COLOR = NDalicPINVOKE.Renderer_Property_BLEND_COLOR_get();
+    public static readonly int BLEND_PRE_MULTIPLIED_ALPHA = NDalicPINVOKE.Renderer_Property_BLEND_PRE_MULTIPLIED_ALPHA_get();
+    public static readonly int INDEX_RANGE_FIRST = NDalicPINVOKE.Renderer_Property_INDEX_RANGE_FIRST_get();
+    public static readonly int INDEX_RANGE_COUNT = NDalicPINVOKE.Renderer_Property_INDEX_RANGE_COUNT_get();
+    public static readonly int DEPTH_WRITE_MODE = NDalicPINVOKE.Renderer_Property_DEPTH_WRITE_MODE_get();
+    public static readonly int DEPTH_FUNCTION = NDalicPINVOKE.Renderer_Property_DEPTH_FUNCTION_get();
+    public static readonly int DEPTH_TEST_MODE = NDalicPINVOKE.Renderer_Property_DEPTH_TEST_MODE_get();
+    public static readonly int RENDER_MODE = NDalicPINVOKE.Renderer_Property_RENDER_MODE_get();
+    public static readonly int STENCIL_FUNCTION = NDalicPINVOKE.Renderer_Property_STENCIL_FUNCTION_get();
+    public static readonly int STENCIL_FUNCTION_MASK = NDalicPINVOKE.Renderer_Property_STENCIL_FUNCTION_MASK_get();
+    public static readonly int STENCIL_FUNCTION_REFERENCE = NDalicPINVOKE.Renderer_Property_STENCIL_FUNCTION_REFERENCE_get();
+    public static readonly int STENCIL_MASK = NDalicPINVOKE.Renderer_Property_STENCIL_MASK_get();
+    public static readonly int STENCIL_OPERATION_ON_FAIL = NDalicPINVOKE.Renderer_Property_STENCIL_OPERATION_ON_FAIL_get();
+    public static readonly int STENCIL_OPERATION_ON_Z_FAIL = NDalicPINVOKE.Renderer_Property_STENCIL_OPERATION_ON_Z_FAIL_get();
+    public static readonly int STENCIL_OPERATION_ON_Z_PASS = NDalicPINVOKE.Renderer_Property_STENCIL_OPERATION_ON_Z_PASS_get();
+  
+  }
+
+  public Renderer (Geometry geometry, Shader shader) : this (NDalicPINVOKE.Renderer_New(Geometry.getCPtr(geometry), Shader.getCPtr(shader)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public Renderer(Renderer handle) : this(NDalicPINVOKE.new_Renderer__SWIG_1(Renderer.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public new static Renderer DownCast(BaseHandle handle) {
+    Renderer ret = new Renderer(NDalicPINVOKE.Renderer_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Renderer Assign(Renderer handle) {
+    Renderer ret = new Renderer(NDalicPINVOKE.Renderer_Assign(swigCPtr, Renderer.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetGeometry(Geometry geometry) {
+    NDalicPINVOKE.Renderer_SetGeometry(swigCPtr, Geometry.getCPtr(geometry));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Geometry GetGeometry() {
+    Geometry ret = new Geometry(NDalicPINVOKE.Renderer_GetGeometry(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetIndexRange(int firstElement, int elementsCount) {
+    NDalicPINVOKE.Renderer_SetIndexRange(swigCPtr, firstElement, elementsCount);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetTextures(TextureSet textureSet) {
+    NDalicPINVOKE.Renderer_SetTextures(swigCPtr, TextureSet.getCPtr(textureSet));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public TextureSet GetTextures() {
+    TextureSet ret = new TextureSet(NDalicPINVOKE.Renderer_GetTextures(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetShader(Shader shader) {
+    NDalicPINVOKE.Renderer_SetShader(swigCPtr, Shader.getCPtr(shader));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Shader GetShader() {
+    Shader ret = new Shader(NDalicPINVOKE.Renderer_GetShader(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public int DepthIndex
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Renderer.Property.DEPTH_INDEX).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Renderer.Property.DEPTH_INDEX, new Dali.Property.Value( value ) );
+    }
+  }
+  public int FaceCullingMode
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Renderer.Property.FACE_CULLING_MODE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Renderer.Property.FACE_CULLING_MODE, new Dali.Property.Value( value ) );
+    }
+  }
+  public int BlendMode
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Renderer.Property.BLEND_MODE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Renderer.Property.BLEND_MODE, new Dali.Property.Value( value ) );
+    }
+  }
+  public int BlendEquationRgb
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Renderer.Property.BLEND_EQUATION_RGB).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Renderer.Property.BLEND_EQUATION_RGB, new Dali.Property.Value( value ) );
+    }
+  }
+  public int BlendEquationAlpha
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Renderer.Property.BLEND_EQUATION_ALPHA).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Renderer.Property.BLEND_EQUATION_ALPHA, new Dali.Property.Value( value ) );
+    }
+  }
+  public int BlendFactorSrcRgb
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Renderer.Property.BLEND_FACTOR_SRC_RGB).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Renderer.Property.BLEND_FACTOR_SRC_RGB, new Dali.Property.Value( value ) );
+    }
+  }
+  public int BlendFactorDestRgb
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Renderer.Property.BLEND_FACTOR_DEST_RGB).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Renderer.Property.BLEND_FACTOR_DEST_RGB, new Dali.Property.Value( value ) );
+    }
+  }
+  public int BlendFactorSrcAlpha
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Renderer.Property.BLEND_FACTOR_SRC_ALPHA).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Renderer.Property.BLEND_FACTOR_SRC_ALPHA, new Dali.Property.Value( value ) );
+    }
+  }
+  public int BlendFactorDestAlpha
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Renderer.Property.BLEND_FACTOR_DEST_ALPHA).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Renderer.Property.BLEND_FACTOR_DEST_ALPHA, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector4 BlendColor
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( Renderer.Property.BLEND_COLOR).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Renderer.Property.BLEND_COLOR, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool BlendPreMultipliedAlpha
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( Renderer.Property.BLEND_PRE_MULTIPLIED_ALPHA).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Renderer.Property.BLEND_PRE_MULTIPLIED_ALPHA, new Dali.Property.Value( value ) );
+    }
+  }
+  public int IndexRangeFirst
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Renderer.Property.INDEX_RANGE_FIRST).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Renderer.Property.INDEX_RANGE_FIRST, new Dali.Property.Value( value ) );
+    }
+  }
+  public int IndexRangeCount
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Renderer.Property.INDEX_RANGE_COUNT).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Renderer.Property.INDEX_RANGE_COUNT, new Dali.Property.Value( value ) );
+    }
+  }
+  public int DepthWriteMode
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Renderer.Property.DEPTH_WRITE_MODE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Renderer.Property.DEPTH_WRITE_MODE, new Dali.Property.Value( value ) );
+    }
+  }
+  public int DepthFunction
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Renderer.Property.DEPTH_FUNCTION).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Renderer.Property.DEPTH_FUNCTION, new Dali.Property.Value( value ) );
+    }
+  }
+  public int DepthTestMode
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Renderer.Property.DEPTH_TEST_MODE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Renderer.Property.DEPTH_TEST_MODE, new Dali.Property.Value( value ) );
+    }
+  }
+  public int RenderMode
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Renderer.Property.RENDER_MODE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Renderer.Property.RENDER_MODE, new Dali.Property.Value( value ) );
+    }
+  }
+  public int StencilFunction
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Renderer.Property.STENCIL_FUNCTION).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Renderer.Property.STENCIL_FUNCTION, new Dali.Property.Value( value ) );
+    }
+  }
+  public int StencilFunctionMask
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Renderer.Property.STENCIL_FUNCTION_MASK).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Renderer.Property.STENCIL_FUNCTION_MASK, new Dali.Property.Value( value ) );
+    }
+  }
+  public int StencilFunctionReference
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Renderer.Property.STENCIL_FUNCTION_REFERENCE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Renderer.Property.STENCIL_FUNCTION_REFERENCE, new Dali.Property.Value( value ) );
+    }
+  }
+  public int StencilMask
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Renderer.Property.STENCIL_MASK).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Renderer.Property.STENCIL_MASK, new Dali.Property.Value( value ) );
+    }
+  }
+  public int StencilOperationOnFail
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Renderer.Property.STENCIL_OPERATION_ON_FAIL).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Renderer.Property.STENCIL_OPERATION_ON_FAIL, new Dali.Property.Value( value ) );
+    }
+  }
+  public int StencilOperationOnZFail
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Renderer.Property.STENCIL_OPERATION_ON_Z_FAIL).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Renderer.Property.STENCIL_OPERATION_ON_Z_FAIL, new Dali.Property.Value( value ) );
+    }
+  }
+  public int StencilOperationOnZPass
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Renderer.Property.STENCIL_OPERATION_ON_Z_PASS).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Renderer.Property.STENCIL_OPERATION_ON_Z_PASS, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/RenderingType.cs b/plugins/dali-sharp/sharp/internal/RenderingType.cs
new file mode 100644 (file)
index 0000000..e232637
--- /dev/null
@@ -0,0 +1,18 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum RenderingType {
+  RENDERING_SHARED_ATLAS,
+  RENDERING_VECTOR_BASED
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ResizePolicyType.cs b/plugins/dali-sharp/sharp/internal/ResizePolicyType.cs
new file mode 100644 (file)
index 0000000..fd709af
--- /dev/null
@@ -0,0 +1,24 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum ResizePolicyType {
+  FIXED,
+  USE_NATURAL_SIZE,
+  FILL_TO_PARENT,
+  SIZE_RELATIVE_TO_PARENT,
+  SIZE_FIXED_OFFSET_FROM_PARENT,
+  FIT_TO_CHILDREN,
+  DIMENSION_DEPENDENCY,
+  USE_ASSIGNED_SIZE
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ResourceImage.cs b/plugins/dali-sharp/sharp/internal/ResourceImage.cs
new file mode 100644 (file)
index 0000000..4d4b7ff
--- /dev/null
@@ -0,0 +1,216 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class ResourceImage : Image {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal ResourceImage(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ResourceImage_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ResourceImage obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ResourceImage() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ResourceImage(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+public class LoadingFinishedEventArgs : EventArgs
+{
+   private ResourceImage _resourceImage;
+
+   public ResourceImage ResourceImage
+   {
+      get
+      {
+         return _resourceImage;
+      }
+      set
+      {
+         _resourceImage = value;
+      }
+   }
+}
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void LoadingFinishedEventCallbackDelegate(IntPtr ResourceImage);
+  private DaliEventHandler<object,LoadingFinishedEventArgs> _resourceImageLoadingFinishedEventHandler;
+  private LoadingFinishedEventCallbackDelegate _resourceImageLoadingFinishedEventCallbackDelegate;
+
+  public event DaliEventHandler<object,LoadingFinishedEventArgs> LoadingFinished
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_resourceImageLoadingFinishedEventHandler == null)
+           {
+              _resourceImageLoadingFinishedEventHandler += value;
+
+              _resourceImageLoadingFinishedEventCallbackDelegate = new LoadingFinishedEventCallbackDelegate(OnLoadingFinished);
+              this.LoadingFinishedSignal().Connect(_resourceImageLoadingFinishedEventCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_resourceImageLoadingFinishedEventHandler != null)
+           {
+              this.LoadingFinishedSignal().Disconnect(_resourceImageLoadingFinishedEventCallbackDelegate);
+           }
+
+           _resourceImageLoadingFinishedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for ResourceImage LoadingFinishedSignal
+  private void OnLoadingFinished(IntPtr data)
+  {
+     LoadingFinishedEventArgs e = new LoadingFinishedEventArgs();
+
+     // Populate all members of "e" (LoadingFinishedEventArgs) with real data
+     e.ResourceImage = ResourceImage.GetResourceImageFromPtr(data);
+
+     if (_resourceImageLoadingFinishedEventHandler != null)
+     {
+        //here we send all data to user event handlers
+        _resourceImageLoadingFinishedEventHandler(this, e);
+     }
+  }
+
+
+public static ResourceImage GetResourceImageFromPtr(global::System.IntPtr cPtr) {
+    ResourceImage ret = new ResourceImage(cPtr, false);
+   if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+
+  public static Uint16Pair GetImageSize(string url) {
+    Uint16Pair ret = new Uint16Pair(NDalicPINVOKE.ResourceImage_GetImageSize(url), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ResourceImage (string url, bool orientationCorrection) : this (NDalicPINVOKE.ResourceImage_New__SWIG_0(url, orientationCorrection), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public ResourceImage (string url) : this (NDalicPINVOKE.ResourceImage_New__SWIG_1(url), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public ResourceImage (string url, Uint16Pair size, FittingModeType fittingMode, SamplingModeType samplingMode, bool orientationCorrection) : this (NDalicPINVOKE.ResourceImage_New__SWIG_2(url, Uint16Pair.getCPtr(size), (int)fittingMode, (int)samplingMode, orientationCorrection), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public ResourceImage (string url, Uint16Pair size, FittingModeType fittingMode, SamplingModeType samplingMode) : this (NDalicPINVOKE.ResourceImage_New__SWIG_3(url, Uint16Pair.getCPtr(size), (int)fittingMode, (int)samplingMode), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public ResourceImage (string url, Uint16Pair size, FittingModeType fittingMode) : this (NDalicPINVOKE.ResourceImage_New__SWIG_4(url, Uint16Pair.getCPtr(size), (int)fittingMode), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public ResourceImage (string url, Uint16Pair size) : this (NDalicPINVOKE.ResourceImage_New__SWIG_5(url, Uint16Pair.getCPtr(size)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public ResourceImage(ResourceImage handle) : this(NDalicPINVOKE.new_ResourceImage__SWIG_1(ResourceImage.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ResourceImage Assign(ResourceImage rhs) {
+    ResourceImage ret = new ResourceImage(NDalicPINVOKE.ResourceImage_Assign(swigCPtr, ResourceImage.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static ResourceImage DownCast(BaseHandle handle) {
+    ResourceImage ret = new ResourceImage(NDalicPINVOKE.ResourceImage_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public LoadingState GetLoadingState() {
+    LoadingState ret = (LoadingState)NDalicPINVOKE.ResourceImage_GetLoadingState(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public string GetUrl() {
+    string ret = NDalicPINVOKE.ResourceImage_GetUrl(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Reload() {
+    NDalicPINVOKE.ResourceImage_Reload(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ResourceImageSignal LoadingFinishedSignal() {
+    ResourceImageSignal ret = new ResourceImageSignal(NDalicPINVOKE.ResourceImage_LoadingFinishedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ResourceImageSignal.cs b/plugins/dali-sharp/sharp/internal/ResourceImageSignal.cs
new file mode 100644 (file)
index 0000000..0a77205
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ResourceImageSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal ResourceImageSignal(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(ResourceImageSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ResourceImageSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ResourceImageSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.ResourceImageSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.ResourceImageSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ResourceImageSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ResourceImageSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(ResourceImage arg) {
+    NDalicPINVOKE.ResourceImageSignal_Emit(swigCPtr, ResourceImage.getCPtr(arg));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ResourceImageSignal() : this(NDalicPINVOKE.new_ResourceImageSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Rotation.cs b/plugins/dali-sharp/sharp/internal/Rotation.cs
new file mode 100644 (file)
index 0000000..ba6e83c
--- /dev/null
@@ -0,0 +1,283 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Rotation : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  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;
+  }
+
+  ~Rotation() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public static Rotation operator+(Rotation arg1, Rotation arg2) {
+    return arg1.Add(arg2);
+  }
+
+  public static Rotation operator-(Rotation arg1, Rotation arg2) {
+    return arg1.Subtract(arg2);
+  }
+
+  public static Rotation operator-(Rotation arg1) {
+    return arg1.Subtract();
+  }
+
+  public static Rotation operator*(Rotation arg1, Rotation arg2) {
+    return arg1.Multiply(arg2);
+  }
+
+  public static Vector3 operator*(Rotation arg1, Vector3 arg2) {
+    return arg1.Multiply(arg2);
+  }
+
+  public static Rotation operator*(Rotation arg1, float arg2) {
+    return arg1.Multiply(arg2);
+  }
+
+  public static Rotation operator/(Rotation arg1, Rotation arg2) {
+    return arg1.Divide(arg2);
+  }
+
+  public static Rotation operator/(Rotation arg1, float arg2) {
+    return arg1.Divide(arg2);
+  }
+
+  public Rotation() : this(NDalicPINVOKE.new_Rotation__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Rotation(Radian angle, Vector3 axis) : this(NDalicPINVOKE.new_Rotation__SWIG_1(Radian.getCPtr(angle), Vector3.getCPtr(axis)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static Rotation IDENTITY {
+    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;
+    } 
+  }
+
+  public bool IsIdentity() {
+    bool ret = NDalicPINVOKE.Rotation_IsIdentity(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  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) {
+    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;
+  }
+
+  public float Length() {
+    float ret = NDalicPINVOKE.Rotation_Length(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float LengthSquared() {
+    float ret = NDalicPINVOKE.Rotation_LengthSquared(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Normalize() {
+    NDalicPINVOKE.Rotation_Normalize(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Rotation Normalized() {
+    Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Normalized(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Conjugate() {
+    NDalicPINVOKE.Rotation_Conjugate(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Invert() {
+    NDalicPINVOKE.Rotation_Invert(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Rotation Log() {
+    Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Log(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Rotation Exp() {
+    Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Exp(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  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;
+  }
+
+  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;
+  }
+
+  public static Rotation Slerp(Rotation q1, Rotation q2, float progress) {
+    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;
+  }
+
+  public static Rotation SlerpNoInvert(Rotation q1, Rotation q2, float t) {
+    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;
+  }
+
+  public static Rotation Squad(Rotation start, Rotation end, Rotation ctrl1, Rotation ctrl2, float t) {
+    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;
+  }
+
+  public static float AngleBetween(Rotation q1, Rotation q2) {
+    float ret = NDalicPINVOKE.Rotation_AngleBetween(Rotation.getCPtr(q1), Rotation.getCPtr(q2));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Ruler.cs b/plugins/dali-sharp/sharp/internal/Ruler.cs
new file mode 100644 (file)
index 0000000..6cde751
--- /dev/null
@@ -0,0 +1,167 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Ruler : RefObject {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal Ruler(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Ruler_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Ruler obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  public override void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          throw new global::System.MethodAccessException("C++ destructor does not have public access");
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+  public virtual float Snap(float x, float bias) {
+    float ret = NDalicPINVOKE.Ruler_Snap__SWIG_0(swigCPtr, x, bias);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual float Snap(float x) {
+    float ret = NDalicPINVOKE.Ruler_Snap__SWIG_1(swigCPtr, x);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual float GetPositionFromPage(uint page, out uint volume, bool wrap) {
+    float ret = NDalicPINVOKE.Ruler_GetPositionFromPage(swigCPtr, page, out volume, wrap);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual uint GetPageFromPosition(float position, bool wrap) {
+    uint ret = NDalicPINVOKE.Ruler_GetPageFromPosition(swigCPtr, position, wrap);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual uint GetTotalPages() {
+    uint ret = NDalicPINVOKE.Ruler_GetTotalPages(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Ruler.RulerType GetType() {
+    Ruler.RulerType ret = (Ruler.RulerType)NDalicPINVOKE.Ruler_GetType(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool IsEnabled() {
+    bool ret = NDalicPINVOKE.Ruler_IsEnabled(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Enable() {
+    NDalicPINVOKE.Ruler_Enable(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Disable() {
+    NDalicPINVOKE.Ruler_Disable(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetDomain(RulerDomain domain) {
+    NDalicPINVOKE.Ruler_SetDomain(swigCPtr, RulerDomain.getCPtr(domain));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public RulerDomain GetDomain() {
+    RulerDomain ret = new RulerDomain(NDalicPINVOKE.Ruler_GetDomain(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void DisableDomain() {
+    NDalicPINVOKE.Ruler_DisableDomain(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float Clamp(float x, float length, float scale) {
+    float ret = NDalicPINVOKE.Ruler_Clamp__SWIG_0(swigCPtr, x, length, scale);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float Clamp(float x, float length) {
+    float ret = NDalicPINVOKE.Ruler_Clamp__SWIG_1(swigCPtr, x, length);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float Clamp(float x) {
+    float ret = NDalicPINVOKE.Ruler_Clamp__SWIG_2(swigCPtr, x);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float Clamp(float x, float length, float scale, SWIGTYPE_p_Dali__Toolkit__ClampState clamped) {
+    float ret = NDalicPINVOKE.Ruler_Clamp__SWIG_3(swigCPtr, x, length, scale, SWIGTYPE_p_Dali__Toolkit__ClampState.getCPtr(clamped));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float SnapAndClamp(float x, float bias, float length, float scale) {
+    float ret = NDalicPINVOKE.Ruler_SnapAndClamp__SWIG_0(swigCPtr, x, bias, length, scale);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float SnapAndClamp(float x, float bias, float length) {
+    float ret = NDalicPINVOKE.Ruler_SnapAndClamp__SWIG_1(swigCPtr, x, bias, length);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float SnapAndClamp(float x, float bias) {
+    float ret = NDalicPINVOKE.Ruler_SnapAndClamp__SWIG_2(swigCPtr, x, bias);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float SnapAndClamp(float x) {
+    float ret = NDalicPINVOKE.Ruler_SnapAndClamp__SWIG_3(swigCPtr, x);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float SnapAndClamp(float x, float bias, float length, float scale, SWIGTYPE_p_Dali__Toolkit__ClampState clamped) {
+    float ret = NDalicPINVOKE.Ruler_SnapAndClamp__SWIG_4(swigCPtr, x, bias, length, scale, SWIGTYPE_p_Dali__Toolkit__ClampState.getCPtr(clamped));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum RulerType {
+    Fixed,
+    Free
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/RulerDomain.cs b/plugins/dali-sharp/sharp/internal/RulerDomain.cs
new file mode 100644 (file)
index 0000000..74116f0
--- /dev/null
@@ -0,0 +1,119 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class RulerDomain : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal RulerDomain(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(RulerDomain obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~RulerDomain() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_RulerDomain(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+  public RulerDomain(float min, float max, bool enabled) : this(NDalicPINVOKE.new_RulerDomain__SWIG_0(min, max, enabled), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public RulerDomain(float min, float max) : this(NDalicPINVOKE.new_RulerDomain__SWIG_1(min, max), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float min {
+    set {
+      NDalicPINVOKE.RulerDomain_min_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      float ret = NDalicPINVOKE.RulerDomain_min_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public float max {
+    set {
+      NDalicPINVOKE.RulerDomain_max_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      float ret = NDalicPINVOKE.RulerDomain_max_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public bool enabled {
+    set {
+      NDalicPINVOKE.RulerDomain_enabled_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      bool ret = NDalicPINVOKE.RulerDomain_enabled_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public float Clamp(float x, float length, float scale) {
+    float ret = NDalicPINVOKE.RulerDomain_Clamp__SWIG_0(swigCPtr, x, length, scale);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float Clamp(float x, float length) {
+    float ret = NDalicPINVOKE.RulerDomain_Clamp__SWIG_1(swigCPtr, x, length);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float Clamp(float x) {
+    float ret = NDalicPINVOKE.RulerDomain_Clamp__SWIG_2(swigCPtr, x);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float Clamp(float x, float length, float scale, SWIGTYPE_p_Dali__Toolkit__ClampState clamped) {
+    float ret = NDalicPINVOKE.RulerDomain_Clamp__SWIG_3(swigCPtr, x, length, scale, SWIGTYPE_p_Dali__Toolkit__ClampState.getCPtr(clamped));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float GetSize() {
+    float ret = NDalicPINVOKE.RulerDomain_GetSize(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/RulerPtr.cs b/plugins/dali-sharp/sharp/internal/RulerPtr.cs
new file mode 100644 (file)
index 0000000..219f310
--- /dev/null
@@ -0,0 +1,250 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class RulerPtr : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal RulerPtr(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(RulerPtr obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~RulerPtr() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_RulerPtr(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public RulerPtr() : this(NDalicPINVOKE.new_RulerPtr__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public RulerPtr(Ruler p) : this(NDalicPINVOKE.new_RulerPtr__SWIG_1(Ruler.getCPtr(p)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public RulerPtr(RulerPtr rhs) : this(NDalicPINVOKE.new_RulerPtr__SWIG_2(RulerPtr.getCPtr(rhs)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Ruler Get() {
+    global::System.IntPtr cPtr = NDalicPINVOKE.RulerPtr_Get(swigCPtr);
+    Ruler ret = (cPtr == global::System.IntPtr.Zero) ? null : new Ruler(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Ruler __deref__() {
+    global::System.IntPtr cPtr = NDalicPINVOKE.RulerPtr___deref__(swigCPtr);
+    Ruler ret = (cPtr == global::System.IntPtr.Zero) ? null : new Ruler(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Ruler __ref__() {
+    Ruler ret = new Ruler(NDalicPINVOKE.RulerPtr___ref__(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public RulerPtr Assign(RulerPtr rhs) {
+    RulerPtr ret = new RulerPtr(NDalicPINVOKE.RulerPtr_Assign__SWIG_0(swigCPtr, RulerPtr.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public RulerPtr Assign(Ruler rhs) {
+    RulerPtr ret = new RulerPtr(NDalicPINVOKE.RulerPtr_Assign__SWIG_1(swigCPtr, Ruler.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Reset() {
+    NDalicPINVOKE.RulerPtr_Reset__SWIG_0(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Reset(Ruler rhs) {
+    NDalicPINVOKE.RulerPtr_Reset__SWIG_1(swigCPtr, Ruler.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Ruler Detach() {
+    global::System.IntPtr cPtr = NDalicPINVOKE.RulerPtr_Detach(swigCPtr);
+    Ruler ret = (cPtr == global::System.IntPtr.Zero) ? null : new Ruler(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float Snap(float x, float bias) {
+    float ret = NDalicPINVOKE.RulerPtr_Snap__SWIG_0(swigCPtr, x, bias);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float Snap(float x) {
+    float ret = NDalicPINVOKE.RulerPtr_Snap__SWIG_1(swigCPtr, x);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float GetPositionFromPage(uint page, out uint volume, bool wrap) {
+    float ret = NDalicPINVOKE.RulerPtr_GetPositionFromPage(swigCPtr, page, out volume, wrap);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetPageFromPosition(float position, bool wrap) {
+    uint ret = NDalicPINVOKE.RulerPtr_GetPageFromPosition(swigCPtr, position, wrap);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetTotalPages() {
+    uint ret = NDalicPINVOKE.RulerPtr_GetTotalPages(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Ruler.RulerType GetType() {
+    Ruler.RulerType ret = (Ruler.RulerType)NDalicPINVOKE.RulerPtr_GetType(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool IsEnabled() {
+    bool ret = NDalicPINVOKE.RulerPtr_IsEnabled(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Enable() {
+    NDalicPINVOKE.RulerPtr_Enable(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Disable() {
+    NDalicPINVOKE.RulerPtr_Disable(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetDomain(RulerDomain domain) {
+    NDalicPINVOKE.RulerPtr_SetDomain(swigCPtr, RulerDomain.getCPtr(domain));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public RulerDomain GetDomain() {
+    RulerDomain ret = new RulerDomain(NDalicPINVOKE.RulerPtr_GetDomain(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void DisableDomain() {
+    NDalicPINVOKE.RulerPtr_DisableDomain(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float Clamp(float x, float length, float scale) {
+    float ret = NDalicPINVOKE.RulerPtr_Clamp__SWIG_0(swigCPtr, x, length, scale);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float Clamp(float x, float length) {
+    float ret = NDalicPINVOKE.RulerPtr_Clamp__SWIG_1(swigCPtr, x, length);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float Clamp(float x) {
+    float ret = NDalicPINVOKE.RulerPtr_Clamp__SWIG_2(swigCPtr, x);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float Clamp(float x, float length, float scale, SWIGTYPE_p_Dali__Toolkit__ClampState clamped) {
+    float ret = NDalicPINVOKE.RulerPtr_Clamp__SWIG_3(swigCPtr, x, length, scale, SWIGTYPE_p_Dali__Toolkit__ClampState.getCPtr(clamped));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float SnapAndClamp(float x, float bias, float length, float scale) {
+    float ret = NDalicPINVOKE.RulerPtr_SnapAndClamp__SWIG_0(swigCPtr, x, bias, length, scale);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float SnapAndClamp(float x, float bias, float length) {
+    float ret = NDalicPINVOKE.RulerPtr_SnapAndClamp__SWIG_1(swigCPtr, x, bias, length);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float SnapAndClamp(float x, float bias) {
+    float ret = NDalicPINVOKE.RulerPtr_SnapAndClamp__SWIG_2(swigCPtr, x, bias);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float SnapAndClamp(float x) {
+    float ret = NDalicPINVOKE.RulerPtr_SnapAndClamp__SWIG_3(swigCPtr, x);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float SnapAndClamp(float x, float bias, float length, float scale, SWIGTYPE_p_Dali__Toolkit__ClampState clamped) {
+    float ret = NDalicPINVOKE.RulerPtr_SnapAndClamp__SWIG_4(swigCPtr, x, bias, length, scale, SWIGTYPE_p_Dali__Toolkit__ClampState.getCPtr(clamped));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Reference() {
+    NDalicPINVOKE.RulerPtr_Reference(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Unreference() {
+    NDalicPINVOKE.RulerPtr_Unreference(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public int ReferenceCount() {
+    int ret = NDalicPINVOKE.RulerPtr_ReferenceCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_CallbackBase.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_CallbackBase.cs
new file mode 100644 (file)
index 0000000..d0de4ed
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_CallbackBase {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_CallbackBase(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_CallbackBase() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_CallbackBase obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Configuration__ContextLoss.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Configuration__ContextLoss.cs
new file mode 100644 (file)
index 0000000..83f64f2
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_Configuration__ContextLoss {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Configuration__ContextLoss(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Configuration__ContextLoss() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Configuration__ContextLoss obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__CallbackBase.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__CallbackBase.cs
new file mode 100644 (file)
index 0000000..2f102cf
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_Dali__CallbackBase {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Dali__CallbackBase(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Dali__CallbackBase() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__CallbackBase obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Constraint.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Constraint.cs
new file mode 100644 (file)
index 0000000..7aa48de
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_Dali__Constraint {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Dali__Constraint(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Dali__Constraint() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__Constraint obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__CustomActorImpl__Extension.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__CustomActorImpl__Extension.cs
new file mode 100644 (file)
index 0000000..beed87e
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_Dali__CustomActorImpl__Extension {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Dali__CustomActorImpl__Extension(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Dali__CustomActorImpl__Extension() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__CustomActorImpl__Extension obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__FunctorDelegate.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__FunctorDelegate.cs
new file mode 100644 (file)
index 0000000..f72bab9
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_Dali__FunctorDelegate {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Dali__FunctorDelegate(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Dali__FunctorDelegate() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__FunctorDelegate obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Internal__Texture.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Internal__Texture.cs
new file mode 100644 (file)
index 0000000..20c413a
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_Dali__Internal__Texture {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Dali__Internal__Texture(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Dali__Internal__Texture() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__Internal__Texture obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Internal__TypeRegistry.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Internal__TypeRegistry.cs
new file mode 100644 (file)
index 0000000..9b01617
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_Dali__Internal__TypeRegistry {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Dali__Internal__TypeRegistry(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Dali__Internal__TypeRegistry() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__Internal__TypeRegistry obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__IntrusivePtrT_Dali__Toolkit__ItemLayout_t.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__IntrusivePtrT_Dali__Toolkit__ItemLayout_t.cs
new file mode 100644 (file)
index 0000000..4a8de77
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_Dali__IntrusivePtrT_Dali__Toolkit__ItemLayout_t {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Dali__IntrusivePtrT_Dali__Toolkit__ItemLayout_t(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Dali__IntrusivePtrT_Dali__Toolkit__ItemLayout_t() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__IntrusivePtrT_Dali__Toolkit__ItemLayout_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__RectT_unsigned_int_t.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__RectT_unsigned_int_t.cs
new file mode 100644 (file)
index 0000000..e37b56a
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_Dali__RectT_unsigned_int_t {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Dali__RectT_unsigned_int_t(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Dali__RectT_unsigned_int_t() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__RectT_unsigned_int_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__SignalT_bool_fDali__Actor_Dali__TouchEvent_const_RF_t.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__SignalT_bool_fDali__Actor_Dali__TouchEvent_const_RF_t.cs
new file mode 100644 (file)
index 0000000..2be4391
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_Dali__SignalT_bool_fDali__Actor_Dali__TouchEvent_const_RF_t {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Dali__SignalT_bool_fDali__Actor_Dali__TouchEvent_const_RF_t(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Dali__SignalT_bool_fDali__Actor_Dali__TouchEvent_const_RF_t() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__SignalT_bool_fDali__Actor_Dali__TouchEvent_const_RF_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__SignalT_bool_fDali__Toolkit__AccessibilityManager_R_Dali__TouchEvent_const_RF_t.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__SignalT_bool_fDali__Toolkit__AccessibilityManager_R_Dali__TouchEvent_const_RF_t.cs
new file mode 100644 (file)
index 0000000..b4b460a
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_Dali__SignalT_bool_fDali__Toolkit__AccessibilityManager_R_Dali__TouchEvent_const_RF_t {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Dali__SignalT_bool_fDali__Toolkit__AccessibilityManager_R_Dali__TouchEvent_const_RF_t(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Dali__SignalT_bool_fDali__Toolkit__AccessibilityManager_R_Dali__TouchEvent_const_RF_t() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__SignalT_bool_fDali__Toolkit__AccessibilityManager_R_Dali__TouchEvent_const_RF_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t.cs
new file mode 100644 (file)
index 0000000..09ae13c
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__Control_Dali__Toolkit__ControlF_t.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__Control_Dali__Toolkit__ControlF_t.cs
new file mode 100644 (file)
index 0000000..e9cae81
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__Control_Dali__Toolkit__ControlF_t {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__Control_Dali__Toolkit__ControlF_t(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__Control_Dali__Toolkit__ControlF_t() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__Control_Dali__Toolkit__ControlF_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t.cs
new file mode 100644 (file)
index 0000000..5aa4d31
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t.cs
new file mode 100644 (file)
index 0000000..89d4794
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__SignalT_void_fuint32_t_Dali__PixelDataF_t.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__SignalT_void_fuint32_t_Dali__PixelDataF_t.cs
new file mode 100644 (file)
index 0000000..546bd3e
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_Dali__SignalT_void_fuint32_t_Dali__PixelDataF_t {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Dali__SignalT_void_fuint32_t_Dali__PixelDataF_t(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Dali__SignalT_void_fuint32_t_Dali__PixelDataF_t() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__SignalT_void_fuint32_t_Dali__PixelDataF_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Toolkit__ClampState.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Toolkit__ClampState.cs
new file mode 100644 (file)
index 0000000..ec0f81f
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_Dali__Toolkit__ClampState {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Dali__Toolkit__ClampState(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Dali__Toolkit__ClampState() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__Toolkit__ClampState obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Toolkit__Internal__AsyncImageLoader.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Toolkit__Internal__AsyncImageLoader.cs
new file mode 100644 (file)
index 0000000..74fe7c3
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_Dali__Toolkit__Internal__AsyncImageLoader {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Dali__Toolkit__Internal__AsyncImageLoader(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Dali__Toolkit__Internal__AsyncImageLoader() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__Toolkit__Internal__AsyncImageLoader obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Toolkit__Internal__Control__Extension.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Toolkit__Internal__Control__Extension.cs
new file mode 100644 (file)
index 0000000..5862b96
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_Dali__Toolkit__Internal__Control__Extension {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Dali__Toolkit__Internal__Control__Extension(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Dali__Toolkit__Internal__Control__Extension() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__Toolkit__Internal__Control__Extension obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Toolkit__Internal__TransitionData.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Toolkit__Internal__TransitionData.cs
new file mode 100644 (file)
index 0000000..4cbdab7
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_Dali__Toolkit__Internal__TransitionData {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Dali__Toolkit__Internal__TransitionData(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Dali__Toolkit__Internal__TransitionData() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__Toolkit__Internal__TransitionData obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Toolkit__Internal__Visual__Base.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Toolkit__Internal__Visual__Base.cs
new file mode 100644 (file)
index 0000000..1b6f85f
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_Dali__Toolkit__Internal__Visual__Base {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Dali__Toolkit__Internal__Visual__Base(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Dali__Toolkit__Internal__Visual__Base() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__Toolkit__Internal__Visual__Base obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Toolkit__ItemFactory__Extension.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__Toolkit__ItemFactory__Extension.cs
new file mode 100644 (file)
index 0000000..7da7fff
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_Dali__Toolkit__ItemFactory__Extension {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Dali__Toolkit__ItemFactory__Extension(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Dali__Toolkit__ItemFactory__Extension() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__Toolkit__ItemFactory__Extension obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__TouchEvent.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_Dali__TouchEvent.cs
new file mode 100644 (file)
index 0000000..e82a68d
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_Dali__TouchEvent {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_Dali__TouchEvent(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_Dali__TouchEvent() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__TouchEvent obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_FunctorDelegate.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_FunctorDelegate.cs
new file mode 100644 (file)
index 0000000..c5d171e
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_FunctorDelegate {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_FunctorDelegate(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_FunctorDelegate() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_FunctorDelegate obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_KeyboardFocusManager.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_KeyboardFocusManager.cs
new file mode 100644 (file)
index 0000000..e8cb60b
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_KeyboardFocusManager {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_KeyboardFocusManager(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_KeyboardFocusManager() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_KeyboardFocusManager obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_PropertyInputContainer.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_PropertyInputContainer.cs
new file mode 100644 (file)
index 0000000..13d5ff0
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_PropertyInputContainer {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_PropertyInputContainer(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_PropertyInputContainer() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_PropertyInputContainer obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_double.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_double.cs
new file mode 100644 (file)
index 0000000..0d05593
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_double {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_double(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_double() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_double obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_float__float.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_float__float.cs
new file mode 100644 (file)
index 0000000..1bbe272
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_f_float__float {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_float__float(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_float__float() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_float__float obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_p_Dali__BaseObject_Dali__Property__Index__Dali__Property__Value.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_p_Dali__BaseObject_Dali__Property__Index__Dali__Property__Value.cs
new file mode 100644 (file)
index 0000000..d0c5705
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_f_p_Dali__BaseObject_Dali__Property__Index__Dali__Property__Value {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_Dali__BaseObject_Dali__Property__Index__Dali__Property__Value(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_Dali__BaseObject_Dali__Property__Index__Dali__Property__Value() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_Dali__BaseObject_Dali__Property__Index__Dali__Property__Value obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_p_Dali__BaseObject_int_r_q_const__Dali__Property__Value__void.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_p_Dali__BaseObject_int_r_q_const__Dali__Property__Value__void.cs
new file mode 100644 (file)
index 0000000..f356055
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_f_p_Dali__BaseObject_int_r_q_const__Dali__Property__Value__void {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_Dali__BaseObject_int_r_q_const__Dali__Property__Value__void(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_Dali__BaseObject_int_r_q_const__Dali__Property__Value__void() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_Dali__BaseObject_int_r_q_const__Dali__Property__Value__void obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_p_Dali__BaseObject_p_Dali__ConnectionTrackerInterface_r_q_const__std__string_p_Dali__FunctorDelegate__bool.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_p_Dali__BaseObject_p_Dali__ConnectionTrackerInterface_r_q_const__std__string_p_Dali__FunctorDelegate__bool.cs
new file mode 100644 (file)
index 0000000..0a06df9
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_f_p_Dali__BaseObject_p_Dali__ConnectionTrackerInterface_r_q_const__std__string_p_Dali__FunctorDelegate__bool {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_Dali__BaseObject_p_Dali__ConnectionTrackerInterface_r_q_const__std__string_p_Dali__FunctorDelegate__bool(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_Dali__BaseObject_p_Dali__ConnectionTrackerInterface_r_q_const__std__string_p_Dali__FunctorDelegate__bool() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_Dali__BaseObject_p_Dali__ConnectionTrackerInterface_r_q_const__std__string_p_Dali__FunctorDelegate__bool obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_p_Dali__BaseObject_r_q_const__std__string_r_q_const__Dali__Property__Map__bool.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_p_Dali__BaseObject_r_q_const__std__string_r_q_const__Dali__Property__Map__bool.cs
new file mode 100644 (file)
index 0000000..8e05bfb
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_f_p_Dali__BaseObject_r_q_const__std__string_r_q_const__Dali__Property__Map__bool {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_Dali__BaseObject_r_q_const__std__string_r_q_const__Dali__Property__Map__bool(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_Dali__BaseObject_r_q_const__std__string_r_q_const__Dali__Property__Map__bool() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_Dali__BaseObject_r_q_const__std__string_r_q_const__Dali__Property__Map__bool obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_p_q_const__Dali__Any__AnyContainerBase__void.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_p_q_const__Dali__Any__AnyContainerBase__void.cs
new file mode 100644 (file)
index 0000000..079a50e
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_f_p_q_const__Dali__Any__AnyContainerBase__void {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_q_const__Dali__Any__AnyContainerBase__void(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_q_const__Dali__Any__AnyContainerBase__void() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__Dali__Any__AnyContainerBase__void obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_r_Dali__Vector2__bool.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_r_Dali__Vector2__bool.cs
new file mode 100644 (file)
index 0000000..0b879fa
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_f_r_Dali__Vector2__bool {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_r_Dali__Vector2__bool(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_r_Dali__Vector2__bool() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_r_Dali__Vector2__bool obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_r_q_const__Dali__Any__AnyContainerBase__p_Dali__Any__AnyContainerBase.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_r_q_const__Dali__Any__AnyContainerBase__p_Dali__Any__AnyContainerBase.cs
new file mode 100644 (file)
index 0000000..ede2e8f
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_f_r_q_const__Dali__Any__AnyContainerBase__p_Dali__Any__AnyContainerBase {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_r_q_const__Dali__Any__AnyContainerBase__p_Dali__Any__AnyContainerBase(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_r_q_const__Dali__Any__AnyContainerBase__p_Dali__Any__AnyContainerBase() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_r_q_const__Dali__Any__AnyContainerBase__p_Dali__Any__AnyContainerBase obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_r_q_const__Dali__Vector3__float.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_f_r_q_const__Dali__Vector3__float.cs
new file mode 100644 (file)
index 0000000..3692c7b
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_f_r_q_const__Dali__Vector3__float {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_r_q_const__Dali__Vector3__float(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_r_q_const__Dali__Vector3__float() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f_r_q_const__Dali__Vector3__float obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_float.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_float.cs
new file mode 100644 (file)
index 0000000..a6663a2
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_float {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_float(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_float() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_float obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_int.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_int.cs
new file mode 100644 (file)
index 0000000..a80c225
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_int {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_int(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_int() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_int obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_std__type_info.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_std__type_info.cs
new file mode 100644 (file)
index 0000000..5abbdba
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_std__type_info {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_std__type_info(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_std__type_info() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_std__type_info obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_uint8_t.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_uint8_t.cs
new file mode 100644 (file)
index 0000000..06f3490
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_uint8_t {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_uint8_t(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_uint8_t() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_uint8_t obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_unsigned_char.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_unsigned_char.cs
new file mode 100644 (file)
index 0000000..fe18cfe
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_unsigned_char {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_unsigned_char(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_unsigned_char() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_unsigned_char obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_unsigned_int.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_unsigned_int.cs
new file mode 100644 (file)
index 0000000..64f389a
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_unsigned_int {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_unsigned_int(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_unsigned_int() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_unsigned_int obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_unsigned_short.cs b/plugins/dali-sharp/sharp/internal/SWIGTYPE_p_unsigned_short.cs
new file mode 100644 (file)
index 0000000..0f916ad
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SWIGTYPE_p_unsigned_short {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_unsigned_short(global::System.IntPtr cPtr, bool futureUse) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_unsigned_short() {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_unsigned_short obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Sampler.cs b/plugins/dali-sharp/sharp/internal/Sampler.cs
new file mode 100644 (file)
index 0000000..ad11ee2
--- /dev/null
@@ -0,0 +1,101 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Sampler : BaseHandle {
+  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;
+  }
+
+  ~Sampler() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public Sampler () : this (NDalicPINVOKE.Sampler_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public Sampler(Sampler handle) : this(NDalicPINVOKE.new_Sampler__SWIG_1(Sampler.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static Sampler DownCast(BaseHandle handle) {
+    Sampler ret = new Sampler(NDalicPINVOKE.Sampler_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Sampler Assign(Sampler handle) {
+    Sampler ret = new Sampler(NDalicPINVOKE.Sampler_Assign(swigCPtr, Sampler.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetFilterMode(FilterModeType minFilter, FilterModeType magFilter) {
+    NDalicPINVOKE.Sampler_SetFilterMode(swigCPtr, (int)minFilter, (int)magFilter);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetWrapMode(WrapModeType uWrap, WrapModeType vWrap) {
+    NDalicPINVOKE.Sampler_SetWrapMode__SWIG_0(swigCPtr, (int)uWrap, (int)vWrap);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetWrapMode(WrapModeType rWrap, WrapModeType sWrap, WrapModeType tWrap) {
+    NDalicPINVOKE.Sampler_SetWrapMode__SWIG_1(swigCPtr, (int)rWrap, (int)sWrap, (int)tWrap);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SamplingModeType.cs b/plugins/dali-sharp/sharp/internal/SamplingModeType.cs
new file mode 100644 (file)
index 0000000..5851e9e
--- /dev/null
@@ -0,0 +1,23 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum SamplingModeType {
+  BOX,
+  NEAREST,
+  LINEAR,
+  BOX_THEN_NEAREST,
+  BOX_THEN_LINEAR,
+  NO_FILTER,
+  DONT_CARE
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ScrollBar.cs b/plugins/dali-sharp/sharp/internal/ScrollBar.cs
new file mode 100644 (file)
index 0000000..28662d2
--- /dev/null
@@ -0,0 +1,498 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class ScrollBar : View {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal ScrollBar(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ScrollBar_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ScrollBar obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ScrollBar() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ScrollBar(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+
+public class PanFinishedEventArgs : EventArgs
+{
+}
+
+public class ScrollPositionIntervalReachedEventArgs : EventArgs
+{
+   private float _currentScrollPosition;
+
+   public float CurrentScrollPosition
+   {
+      get
+      {
+         return _currentScrollPosition;
+      }
+      set
+      {
+         _currentScrollPosition = value;
+      }
+   }
+}
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void PanFinishedEventCallbackDelegate();
+  private DaliEventHandler<object,PanFinishedEventArgs> _scrollBarPanFinishedEventHandler;
+  private PanFinishedEventCallbackDelegate _scrollBarPanFinishedEventCallbackDelegate;
+  
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void ScrollPositionIntervalReachedEventCallbackDelegate();
+  private DaliEventHandler<object,ScrollPositionIntervalReachedEventArgs> _scrollBarScrollPositionIntervalReachedEventHandler;
+  private ScrollPositionIntervalReachedEventCallbackDelegate _scrollBarScrollPositionIntervalReachedEventCallbackDelegate;
+
+  public event DaliEventHandler<object,PanFinishedEventArgs> PanFinished
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_scrollBarPanFinishedEventHandler == null)
+           {
+              _scrollBarPanFinishedEventHandler += value;
+
+              _scrollBarPanFinishedEventCallbackDelegate = new PanFinishedEventCallbackDelegate(OnScrollBarPanFinished);
+              this.PanFinishedSignal().Connect(_scrollBarPanFinishedEventCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_scrollBarPanFinishedEventHandler != null)
+           {
+              this.PanFinishedSignal().Disconnect(_scrollBarPanFinishedEventCallbackDelegate);
+           }
+
+           _scrollBarPanFinishedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for ScrollBar PanFinishedSignal
+  private void OnScrollBarPanFinished()
+  {
+     PanFinishedEventArgs e = new PanFinishedEventArgs();
+
+     if (_scrollBarPanFinishedEventHandler != null)
+     {
+        //here we send all data to user event handlers
+        _scrollBarPanFinishedEventHandler(this, e);
+     }
+  }
+
+
+  public event DaliEventHandler<object,ScrollPositionIntervalReachedEventArgs> ScrollPositionIntervalReached
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_scrollBarScrollPositionIntervalReachedEventHandler == null)
+           {
+              _scrollBarScrollPositionIntervalReachedEventHandler += value;
+
+              _scrollBarScrollPositionIntervalReachedEventCallbackDelegate = new ScrollPositionIntervalReachedEventCallbackDelegate(OnScrollBarScrollPositionIntervalReached);
+              this.ScrollPositionIntervalReachedSignal().Connect(_scrollBarScrollPositionIntervalReachedEventCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_scrollBarScrollPositionIntervalReachedEventHandler != null)
+           {
+              this.ScrollPositionIntervalReachedSignal().Disconnect(_scrollBarScrollPositionIntervalReachedEventCallbackDelegate);
+           }
+
+           _scrollBarScrollPositionIntervalReachedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for ScrollBar ScrollPositionIntervalReachedSignal
+  private void OnScrollBarScrollPositionIntervalReached()
+  {
+     ScrollPositionIntervalReachedEventArgs e = new ScrollPositionIntervalReachedEventArgs();
+
+     if (_scrollBarScrollPositionIntervalReachedEventHandler != null)
+     {
+        //here we send all data to user event handlers
+        _scrollBarScrollPositionIntervalReachedEventHandler(this, e);
+     }
+  }
+
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_ScrollBar_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_ScrollBar_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int SCROLL_DIRECTION = NDalicPINVOKE.ScrollBar_Property_SCROLL_DIRECTION_get();
+    public static readonly int INDICATOR_HEIGHT_POLICY = NDalicPINVOKE.ScrollBar_Property_INDICATOR_HEIGHT_POLICY_get();
+    public static readonly int INDICATOR_FIXED_HEIGHT = NDalicPINVOKE.ScrollBar_Property_INDICATOR_FIXED_HEIGHT_get();
+    public static readonly int INDICATOR_SHOW_DURATION = NDalicPINVOKE.ScrollBar_Property_INDICATOR_SHOW_DURATION_get();
+    public static readonly int INDICATOR_HIDE_DURATION = NDalicPINVOKE.ScrollBar_Property_INDICATOR_HIDE_DURATION_get();
+    public static readonly int SCROLL_POSITION_INTERVALS = NDalicPINVOKE.ScrollBar_Property_SCROLL_POSITION_INTERVALS_get();
+    public static readonly int INDICATOR_MINIMUM_HEIGHT = NDalicPINVOKE.ScrollBar_Property_INDICATOR_MINIMUM_HEIGHT_get();
+    public static readonly int INDICATOR_START_PADDING = NDalicPINVOKE.ScrollBar_Property_INDICATOR_START_PADDING_get();
+    public static readonly int INDICATOR_END_PADDING = NDalicPINVOKE.ScrollBar_Property_INDICATOR_END_PADDING_get();
+  
+  }
+
+  public ScrollBar (ScrollBar.Direction direction) : this (NDalicPINVOKE.ScrollBar_New__SWIG_0((int)direction), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public ScrollBar () : this (NDalicPINVOKE.ScrollBar_New__SWIG_1(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public ScrollBar(ScrollBar scrollBar) : this(NDalicPINVOKE.new_ScrollBar__SWIG_1(ScrollBar.getCPtr(scrollBar)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ScrollBar Assign(ScrollBar scrollBar) {
+    ScrollBar ret = new ScrollBar(NDalicPINVOKE.ScrollBar_Assign(swigCPtr, ScrollBar.getCPtr(scrollBar)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static ScrollBar DownCast(BaseHandle handle) {
+    ScrollBar ret = new ScrollBar(NDalicPINVOKE.ScrollBar_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetScrollPropertySource(Handle handle, int propertyScrollPosition, int propertyMinScrollPosition, int propertyMaxScrollPosition, int propertyScrollContentSize) {
+    NDalicPINVOKE.ScrollBar_SetScrollPropertySource(swigCPtr, Handle.getCPtr(handle), propertyScrollPosition, propertyMinScrollPosition, propertyMaxScrollPosition, propertyScrollContentSize);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetScrollIndicator(Actor indicator) {
+    NDalicPINVOKE.ScrollBar_SetScrollIndicator(swigCPtr, Actor.getCPtr(indicator));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Actor GetScrollIndicator() {
+    Actor ret = new Actor(NDalicPINVOKE.ScrollBar_GetScrollIndicator(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetScrollPositionIntervals(VectorFloat positions) {
+    NDalicPINVOKE.ScrollBar_SetScrollPositionIntervals(swigCPtr, VectorFloat.getCPtr(positions));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public VectorFloat GetScrollPositionIntervals() {
+    VectorFloat ret = new VectorFloat(NDalicPINVOKE.ScrollBar_GetScrollPositionIntervals(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetScrollDirection(ScrollBar.Direction direction) {
+    NDalicPINVOKE.ScrollBar_SetScrollDirection(swigCPtr, (int)direction);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ScrollBar.Direction GetScrollDirection() {
+    ScrollBar.Direction ret = (ScrollBar.Direction)NDalicPINVOKE.ScrollBar_GetScrollDirection(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetIndicatorHeightPolicy(ScrollBar.IndicatorHeightPolicyType policy) {
+    NDalicPINVOKE.ScrollBar_SetIndicatorHeightPolicy(swigCPtr, (int)policy);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ScrollBar.IndicatorHeightPolicyType GetIndicatorHeightPolicy() {
+    ScrollBar.IndicatorHeightPolicyType ret = (ScrollBar.IndicatorHeightPolicyType)NDalicPINVOKE.ScrollBar_GetIndicatorHeightPolicy(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetIndicatorFixedHeight(float height) {
+    NDalicPINVOKE.ScrollBar_SetIndicatorFixedHeight(swigCPtr, height);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetIndicatorFixedHeight() {
+    float ret = NDalicPINVOKE.ScrollBar_GetIndicatorFixedHeight(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetIndicatorShowDuration(float durationSeconds) {
+    NDalicPINVOKE.ScrollBar_SetIndicatorShowDuration(swigCPtr, durationSeconds);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetIndicatorShowDuration() {
+    float ret = NDalicPINVOKE.ScrollBar_GetIndicatorShowDuration(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetIndicatorHideDuration(float durationSeconds) {
+    NDalicPINVOKE.ScrollBar_SetIndicatorHideDuration(swigCPtr, durationSeconds);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetIndicatorHideDuration() {
+    float ret = NDalicPINVOKE.ScrollBar_GetIndicatorHideDuration(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void ShowIndicator() {
+    NDalicPINVOKE.ScrollBar_ShowIndicator(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void HideIndicator() {
+    NDalicPINVOKE.ScrollBar_HideIndicator(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public VoidSignal PanFinishedSignal() {
+    VoidSignal ret = new VoidSignal(NDalicPINVOKE.ScrollBar_PanFinishedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public FloatSignal ScrollPositionIntervalReachedSignal() {
+    FloatSignal ret = new FloatSignal(NDalicPINVOKE.ScrollBar_ScrollPositionIntervalReachedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum PropertyRange {
+    PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+    PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000
+  }
+
+  public enum Direction {
+    Vertical = 0,
+    Horizontal
+  }
+
+  public enum IndicatorHeightPolicyType {
+    Variable = 0,
+    Fixed
+  }
+
+  public string ScrollDirection
+  {
+    get
+    {
+      string temp;
+      GetProperty( ScrollBar.Property.SCROLL_DIRECTION).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollBar.Property.SCROLL_DIRECTION, new Dali.Property.Value( value ) );
+    }
+  }
+  public string IndicatorHeightPolicy
+  {
+    get
+    {
+      string temp;
+      GetProperty( ScrollBar.Property.INDICATOR_HEIGHT_POLICY).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollBar.Property.INDICATOR_HEIGHT_POLICY, new Dali.Property.Value( value ) );
+    }
+  }
+  public float IndicatorFixedHeight
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( ScrollBar.Property.INDICATOR_FIXED_HEIGHT).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollBar.Property.INDICATOR_FIXED_HEIGHT, new Dali.Property.Value( value ) );
+    }
+  }
+  public float IndicatorShowDuration
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( ScrollBar.Property.INDICATOR_SHOW_DURATION).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollBar.Property.INDICATOR_SHOW_DURATION, new Dali.Property.Value( value ) );
+    }
+  }
+  public float IndicatorHideDuration
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( ScrollBar.Property.INDICATOR_HIDE_DURATION).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollBar.Property.INDICATOR_HIDE_DURATION, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Array ScrollPositionIntervals
+  {
+    get
+    {
+      Dali.Property.Array temp = new Dali.Property.Array();
+      GetProperty( ScrollBar.Property.SCROLL_POSITION_INTERVALS).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollBar.Property.SCROLL_POSITION_INTERVALS, new Dali.Property.Value( value ) );
+    }
+  }
+  public float IndicatorMinimumHeight
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( ScrollBar.Property.INDICATOR_MINIMUM_HEIGHT).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollBar.Property.INDICATOR_MINIMUM_HEIGHT, new Dali.Property.Value( value ) );
+    }
+  }
+  public float IndicatorStartPadding
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( ScrollBar.Property.INDICATOR_START_PADDING).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollBar.Property.INDICATOR_START_PADDING, new Dali.Property.Value( value ) );
+    }
+  }
+  public float IndicatorEndPadding
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( ScrollBar.Property.INDICATOR_END_PADDING).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollBar.Property.INDICATOR_END_PADDING, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ScrollView.cs b/plugins/dali-sharp/sharp/internal/ScrollView.cs
new file mode 100644 (file)
index 0000000..527f351
--- /dev/null
@@ -0,0 +1,926 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class ScrollView : Scrollable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal ScrollView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ScrollView_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ScrollView obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ScrollView() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ScrollView(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+/**
+  * @brief Event arguments that passed via SnapStarted signal
+  *
+  */
+public class SnapStartedEventArgs : EventArgs
+{
+   private Dali.ScrollView.SnapEvent _snapEvent;
+
+   /**
+     * @brief SnapEvent - is the SnapEvent information like snap or flick (it tells the target position, scale, rotation for the snap or flick).
+     *
+     */
+   public Dali.ScrollView.SnapEvent SnapEventInfo
+   {
+      get
+      {
+         return _snapEvent;
+      }
+      set
+      {
+         _snapEvent = value;
+      }
+   }
+}
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void SnapStartedCallbackDelegate(IntPtr data);
+  private DaliEventHandler<object,SnapStartedEventArgs> _scrollViewSnapStartedEventHandler;
+  private SnapStartedCallbackDelegate _scrollViewSnapStartedCallbackDelegate;
+
+  /**
+    * @brief Event for SnapStarted signal which can be used to subscribe/unsubscribe the event handler
+    * (in the type of SnapStartedEventHandler-DaliEventHandler<object,SnapStartedEventArgs>) provided by the user.
+    * SnapStarted signal is emitted hen the ScrollView has started to snap or flick (it tells the target
+    * position, scale, rotation for the snap or flick).
+    *
+    */
+ public event DaliEventHandler<object,SnapStartedEventArgs> SnapStarted
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_scrollViewSnapStartedEventHandler == null)
+           {
+              _scrollViewSnapStartedEventHandler += value;
+
+              _scrollViewSnapStartedCallbackDelegate = new SnapStartedCallbackDelegate(OnSnapStarted);
+              this.SnapStartedSignal().Connect(_scrollViewSnapStartedCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_scrollViewSnapStartedEventHandler != null)
+           {
+              this.SnapStartedSignal().Disconnect(_scrollViewSnapStartedCallbackDelegate);
+           }
+
+           _scrollViewSnapStartedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for ScrollView SnapStarted signal
+  private void OnSnapStarted(IntPtr data)
+  {
+     SnapStartedEventArgs e = new SnapStartedEventArgs();
+
+     // Populate all members of "e" (SnapStartedEventArgs) with real data
+     e.SnapEventInfo = SnapEvent.GetSnapEventFromPtr( data );
+
+     if (_scrollViewSnapStartedEventHandler != null)
+     {
+        //here we send all data to user event handlers
+        _scrollViewSnapStartedEventHandler(this, e);
+     }
+  }
+
+
+  public class ClampEvent : global::System.IDisposable {
+    private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+    protected bool swigCMemOwn;
+  
+    internal ClampEvent(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(ClampEvent obj) {
+      return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+    }
+  
+    ~ClampEvent() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_ScrollView_ClampEvent(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public ClampState2D scale {
+      set {
+        NDalicPINVOKE.ScrollView_ClampEvent_scale_set(swigCPtr, ClampState2D.getCPtr(value));
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      } 
+      get {
+        global::System.IntPtr cPtr = NDalicPINVOKE.ScrollView_ClampEvent_scale_get(swigCPtr);
+        ClampState2D ret = (cPtr == global::System.IntPtr.Zero) ? null : new ClampState2D(cPtr, false);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      } 
+    }
+  
+    public ClampState2D position {
+      set {
+        NDalicPINVOKE.ScrollView_ClampEvent_position_set(swigCPtr, ClampState2D.getCPtr(value));
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      } 
+      get {
+        global::System.IntPtr cPtr = NDalicPINVOKE.ScrollView_ClampEvent_position_get(swigCPtr);
+        ClampState2D ret = (cPtr == global::System.IntPtr.Zero) ? null : new ClampState2D(cPtr, false);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      } 
+    }
+  
+    public ClampState rotation {
+      set {
+        NDalicPINVOKE.ScrollView_ClampEvent_rotation_set(swigCPtr, (int)value);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      } 
+      get {
+        ClampState ret = (ClampState)NDalicPINVOKE.ScrollView_ClampEvent_rotation_get(swigCPtr);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      } 
+    }
+  
+    public ClampEvent() : this(NDalicPINVOKE.new_ScrollView_ClampEvent(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+  }
+
+  public class SnapEvent : global::System.IDisposable {
+    private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+    protected bool swigCMemOwn;
+  
+    internal SnapEvent(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(SnapEvent obj) {
+      return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+    }
+  
+    ~SnapEvent() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_ScrollView_SnapEvent(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+   public static SnapEvent GetSnapEventFromPtr(global::System.IntPtr cPtr) {
+      SnapEvent ret = new SnapEvent(cPtr, false);
+       if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  
+    public SnapType type {
+      set {
+        NDalicPINVOKE.ScrollView_SnapEvent_type_set(swigCPtr, (int)value);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      } 
+      get {
+        SnapType ret = (SnapType)NDalicPINVOKE.ScrollView_SnapEvent_type_get(swigCPtr);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      } 
+    }
+  
+    public Vector2 position {
+      set {
+        NDalicPINVOKE.ScrollView_SnapEvent_position_set(swigCPtr, Vector2.getCPtr(value));
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      } 
+      get {
+        global::System.IntPtr cPtr = NDalicPINVOKE.ScrollView_SnapEvent_position_get(swigCPtr);
+        Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      } 
+    }
+  
+    public float duration {
+      set {
+        NDalicPINVOKE.ScrollView_SnapEvent_duration_set(swigCPtr, value);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      } 
+      get {
+        float ret = NDalicPINVOKE.ScrollView_SnapEvent_duration_get(swigCPtr);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      } 
+    }
+  
+    public SnapEvent() : this(NDalicPINVOKE.new_ScrollView_SnapEvent(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+  }
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_ScrollView_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_ScrollView_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int WRAP_ENABLED = NDalicPINVOKE.ScrollView_Property_WRAP_ENABLED_get();
+    public static readonly int PANNING_ENABLED = NDalicPINVOKE.ScrollView_Property_PANNING_ENABLED_get();
+    public static readonly int AXIS_AUTO_LOCK_ENABLED = NDalicPINVOKE.ScrollView_Property_AXIS_AUTO_LOCK_ENABLED_get();
+    public static readonly int WHEEL_SCROLL_DISTANCE_STEP = NDalicPINVOKE.ScrollView_Property_WHEEL_SCROLL_DISTANCE_STEP_get();
+    public static readonly int SCROLL_POSITION = NDalicPINVOKE.ScrollView_Property_SCROLL_POSITION_get();
+    public static readonly int SCROLL_PRE_POSITION = NDalicPINVOKE.ScrollView_Property_SCROLL_PRE_POSITION_get();
+    public static readonly int SCROLL_PRE_POSITION_X = NDalicPINVOKE.ScrollView_Property_SCROLL_PRE_POSITION_X_get();
+    public static readonly int SCROLL_PRE_POSITION_Y = NDalicPINVOKE.ScrollView_Property_SCROLL_PRE_POSITION_Y_get();
+    public static readonly int SCROLL_PRE_POSITION_MAX = NDalicPINVOKE.ScrollView_Property_SCROLL_PRE_POSITION_MAX_get();
+    public static readonly int SCROLL_PRE_POSITION_MAX_X = NDalicPINVOKE.ScrollView_Property_SCROLL_PRE_POSITION_MAX_X_get();
+    public static readonly int SCROLL_PRE_POSITION_MAX_Y = NDalicPINVOKE.ScrollView_Property_SCROLL_PRE_POSITION_MAX_Y_get();
+    public static readonly int OVERSHOOT_X = NDalicPINVOKE.ScrollView_Property_OVERSHOOT_X_get();
+    public static readonly int OVERSHOOT_Y = NDalicPINVOKE.ScrollView_Property_OVERSHOOT_Y_get();
+    public static readonly int SCROLL_FINAL = NDalicPINVOKE.ScrollView_Property_SCROLL_FINAL_get();
+    public static readonly int SCROLL_FINAL_X = NDalicPINVOKE.ScrollView_Property_SCROLL_FINAL_X_get();
+    public static readonly int SCROLL_FINAL_Y = NDalicPINVOKE.ScrollView_Property_SCROLL_FINAL_Y_get();
+    public static readonly int WRAP = NDalicPINVOKE.ScrollView_Property_WRAP_get();
+    public static readonly int PANNING = NDalicPINVOKE.ScrollView_Property_PANNING_get();
+    public static readonly int SCROLLING = NDalicPINVOKE.ScrollView_Property_SCROLLING_get();
+    public static readonly int SCROLL_DOMAIN_SIZE = NDalicPINVOKE.ScrollView_Property_SCROLL_DOMAIN_SIZE_get();
+    public static readonly int SCROLL_DOMAIN_SIZE_X = NDalicPINVOKE.ScrollView_Property_SCROLL_DOMAIN_SIZE_X_get();
+    public static readonly int SCROLL_DOMAIN_SIZE_Y = NDalicPINVOKE.ScrollView_Property_SCROLL_DOMAIN_SIZE_Y_get();
+    public static readonly int SCROLL_DOMAIN_OFFSET = NDalicPINVOKE.ScrollView_Property_SCROLL_DOMAIN_OFFSET_get();
+    public static readonly int SCROLL_POSITION_DELTA = NDalicPINVOKE.ScrollView_Property_SCROLL_POSITION_DELTA_get();
+    public static readonly int START_PAGE_POSITION = NDalicPINVOKE.ScrollView_Property_START_PAGE_POSITION_get();
+  
+  }
+
+  public ScrollView () : this (NDalicPINVOKE.ScrollView_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public ScrollView(ScrollView handle) : this(NDalicPINVOKE.new_ScrollView__SWIG_1(ScrollView.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ScrollView Assign(ScrollView handle) {
+    ScrollView ret = new ScrollView(NDalicPINVOKE.ScrollView_Assign(swigCPtr, ScrollView.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static ScrollView DownCast(BaseHandle handle) {
+    ScrollView ret = new ScrollView(NDalicPINVOKE.ScrollView_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public AlphaFunction GetScrollSnapAlphaFunction() {
+    AlphaFunction ret = new AlphaFunction(NDalicPINVOKE.ScrollView_GetScrollSnapAlphaFunction(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetScrollSnapAlphaFunction(AlphaFunction alpha) {
+    NDalicPINVOKE.ScrollView_SetScrollSnapAlphaFunction(swigCPtr, AlphaFunction.getCPtr(alpha));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public AlphaFunction GetScrollFlickAlphaFunction() {
+    AlphaFunction ret = new AlphaFunction(NDalicPINVOKE.ScrollView_GetScrollFlickAlphaFunction(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetScrollFlickAlphaFunction(AlphaFunction alpha) {
+    NDalicPINVOKE.ScrollView_SetScrollFlickAlphaFunction(swigCPtr, AlphaFunction.getCPtr(alpha));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetScrollSnapDuration() {
+    float ret = NDalicPINVOKE.ScrollView_GetScrollSnapDuration(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetScrollSnapDuration(float time) {
+    NDalicPINVOKE.ScrollView_SetScrollSnapDuration(swigCPtr, time);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetScrollFlickDuration() {
+    float ret = NDalicPINVOKE.ScrollView_GetScrollFlickDuration(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetScrollFlickDuration(float time) {
+    NDalicPINVOKE.ScrollView_SetScrollFlickDuration(swigCPtr, time);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetRulerX(RulerPtr ruler) {
+    NDalicPINVOKE.ScrollView_SetRulerX(swigCPtr, RulerPtr.getCPtr(ruler));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetRulerY(RulerPtr ruler) {
+    NDalicPINVOKE.ScrollView_SetRulerY(swigCPtr, RulerPtr.getCPtr(ruler));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetScrollSensitive(bool sensitive) {
+    NDalicPINVOKE.ScrollView_SetScrollSensitive(swigCPtr, sensitive);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetMaxOvershoot(float overshootX, float overshootY) {
+    NDalicPINVOKE.ScrollView_SetMaxOvershoot(swigCPtr, overshootX, overshootY);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetSnapOvershootAlphaFunction(AlphaFunction alpha) {
+    NDalicPINVOKE.ScrollView_SetSnapOvershootAlphaFunction(swigCPtr, AlphaFunction.getCPtr(alpha));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetSnapOvershootDuration(float duration) {
+    NDalicPINVOKE.ScrollView_SetSnapOvershootDuration(swigCPtr, duration);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetActorAutoSnap(bool enable) {
+    NDalicPINVOKE.ScrollView_SetActorAutoSnap(swigCPtr, enable);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetWrapMode(bool enable) {
+    NDalicPINVOKE.ScrollView_SetWrapMode(swigCPtr, enable);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public int GetScrollUpdateDistance() {
+    int ret = NDalicPINVOKE.ScrollView_GetScrollUpdateDistance(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetScrollUpdateDistance(int distance) {
+    NDalicPINVOKE.ScrollView_SetScrollUpdateDistance(swigCPtr, distance);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool GetAxisAutoLock() {
+    bool ret = NDalicPINVOKE.ScrollView_GetAxisAutoLock(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetAxisAutoLock(bool enable) {
+    NDalicPINVOKE.ScrollView_SetAxisAutoLock(swigCPtr, enable);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetAxisAutoLockGradient() {
+    float ret = NDalicPINVOKE.ScrollView_GetAxisAutoLockGradient(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetAxisAutoLockGradient(float gradient) {
+    NDalicPINVOKE.ScrollView_SetAxisAutoLockGradient(swigCPtr, gradient);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetFrictionCoefficient() {
+    float ret = NDalicPINVOKE.ScrollView_GetFrictionCoefficient(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetFrictionCoefficient(float friction) {
+    NDalicPINVOKE.ScrollView_SetFrictionCoefficient(swigCPtr, friction);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetFlickSpeedCoefficient() {
+    float ret = NDalicPINVOKE.ScrollView_GetFlickSpeedCoefficient(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetFlickSpeedCoefficient(float speed) {
+    NDalicPINVOKE.ScrollView_SetFlickSpeedCoefficient(swigCPtr, speed);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector2 GetMinimumDistanceForFlick() {
+    Vector2 ret = new Vector2(NDalicPINVOKE.ScrollView_GetMinimumDistanceForFlick(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetMinimumDistanceForFlick(Vector2 distance) {
+    NDalicPINVOKE.ScrollView_SetMinimumDistanceForFlick(swigCPtr, Vector2.getCPtr(distance));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetMinimumSpeedForFlick() {
+    float ret = NDalicPINVOKE.ScrollView_GetMinimumSpeedForFlick(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetMinimumSpeedForFlick(float speed) {
+    NDalicPINVOKE.ScrollView_SetMinimumSpeedForFlick(swigCPtr, speed);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetMaxFlickSpeed() {
+    float ret = NDalicPINVOKE.ScrollView_GetMaxFlickSpeed(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetMaxFlickSpeed(float speed) {
+    NDalicPINVOKE.ScrollView_SetMaxFlickSpeed(swigCPtr, speed);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector2 GetWheelScrollDistanceStep() {
+    Vector2 ret = new Vector2(NDalicPINVOKE.ScrollView_GetWheelScrollDistanceStep(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetWheelScrollDistanceStep(Vector2 step) {
+    NDalicPINVOKE.ScrollView_SetWheelScrollDistanceStep(swigCPtr, Vector2.getCPtr(step));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector2 GetCurrentScrollPosition() {
+    Vector2 ret = new Vector2(NDalicPINVOKE.ScrollView_GetCurrentScrollPosition(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetCurrentPage() {
+    uint ret = NDalicPINVOKE.ScrollView_GetCurrentPage(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void ScrollTo(Vector2 position) {
+    NDalicPINVOKE.ScrollView_ScrollTo__SWIG_0(swigCPtr, Vector2.getCPtr(position));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void ScrollTo(Vector2 position, float duration) {
+    NDalicPINVOKE.ScrollView_ScrollTo__SWIG_1(swigCPtr, Vector2.getCPtr(position), duration);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void ScrollTo(Vector2 position, float duration, AlphaFunction alpha) {
+    NDalicPINVOKE.ScrollView_ScrollTo__SWIG_2(swigCPtr, Vector2.getCPtr(position), duration, AlphaFunction.getCPtr(alpha));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void ScrollTo(Vector2 position, float duration, DirectionBias horizontalBias, DirectionBias verticalBias) {
+    NDalicPINVOKE.ScrollView_ScrollTo__SWIG_3(swigCPtr, Vector2.getCPtr(position), duration, (int)horizontalBias, (int)verticalBias);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void ScrollTo(Vector2 position, float duration, AlphaFunction alpha, DirectionBias horizontalBias, DirectionBias verticalBias) {
+    NDalicPINVOKE.ScrollView_ScrollTo__SWIG_4(swigCPtr, Vector2.getCPtr(position), duration, AlphaFunction.getCPtr(alpha), (int)horizontalBias, (int)verticalBias);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void ScrollTo(uint page) {
+    NDalicPINVOKE.ScrollView_ScrollTo__SWIG_5(swigCPtr, page);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void ScrollTo(uint page, float duration) {
+    NDalicPINVOKE.ScrollView_ScrollTo__SWIG_6(swigCPtr, page, duration);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void ScrollTo(uint page, float duration, DirectionBias bias) {
+    NDalicPINVOKE.ScrollView_ScrollTo__SWIG_7(swigCPtr, page, duration, (int)bias);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void ScrollTo(Actor actor) {
+    NDalicPINVOKE.ScrollView_ScrollTo__SWIG_8(swigCPtr, Actor.getCPtr(actor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void ScrollTo(Actor actor, float duration) {
+    NDalicPINVOKE.ScrollView_ScrollTo__SWIG_9(swigCPtr, Actor.getCPtr(actor), duration);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool ScrollToSnapPoint() {
+    bool ret = NDalicPINVOKE.ScrollView_ScrollToSnapPoint(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void ApplyConstraintToChildren(SWIGTYPE_p_Dali__Constraint constraint) {
+    NDalicPINVOKE.ScrollView_ApplyConstraintToChildren(swigCPtr, SWIGTYPE_p_Dali__Constraint.getCPtr(constraint));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RemoveConstraintsFromChildren() {
+    NDalicPINVOKE.ScrollView_RemoveConstraintsFromChildren(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void ApplyEffect(ScrollViewEffect effect) {
+    NDalicPINVOKE.ScrollView_ApplyEffect(swigCPtr, ScrollViewEffect.getCPtr(effect));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RemoveEffect(ScrollViewEffect effect) {
+    NDalicPINVOKE.ScrollView_RemoveEffect(swigCPtr, ScrollViewEffect.getCPtr(effect));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RemoveAllEffects() {
+    NDalicPINVOKE.ScrollView_RemoveAllEffects(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void BindActor(Actor child) {
+    NDalicPINVOKE.ScrollView_BindActor(swigCPtr, Actor.getCPtr(child));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void UnbindActor(Actor child) {
+    NDalicPINVOKE.ScrollView_UnbindActor(swigCPtr, Actor.getCPtr(child));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetScrollingDirection(Radian direction, Radian threshold) {
+    NDalicPINVOKE.ScrollView_SetScrollingDirection__SWIG_0(swigCPtr, Radian.getCPtr(direction), Radian.getCPtr(threshold));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetScrollingDirection(Radian direction) {
+    NDalicPINVOKE.ScrollView_SetScrollingDirection__SWIG_1(swigCPtr, Radian.getCPtr(direction));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RemoveScrollingDirection(Radian direction) {
+    NDalicPINVOKE.ScrollView_RemoveScrollingDirection(swigCPtr, Radian.getCPtr(direction));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ScrollViewSnapStartedSignal SnapStartedSignal() {
+    ScrollViewSnapStartedSignal ret = new ScrollViewSnapStartedSignal(NDalicPINVOKE.ScrollView_SnapStartedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum PropertyRange {
+    PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+    PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000,
+    ANIMATABLE_PROPERTY_START_INDEX = PropertyRanges.ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX,
+    ANIMATABLE_PROPERTY_END_INDEX = PropertyRanges.ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX+1000
+  }
+
+  public bool WrapEnabled
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( ScrollView.Property.WRAP_ENABLED).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollView.Property.WRAP_ENABLED, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool PanningEnabled
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( ScrollView.Property.PANNING_ENABLED).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollView.Property.PANNING_ENABLED, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool AxisAutoLockEnabled
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( ScrollView.Property.AXIS_AUTO_LOCK_ENABLED).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollView.Property.AXIS_AUTO_LOCK_ENABLED, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector2 WheelScrollDistanceStep
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( ScrollView.Property.WHEEL_SCROLL_DISTANCE_STEP).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollView.Property.WHEEL_SCROLL_DISTANCE_STEP, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector2 ScrollPosition
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( ScrollView.Property.SCROLL_POSITION).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollView.Property.SCROLL_POSITION, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector2 ScrollPrePosition
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( ScrollView.Property.SCROLL_PRE_POSITION).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollView.Property.SCROLL_PRE_POSITION, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector2 ScrollPrePositionMax
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( ScrollView.Property.SCROLL_PRE_POSITION_MAX).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollView.Property.SCROLL_PRE_POSITION_MAX, new Dali.Property.Value( value ) );
+    }
+  }
+  public float OvershootX
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( ScrollView.Property.OVERSHOOT_X).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollView.Property.OVERSHOOT_X, new Dali.Property.Value( value ) );
+    }
+  }
+  public float OvershootY
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( ScrollView.Property.OVERSHOOT_Y).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollView.Property.OVERSHOOT_Y, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector2 ScrollFinal
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( ScrollView.Property.SCROLL_FINAL).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollView.Property.SCROLL_FINAL, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool Wrap
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( ScrollView.Property.WRAP).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollView.Property.WRAP, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool Panning
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( ScrollView.Property.PANNING).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollView.Property.PANNING, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool Scrolling
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( ScrollView.Property.SCROLLING).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollView.Property.SCROLLING, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector2 ScrollDomainSize
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( ScrollView.Property.SCROLL_DOMAIN_SIZE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollView.Property.SCROLL_DOMAIN_SIZE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector2 ScrollDomainOffset
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( ScrollView.Property.SCROLL_DOMAIN_OFFSET).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollView.Property.SCROLL_DOMAIN_OFFSET, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector2 ScrollPositionDelta
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( ScrollView.Property.SCROLL_POSITION_DELTA).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollView.Property.SCROLL_POSITION_DELTA, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector3 StartPagePosition
+  {
+    get
+    {
+      Vector3 temp = new Vector3(0.0f,0.0f,0.0f);
+      GetProperty( ScrollView.Property.START_PAGE_POSITION).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ScrollView.Property.START_PAGE_POSITION, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ScrollViewEffect.cs b/plugins/dali-sharp/sharp/internal/ScrollViewEffect.cs
new file mode 100644 (file)
index 0000000..1793e9a
--- /dev/null
@@ -0,0 +1,54 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ScrollViewEffect : BaseHandle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal ScrollViewEffect(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ScrollViewEffect_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ScrollViewEffect obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ScrollViewEffect() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ScrollViewEffect(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public ScrollViewEffect() : this(NDalicPINVOKE.new_ScrollViewEffect(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ScrollViewPagePathEffect.cs b/plugins/dali-sharp/sharp/internal/ScrollViewPagePathEffect.cs
new file mode 100644 (file)
index 0000000..1e98833
--- /dev/null
@@ -0,0 +1,81 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ScrollViewPagePathEffect : ScrollViewEffect {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal ScrollViewPagePathEffect(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ScrollViewPagePathEffect_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ScrollViewPagePathEffect obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ScrollViewPagePathEffect() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ScrollViewPagePathEffect(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public ScrollViewPagePathEffect (Path path, Vector3 forward, int inputPropertyIndex, Vector3 pageSize, uint pageCount) : this (NDalicPINVOKE.ScrollViewPagePathEffect_New(Path.getCPtr(path), Vector3.getCPtr(forward), inputPropertyIndex, Vector3.getCPtr(pageSize), pageCount), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public static ScrollViewPagePathEffect DownCast(BaseHandle handle) {
+    ScrollViewPagePathEffect ret = new ScrollViewPagePathEffect(NDalicPINVOKE.ScrollViewPagePathEffect_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void ApplyToPage(Actor page, uint pageOrder) {
+    NDalicPINVOKE.ScrollViewPagePathEffect_ApplyToPage(swigCPtr, Actor.getCPtr(page), pageOrder);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ScrollViewSnapStartedSignal.cs b/plugins/dali-sharp/sharp/internal/ScrollViewSnapStartedSignal.cs
new file mode 100644 (file)
index 0000000..ef95015
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ScrollViewSnapStartedSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal ScrollViewSnapStartedSignal(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(ScrollViewSnapStartedSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ScrollViewSnapStartedSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ScrollViewSnapStartedSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.ScrollViewSnapStartedSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.ScrollViewSnapStartedSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ScrollViewSnapStartedSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ScrollViewSnapStartedSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(ScrollView.SnapEvent arg) {
+    NDalicPINVOKE.ScrollViewSnapStartedSignal_Emit(swigCPtr, ScrollView.SnapEvent.getCPtr(arg));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ScrollViewSnapStartedSignal() : this(NDalicPINVOKE.new_ScrollViewSnapStartedSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Scrollable.cs b/plugins/dali-sharp/sharp/internal/Scrollable.cs
new file mode 100644 (file)
index 0000000..6c533dc
--- /dev/null
@@ -0,0 +1,520 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class Scrollable : View {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal Scrollable(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Scrollable_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Scrollable obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Scrollable() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_Scrollable(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+public class StartedEventArgs : EventArgs
+{
+   private Vector2 _vector2;
+
+   public Vector2 Vector2
+   {
+      get
+      {
+         return _vector2;
+      }
+      set
+      {
+         _vector2 = value;
+      }
+   }
+}
+
+public class UpdatedEventArgs : EventArgs
+{
+   private Vector2 _vector2;
+
+   public Vector2 Vector2
+   {
+      get
+      {
+         return _vector2;
+      }
+      set
+      {
+         _vector2 = value;
+      }
+   }
+}
+
+public class CompletedEventArgs : EventArgs
+{
+   private Vector2 _vector2;
+
+   public Vector2 Vector2
+   {
+      get
+      {
+         return _vector2;
+      }
+      set
+      {
+         _vector2 = value;
+      }
+   }
+}
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void StartedCallbackDelegate(IntPtr vector2);
+  private DaliEventHandler<object,StartedEventArgs> _scrollableStartedEventHandler;
+  private StartedCallbackDelegate _scrollableStartedCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void UpdatedCallbackDelegate(IntPtr vector2);
+  private DaliEventHandler<object,UpdatedEventArgs> _scrollableUpdatedEventHandler;
+  private UpdatedCallbackDelegate _scrollableUpdatedCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void CompletedCallbackDelegate(IntPtr vector2);
+  private DaliEventHandler<object,CompletedEventArgs> _scrollableCompletedEventHandler;
+  private CompletedCallbackDelegate _scrollableCompletedCallbackDelegate;
+
+  public event DaliEventHandler<object,StartedEventArgs> ScrollStarted
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_scrollableStartedEventHandler == null)
+           {
+              _scrollableStartedEventHandler += value;
+
+              _scrollableStartedCallbackDelegate = new StartedCallbackDelegate(OnStarted);
+              this.ScrollStartedSignal().Connect(_scrollableStartedCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_scrollableStartedEventHandler != null)
+           {
+              this.ScrollStartedSignal().Disconnect(_scrollableStartedCallbackDelegate);
+           }
+
+           _scrollableStartedEventHandler -= value;
+        }
+     }
+  }
+
+ private void OnStarted(IntPtr vector2)
+  {
+   StartedEventArgs e = new StartedEventArgs();
+
+   // Populate all members of "e" (StartedEventArgs) with real data
+   e.Vector2 = Dali.Vector2.GetVector2FromPtr(vector2);
+
+   if (_scrollableStartedEventHandler != null)
+   {
+      //here we send all data to user event handlers
+      _scrollableStartedEventHandler(this, e);
+   }
+
+  }
+
+  public event DaliEventHandler<object,UpdatedEventArgs> ScrollUpdated
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_scrollableUpdatedEventHandler == null)
+           {
+              _scrollableUpdatedEventHandler += value;
+
+              _scrollableUpdatedCallbackDelegate = new UpdatedCallbackDelegate(OnUpdated);
+              this.ScrollUpdatedSignal().Connect(_scrollableUpdatedCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_scrollableUpdatedEventHandler != null)
+           {
+              this.ScrollUpdatedSignal().Disconnect(_scrollableUpdatedCallbackDelegate);
+           }
+
+           _scrollableUpdatedEventHandler -= value;
+        }
+     }
+  }
+
+ private void OnUpdated(IntPtr vector2)
+  {
+   UpdatedEventArgs e = new UpdatedEventArgs();
+
+   // Populate all members of "e" (UpdatedEventArgs) with real data
+   e.Vector2 = Dali.Vector2.GetVector2FromPtr(vector2);
+
+   if (_scrollableUpdatedEventHandler != null)
+   {
+      //here we send all data to user event handlers
+      _scrollableUpdatedEventHandler(this, e);
+   }
+
+  }
+
+  public event DaliEventHandler<object,CompletedEventArgs> ScrollCompleted
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_scrollableCompletedEventHandler == null)
+           {
+              _scrollableCompletedEventHandler += value;
+
+              _scrollableCompletedCallbackDelegate = new CompletedCallbackDelegate(OnCompleted);
+              this.ScrollCompletedSignal().Connect(_scrollableCompletedCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_scrollableCompletedEventHandler != null)
+           {
+              this.ScrollCompletedSignal().Disconnect(_scrollableCompletedCallbackDelegate);
+           }
+
+           _scrollableCompletedEventHandler -= value;
+        }
+     }
+  }
+
+ private void OnCompleted(IntPtr vector2)
+  {
+   CompletedEventArgs e = new CompletedEventArgs();
+
+   // Populate all members of "e" (CompletedEventArgs) with real data
+   e.Vector2 = Dali.Vector2.GetVector2FromPtr(vector2);
+
+   if (_scrollableCompletedEventHandler != null)
+   {
+      //here we send all data to user event handlers
+      _scrollableCompletedEventHandler(this, e);
+   }
+
+  }
+
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_Scrollable_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_Scrollable_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int OVERSHOOT_EFFECT_COLOR = NDalicPINVOKE.Scrollable_Property_OVERSHOOT_EFFECT_COLOR_get();
+    public static readonly int OVERSHOOT_ANIMATION_SPEED = NDalicPINVOKE.Scrollable_Property_OVERSHOOT_ANIMATION_SPEED_get();
+    public static readonly int OVERSHOOT_ENABLED = NDalicPINVOKE.Scrollable_Property_OVERSHOOT_ENABLED_get();
+    public static readonly int OVERSHOOT_SIZE = NDalicPINVOKE.Scrollable_Property_OVERSHOOT_SIZE_get();
+    public static readonly int SCROLL_TO_ALPHA_FUNCTION = NDalicPINVOKE.Scrollable_Property_SCROLL_TO_ALPHA_FUNCTION_get();
+    public static readonly int SCROLL_RELATIVE_POSITION = NDalicPINVOKE.Scrollable_Property_SCROLL_RELATIVE_POSITION_get();
+    public static readonly int SCROLL_POSITION_MIN = NDalicPINVOKE.Scrollable_Property_SCROLL_POSITION_MIN_get();
+    public static readonly int SCROLL_POSITION_MIN_X = NDalicPINVOKE.Scrollable_Property_SCROLL_POSITION_MIN_X_get();
+    public static readonly int SCROLL_POSITION_MIN_Y = NDalicPINVOKE.Scrollable_Property_SCROLL_POSITION_MIN_Y_get();
+    public static readonly int SCROLL_POSITION_MAX = NDalicPINVOKE.Scrollable_Property_SCROLL_POSITION_MAX_get();
+    public static readonly int SCROLL_POSITION_MAX_X = NDalicPINVOKE.Scrollable_Property_SCROLL_POSITION_MAX_X_get();
+    public static readonly int SCROLL_POSITION_MAX_Y = NDalicPINVOKE.Scrollable_Property_SCROLL_POSITION_MAX_Y_get();
+    public static readonly int CAN_SCROLL_VERTICAL = NDalicPINVOKE.Scrollable_Property_CAN_SCROLL_VERTICAL_get();
+    public static readonly int CAN_SCROLL_HORIZONTAL = NDalicPINVOKE.Scrollable_Property_CAN_SCROLL_HORIZONTAL_get();
+  
+  }
+
+  public Scrollable() : this(NDalicPINVOKE.new_Scrollable__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Scrollable(Scrollable handle) : this(NDalicPINVOKE.new_Scrollable__SWIG_1(Scrollable.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Scrollable Assign(Scrollable handle) {
+    Scrollable ret = new Scrollable(NDalicPINVOKE.Scrollable_Assign(swigCPtr, Scrollable.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static Scrollable DownCast(BaseHandle handle) {
+    Scrollable ret = new Scrollable(NDalicPINVOKE.Scrollable_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool IsOvershootEnabled() {
+    bool ret = NDalicPINVOKE.Scrollable_IsOvershootEnabled(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetOvershootEnabled(bool enable) {
+    NDalicPINVOKE.Scrollable_SetOvershootEnabled(swigCPtr, enable);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetOvershootEffectColor(Vector4 color) {
+    NDalicPINVOKE.Scrollable_SetOvershootEffectColor(swigCPtr, Vector4.getCPtr(color));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector4 GetOvershootEffectColor() {
+    Vector4 ret = new Vector4(NDalicPINVOKE.Scrollable_GetOvershootEffectColor(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetOvershootAnimationSpeed(float pixelsPerSecond) {
+    NDalicPINVOKE.Scrollable_SetOvershootAnimationSpeed(swigCPtr, pixelsPerSecond);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetOvershootAnimationSpeed() {
+    float ret = NDalicPINVOKE.Scrollable_GetOvershootAnimationSpeed(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ScrollableSignal ScrollStartedSignal() {
+    ScrollableSignal ret = new ScrollableSignal(NDalicPINVOKE.Scrollable_ScrollStartedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ScrollableSignal ScrollUpdatedSignal() {
+    ScrollableSignal ret = new ScrollableSignal(NDalicPINVOKE.Scrollable_ScrollUpdatedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ScrollableSignal ScrollCompletedSignal() {
+    ScrollableSignal ret = new ScrollableSignal(NDalicPINVOKE.Scrollable_ScrollCompletedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum PropertyRange {
+    PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+    PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000,
+    ANIMATABLE_PROPERTY_START_INDEX = PropertyRanges.ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX,
+    ANIMATABLE_PROPERTY_END_INDEX = PropertyRanges.ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX+1000
+  }
+
+  public Vector4 OvershootEffectColor
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( Scrollable.Property.OVERSHOOT_EFFECT_COLOR).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Scrollable.Property.OVERSHOOT_EFFECT_COLOR, new Dali.Property.Value( value ) );
+    }
+  }
+  public float OvershootAnimationSpeed
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Scrollable.Property.OVERSHOOT_ANIMATION_SPEED).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Scrollable.Property.OVERSHOOT_ANIMATION_SPEED, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool OvershootEnabled
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( Scrollable.Property.OVERSHOOT_ENABLED).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Scrollable.Property.OVERSHOOT_ENABLED, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector2 OvershootSize
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( Scrollable.Property.OVERSHOOT_SIZE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Scrollable.Property.OVERSHOOT_SIZE, new Dali.Property.Value( value ) );
+    }
+  }
+  public int ScrollToAlphaFunction
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Scrollable.Property.SCROLL_TO_ALPHA_FUNCTION).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Scrollable.Property.SCROLL_TO_ALPHA_FUNCTION, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector2 ScrollRelativePosition
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( Scrollable.Property.SCROLL_RELATIVE_POSITION).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Scrollable.Property.SCROLL_RELATIVE_POSITION, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector2 ScrollPositionMin
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( Scrollable.Property.SCROLL_POSITION_MIN).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Scrollable.Property.SCROLL_POSITION_MIN, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector2 ScrollPositionMax
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( Scrollable.Property.SCROLL_POSITION_MAX).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Scrollable.Property.SCROLL_POSITION_MAX, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool CanScrollVertical
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( Scrollable.Property.CAN_SCROLL_VERTICAL).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Scrollable.Property.CAN_SCROLL_VERTICAL, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool CanScrollHorizontal
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( Scrollable.Property.CAN_SCROLL_HORIZONTAL).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Scrollable.Property.CAN_SCROLL_HORIZONTAL, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
\ No newline at end of file
diff --git a/plugins/dali-sharp/sharp/internal/ScrollableSignal.cs b/plugins/dali-sharp/sharp/internal/ScrollableSignal.cs
new file mode 100644 (file)
index 0000000..b6a25a2
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ScrollableSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal ScrollableSignal(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(ScrollableSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ScrollableSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ScrollableSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.ScrollableSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.ScrollableSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ScrollableSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.ScrollableSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(Vector2 arg) {
+    NDalicPINVOKE.ScrollableSignal_Emit(swigCPtr, Vector2.getCPtr(arg));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ScrollableSignal() : this(NDalicPINVOKE.new_ScrollableSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Shader.cs b/plugins/dali-sharp/sharp/internal/Shader.cs
new file mode 100644 (file)
index 0000000..ea03d17
--- /dev/null
@@ -0,0 +1,184 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Shader : Handle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal Shader(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Shader_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Shader obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Shader() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_Shader(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public class Hint : global::System.IDisposable {
+    private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+    protected bool swigCMemOwn;
+  
+    internal Hint(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(Hint obj) {
+      return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+    }
+  
+    ~Hint() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_Shader_Hint(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Hint() : this(NDalicPINVOKE.new_Shader_Hint(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public enum Value {
+      NONE = 0x00,
+      OUTPUT_IS_TRANSPARENT = 0x01,
+      MODIFIES_GEOMETRY = 0x02
+    }
+  
+  }
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_Shader_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_Shader_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int PROGRAM = NDalicPINVOKE.Shader_Property_PROGRAM_get();
+  
+  }
+
+  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();
+
+  }
+  public Shader (string vertexShader, string fragmentShader) : this (NDalicPINVOKE.Shader_New__SWIG_1(vertexShader, fragmentShader), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public Shader(Shader handle) : this(NDalicPINVOKE.new_Shader__SWIG_1(Shader.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public new static Shader DownCast(BaseHandle handle) {
+    Shader ret = new Shader(NDalicPINVOKE.Shader_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Shader Assign(Shader handle) {
+    Shader ret = new Shader(NDalicPINVOKE.Shader_Assign(swigCPtr, Shader.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Dali.Property.Map Program
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( Shader.Property.PROGRAM).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Shader.Property.PROGRAM, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SignalConnectorType.cs b/plugins/dali-sharp/sharp/internal/SignalConnectorType.cs
new file mode 100644 (file)
index 0000000..b209f5d
--- /dev/null
@@ -0,0 +1,49 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SignalConnectorType : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal SignalConnectorType(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(SignalConnectorType obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~SignalConnectorType() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_SignalConnectorType(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+  public SignalConnectorType(TypeRegistration typeRegistration, string name, SWIGTYPE_p_f_p_Dali__BaseObject_p_Dali__ConnectionTrackerInterface_r_q_const__std__string_p_Dali__FunctorDelegate__bool func) : this(NDalicPINVOKE.new_SignalConnectorType(TypeRegistration.getCPtr(typeRegistration), name, SWIGTYPE_p_f_p_Dali__BaseObject_p_Dali__ConnectionTrackerInterface_r_q_const__std__string_p_Dali__FunctorDelegate__bool.getCPtr(func)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SignalObserver.cs b/plugins/dali-sharp/sharp/internal/SignalObserver.cs
new file mode 100644 (file)
index 0000000..5da0505
--- /dev/null
@@ -0,0 +1,56 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SignalObserver : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal SignalObserver(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(SignalObserver obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~SignalObserver() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_SignalObserver(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public virtual void SignalDisconnected(SlotObserver slotObserver, SWIGTYPE_p_Dali__CallbackBase callback) {
+    NDalicPINVOKE.SignalObserver_SignalDisconnected(swigCPtr, SlotObserver.getCPtr(slotObserver), SWIGTYPE_p_Dali__CallbackBase.getCPtr(callback));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Size.cs b/plugins/dali-sharp/sharp/internal/Size.cs
new file mode 100755 (executable)
index 0000000..930557f
--- /dev/null
@@ -0,0 +1,232 @@
+/*
+ * 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 Dali {
+
+public class Size : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal Size(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(Size obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Size() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public static Size operator+(Size arg1, Size arg2) {
+    return arg1.Add(arg2);
+  }
+
+  public static Size operator-(Size arg1, Size arg2) {
+    return arg1.Subtract(arg2);
+  }
+
+  public static Size operator-(Size arg1) {
+    return arg1.Subtract();
+  }
+
+  public static Size operator*(Size arg1, Size arg2) {
+    return arg1.Multiply(arg2);
+  }
+
+  public static Size operator*(Size arg1, float arg2) {
+    return arg1.Multiply(arg2);
+  }
+
+  public static Size operator/(Size arg1, Size arg2) {
+    return arg1.Divide(arg2);
+  }
+
+  public static Size operator/(Size arg1, float arg2) {
+    return arg1.Divide(arg2);
+  }
+
+  public float this[uint index]
+  {
+    get
+    {
+      return ValueOfIndex(index);
+    }
+  }
+
+  public static Size GetSizeFromPtr(global::System.IntPtr cPtr) {
+    Size ret = new Size(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+       return ret;
+  }
+
+
+  public Size() : this(NDalicPINVOKE.new_Vector3__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Size(float x, float y, float z) : this(NDalicPINVOKE.new_Vector3__SWIG_1(x, y, z), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Size(Size2D size2d) : this(NDalicPINVOKE.new_Vector3__SWIG_3(Size2D.getCPtr(size2d)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+
+  public static Size Zero {
+    get {
+      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;
+    }
+  }
+
+  private Size Add(Size rhs) {
+    Size ret = new Size(NDalicPINVOKE.Vector3_Add(swigCPtr, Size.getCPtr(rhs)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Size Subtract(Size rhs) {
+    Size ret = new Size(NDalicPINVOKE.Vector3_Subtract__SWIG_0(swigCPtr, Size.getCPtr(rhs)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Size Multiply(Size rhs) {
+    Size ret = new Size(NDalicPINVOKE.Vector3_Multiply__SWIG_0(swigCPtr, Size.getCPtr(rhs)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Size Multiply(float rhs) {
+    Size ret = new Size(NDalicPINVOKE.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Size Divide(Size rhs) {
+    Size ret = new Size(NDalicPINVOKE.Vector3_Divide__SWIG_0(swigCPtr, Size.getCPtr(rhs)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Size Divide(float rhs) {
+    Size ret = new Size(NDalicPINVOKE.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Size Subtract() {
+    Size ret = new Size(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;
+  }
+
+  public bool EqualTo(Size rhs) {
+    bool ret = NDalicPINVOKE.Vector3_EqualTo(swigCPtr, Size.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool NotEqualTo(Size rhs) {
+    bool ret = NDalicPINVOKE.Vector3_NotEqualTo(swigCPtr, Size.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+
+  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;
+    }
+  }
+
+  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;
+    }
+  }
+
+  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;
+    }
+  }
+
+
+  public static implicit operator Vector3(Size size)
+  {
+    return new Vector3(size.Width, size.Height, size.Depth);
+  }
+
+  public static implicit operator Size(Vector3 vec)
+  {
+    return new Size(vec.Width, vec.Height, vec.Depth);
+  }
+
+}
+
+}
+
diff --git a/plugins/dali-sharp/sharp/internal/Size2D.cs b/plugins/dali-sharp/sharp/internal/Size2D.cs
new file mode 100755 (executable)
index 0000000..fb37d41
--- /dev/null
@@ -0,0 +1,211 @@
+/*
+ * 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 Dali {
+
+public class Size2D : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal Size2D(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(Size2D obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Size2D() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public static Size2D operator+(Size2D arg1, Size2D arg2) {
+    return arg1.Add(arg2);
+  }
+
+  public static Size2D operator-(Size2D arg1, Size2D arg2) {
+    return arg1.Subtract(arg2);
+  }
+
+  public static Size2D operator-(Size2D arg1) {
+    return arg1.Subtract();
+  }
+
+  public static Size2D operator*(Size2D arg1, Size2D arg2) {
+    return arg1.Multiply(arg2);
+  }
+
+  public static Size2D operator*(Size2D arg1, int arg2) {
+    return arg1.Multiply(arg2);
+  }
+
+  public static Size2D operator/(Size2D arg1, Size2D arg2) {
+    return arg1.Divide(arg2);
+  }
+
+  public static Size2D operator/(Size2D arg1, int arg2) {
+    return arg1.Divide(arg2);
+  }
+
+  public float this[uint index]
+  {
+    get
+    {
+      return ValueOfIndex(index);
+    }
+  }
+
+  public static Size2D GetSize2DFromPtr(global::System.IntPtr cPtr) {
+    Size2D ret = new Size2D(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+       return ret;
+  }
+
+
+  public Size2D() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  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();
+  }
+
+  public Size2D(Size size) : this(NDalicPINVOKE.new_Vector2__SWIG_3(Size.getCPtr(size)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  private Size2D Add(Size2D rhs) {
+    Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Add(swigCPtr, Size2D.getCPtr(rhs)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Size2D Subtract(Size2D rhs) {
+    Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Subtract__SWIG_0(swigCPtr, Size2D.getCPtr(rhs)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+
+  private Size2D Multiply(Size2D rhs) {
+    Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Multiply__SWIG_0(swigCPtr, Size2D.getCPtr(rhs)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Size2D Multiply(int rhs) {
+    Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Multiply__SWIG_1(swigCPtr, (float)rhs), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+
+  private Size2D Divide(Size2D rhs) {
+    Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Divide__SWIG_0(swigCPtr, Size2D.getCPtr(rhs)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Size2D Divide(int rhs) {
+    Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Divide__SWIG_1(swigCPtr, (float)rhs), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Size2D Subtract() {
+    Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Subtract__SWIG_1(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool EqualTo(Size2D rhs) {
+    bool ret = NDalicPINVOKE.Vector2_EqualTo(swigCPtr, Size2D.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  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;
+  }
+
+
+  public int Width {
+    set {
+      NDalicPINVOKE.Vector2_Width_set(swigCPtr, (float)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 (int)ret;
+    }
+  }
+
+  public int Height {
+    set {
+      NDalicPINVOKE.Vector2_Height_set(swigCPtr, (float)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 (int)ret;
+    }
+  }
+
+  public static implicit operator Vector2(Size2D size)
+  {
+    return new Vector2((float)size.Width, (float)size.Height);
+  }
+
+  public static implicit operator Size2D(Vector2 vec)
+  {
+    return new Size2D((int)vec.X, (int)vec.Y);
+  }
+
+}
+
+}
+
diff --git a/plugins/dali-sharp/sharp/internal/SizeScalePolicyType.cs b/plugins/dali-sharp/sharp/internal/SizeScalePolicyType.cs
new file mode 100644 (file)
index 0000000..8d8e52b
--- /dev/null
@@ -0,0 +1,19 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum SizeScalePolicyType {
+  USE_SIZE_SET,
+  FIT_WITH_ASPECT_RATIO,
+  FILL_WITH_ASPECT_RATIO
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Slider.cs b/plugins/dali-sharp/sharp/internal/Slider.cs
new file mode 100644 (file)
index 0000000..f1c38c1
--- /dev/null
@@ -0,0 +1,619 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class Slider : View {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal Slider(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Slider_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Slider obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Slider() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_Slider(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+public class ValueChangedEventArgs : EventArgs
+{
+   private Slider _slider;
+   private float _slideValue;
+
+   public Slider Slider
+   {
+      get
+      {
+         return _slider;
+      }
+      set
+      {
+         _slider = value;
+      }
+   }
+
+   public float SlideValue
+   {
+      get
+      {
+         return _slideValue;
+      }
+      set
+      {
+         _slideValue = value;
+      }
+   }
+}
+
+public class SlidingFinishedEventArgs : EventArgs
+{
+   private Slider _slider;
+   private float _slideValue;
+
+   public Slider Slider
+   {
+      get
+      {
+         return _slider;
+      }
+      set
+      {
+         _slider = value;
+      }
+   }
+
+   public float SlideValue
+   {
+      get
+      {
+         return _slideValue;
+      }
+      set
+      {
+         _slideValue = value;
+      }
+   }
+}
+
+public class MarkReachedEventArgs : EventArgs
+{
+   private Slider _slider;
+   private int _slideValue;
+
+   public Slider Slider
+   {
+      get
+      {
+         return _slider;
+      }
+      set
+      {
+         _slider = value;
+      }
+   }
+
+   public int SlideValue
+   {
+      get
+      {
+         return _slideValue;
+      }
+      set
+      {
+         _slideValue = value;
+      }
+   }
+}
+
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate bool ValueChangedCallbackDelegate(IntPtr slider, float slideValue);
+  private DaliEventHandlerWithReturnType<object,ValueChangedEventArgs,bool> _sliderValueChangedEventHandler;
+  private ValueChangedCallbackDelegate _sliderValueChangedCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate bool SlidingFinishedCallbackDelegate(IntPtr slider, float slideValue);
+  private DaliEventHandlerWithReturnType<object,SlidingFinishedEventArgs,bool> _sliderSlidingFinishedEventHandler;
+  private SlidingFinishedCallbackDelegate _sliderSlidingFinishedCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate bool MarkReachedCallbackDelegate(IntPtr slider, int slideValue);
+  private DaliEventHandlerWithReturnType<object,MarkReachedEventArgs,bool> _sliderMarkReachedEventHandler;
+  private MarkReachedCallbackDelegate _sliderMarkReachedCallbackDelegate;
+
+  public event DaliEventHandlerWithReturnType<object,ValueChangedEventArgs,bool> ValueChanged
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_sliderValueChangedEventHandler == null)
+           {
+              _sliderValueChangedEventHandler += value;
+
+              _sliderValueChangedCallbackDelegate = new ValueChangedCallbackDelegate(OnValueChanged);
+              this.ValueChangedSignal().Connect(_sliderValueChangedCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_sliderValueChangedEventHandler != null)
+           {
+              this.ValueChangedSignal().Disconnect(_sliderValueChangedCallbackDelegate);
+           }
+
+           _sliderValueChangedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for Slider ValueChanged signal
+  private bool OnValueChanged(IntPtr slider, float slideValue)
+  {
+     ValueChangedEventArgs e = new ValueChangedEventArgs();
+
+     // Populate all members of "e" (ValueChangedEventArgs) with real page
+     e.Slider = Slider.GetSliderFromPtr( slider );
+     e.SlideValue = slideValue;
+
+     if (_sliderValueChangedEventHandler != null)
+     {
+        //here we send all page to user event handlers
+      return _sliderValueChangedEventHandler(this, e);
+     }
+     return false;
+  }
+
+  public event DaliEventHandlerWithReturnType<object,SlidingFinishedEventArgs,bool> SlidingFinished
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_sliderSlidingFinishedEventHandler == null)
+           {
+              _sliderSlidingFinishedEventHandler += value;
+
+              _sliderSlidingFinishedCallbackDelegate = new SlidingFinishedCallbackDelegate(OnSlidingFinished);
+              this.SlidingFinishedSignal().Connect(_sliderSlidingFinishedCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_sliderSlidingFinishedEventHandler != null)
+           {
+              this.SlidingFinishedSignal().Disconnect(_sliderSlidingFinishedCallbackDelegate);
+           }
+
+           _sliderSlidingFinishedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for Slider SlidingFinished signal
+  private bool OnSlidingFinished(IntPtr slider, float slideValue)
+  {
+     SlidingFinishedEventArgs e = new SlidingFinishedEventArgs();
+
+     // Populate all members of "e" (SlidingFinishedEventArgs) with real page
+     e.Slider = Slider.GetSliderFromPtr( slider );
+     e.SlideValue = slideValue;
+
+     if (_sliderSlidingFinishedEventHandler != null)
+     {
+        //here we send all page to user event handlers
+      return _sliderSlidingFinishedEventHandler(this, e);
+     }
+     return false;
+  }
+
+  public event DaliEventHandlerWithReturnType<object,MarkReachedEventArgs,bool> MarkReached
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_sliderMarkReachedEventHandler == null)
+           {
+              _sliderMarkReachedEventHandler += value;
+
+              _sliderMarkReachedCallbackDelegate = new MarkReachedCallbackDelegate(OnMarkReached);
+              this.MarkReachedSignal().Connect(_sliderMarkReachedCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_sliderMarkReachedEventHandler != null)
+           {
+              this.MarkReachedSignal().Disconnect(_sliderMarkReachedCallbackDelegate);
+           }
+
+           _sliderMarkReachedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for Slider MarkReached signal
+  private bool OnMarkReached(IntPtr slider, int slideValue)
+  {
+     MarkReachedEventArgs e = new MarkReachedEventArgs();
+
+     // Populate all members of "e" (MarkReachedEventArgs) with real page
+     e.Slider = Slider.GetSliderFromPtr( slider );
+     e.SlideValue = slideValue;
+
+     if (_sliderMarkReachedEventHandler != null)
+     {
+        //here we send all page to user event handlers
+      return _sliderMarkReachedEventHandler(this, e);
+     }
+     return false;
+  }
+
+  public static Slider GetSliderFromPtr(global::System.IntPtr cPtr) {
+    Slider ret = new Slider(cPtr, false);
+   if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_Slider_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_Slider_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int LOWER_BOUND = NDalicPINVOKE.Slider_Property_LOWER_BOUND_get();
+    public static readonly int UPPER_BOUND = NDalicPINVOKE.Slider_Property_UPPER_BOUND_get();
+    public static readonly int VALUE = NDalicPINVOKE.Slider_Property_VALUE_get();
+    public static readonly int TRACK_VISUAL = NDalicPINVOKE.Slider_Property_TRACK_VISUAL_get();
+    public static readonly int HANDLE_VISUAL = NDalicPINVOKE.Slider_Property_HANDLE_VISUAL_get();
+    public static readonly int PROGRESS_VISUAL = NDalicPINVOKE.Slider_Property_PROGRESS_VISUAL_get();
+    public static readonly int POPUP_VISUAL = NDalicPINVOKE.Slider_Property_POPUP_VISUAL_get();
+    public static readonly int POPUP_ARROW_VISUAL = NDalicPINVOKE.Slider_Property_POPUP_ARROW_VISUAL_get();
+    public static readonly int DISABLED_COLOR = NDalicPINVOKE.Slider_Property_DISABLED_COLOR_get();
+    public static readonly int VALUE_PRECISION = NDalicPINVOKE.Slider_Property_VALUE_PRECISION_get();
+    public static readonly int SHOW_POPUP = NDalicPINVOKE.Slider_Property_SHOW_POPUP_get();
+    public static readonly int SHOW_VALUE = NDalicPINVOKE.Slider_Property_SHOW_VALUE_get();
+    public static readonly int MARKS = NDalicPINVOKE.Slider_Property_MARKS_get();
+    public static readonly int SNAP_TO_MARKS = NDalicPINVOKE.Slider_Property_SNAP_TO_MARKS_get();
+    public static readonly int MARK_TOLERANCE = NDalicPINVOKE.Slider_Property_MARK_TOLERANCE_get();
+  
+  }
+
+  public Slider () : this (NDalicPINVOKE.Slider_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public Slider(Slider handle) : this(NDalicPINVOKE.new_Slider__SWIG_1(Slider.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Slider Assign(Slider handle) {
+    Slider ret = new Slider(NDalicPINVOKE.Slider_Assign(swigCPtr, Slider.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static Slider DownCast(BaseHandle handle) {
+    Slider ret = new Slider(NDalicPINVOKE.Slider_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SliderValueChangedSignal ValueChangedSignal() {
+    SliderValueChangedSignal ret = new SliderValueChangedSignal(NDalicPINVOKE.Slider_ValueChangedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SliderValueChangedSignal SlidingFinishedSignal() {
+    SliderValueChangedSignal ret = new SliderValueChangedSignal(NDalicPINVOKE.Slider_SlidingFinishedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SliderMarkReachedSignal MarkReachedSignal() {
+    SliderMarkReachedSignal ret = new SliderMarkReachedSignal(NDalicPINVOKE.Slider_MarkReachedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum PropertyRange {
+    PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+    PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000
+  }
+
+  public float LowerBound
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Slider.Property.LOWER_BOUND).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Slider.Property.LOWER_BOUND, new Dali.Property.Value( value ) );
+    }
+  }
+  public float UpperBound
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Slider.Property.UPPER_BOUND).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Slider.Property.UPPER_BOUND, new Dali.Property.Value( value ) );
+    }
+  }
+  public float Value
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Slider.Property.VALUE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Slider.Property.VALUE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map TrackVisual
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( Slider.Property.TRACK_VISUAL).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Slider.Property.TRACK_VISUAL, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map HandleVisual
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( Slider.Property.HANDLE_VISUAL).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Slider.Property.HANDLE_VISUAL, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map ProgressVisual
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( Slider.Property.PROGRESS_VISUAL).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Slider.Property.PROGRESS_VISUAL, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map PopupVisual
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( Slider.Property.POPUP_VISUAL).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Slider.Property.POPUP_VISUAL, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map PopupArrowVisual
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( Slider.Property.POPUP_ARROW_VISUAL).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Slider.Property.POPUP_ARROW_VISUAL, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector4 DisabledColor
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( Slider.Property.DISABLED_COLOR).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Slider.Property.DISABLED_COLOR, new Dali.Property.Value( value ) );
+    }
+  }
+  public int ValuePrecision
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( Slider.Property.VALUE_PRECISION).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Slider.Property.VALUE_PRECISION, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool ShowPopup
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( Slider.Property.SHOW_POPUP).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Slider.Property.SHOW_POPUP, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool ShowValue
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( Slider.Property.SHOW_VALUE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Slider.Property.SHOW_VALUE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Array Marks
+  {
+    get
+    {
+      Dali.Property.Array temp = new Dali.Property.Array();
+      GetProperty( Slider.Property.MARKS).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Slider.Property.MARKS, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool SnapToMarks
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( Slider.Property.SNAP_TO_MARKS).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Slider.Property.SNAP_TO_MARKS, new Dali.Property.Value( value ) );
+    }
+  }
+  public float MarkTolerance
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( Slider.Property.MARK_TOLERANCE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( Slider.Property.MARK_TOLERANCE, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SliderMarkReachedSignal.cs b/plugins/dali-sharp/sharp/internal/SliderMarkReachedSignal.cs
new file mode 100644 (file)
index 0000000..b252fec
--- /dev/null
@@ -0,0 +1,89 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SliderMarkReachedSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal SliderMarkReachedSignal(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(SliderMarkReachedSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~SliderMarkReachedSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_SliderMarkReachedSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.SliderMarkReachedSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.SliderMarkReachedSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.SliderMarkReachedSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.SliderMarkReachedSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public bool Emit(Slider arg1, int arg2) {
+    bool ret = NDalicPINVOKE.SliderMarkReachedSignal_Emit(swigCPtr, Slider.getCPtr(arg1), arg2);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SliderMarkReachedSignal() : this(NDalicPINVOKE.new_SliderMarkReachedSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SliderValueChangedSignal.cs b/plugins/dali-sharp/sharp/internal/SliderValueChangedSignal.cs
new file mode 100644 (file)
index 0000000..412f17e
--- /dev/null
@@ -0,0 +1,89 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SliderValueChangedSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal SliderValueChangedSignal(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(SliderValueChangedSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~SliderValueChangedSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_SliderValueChangedSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.SliderValueChangedSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.SliderValueChangedSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.SliderValueChangedSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.SliderValueChangedSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public bool Emit(Slider arg1, float arg2) {
+    bool ret = NDalicPINVOKE.SliderValueChangedSignal_Emit(swigCPtr, Slider.getCPtr(arg1), arg2);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SliderValueChangedSignal() : this(NDalicPINVOKE.new_SliderValueChangedSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SlotObserver.cs b/plugins/dali-sharp/sharp/internal/SlotObserver.cs
new file mode 100644 (file)
index 0000000..104793c
--- /dev/null
@@ -0,0 +1,56 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class SlotObserver : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal SlotObserver(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(SlotObserver obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~SlotObserver() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_SlotObserver(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public virtual void SlotDisconnected(SWIGTYPE_p_Dali__CallbackBase callback) {
+    NDalicPINVOKE.SlotObserver_SlotDisconnected(swigCPtr, SWIGTYPE_p_Dali__CallbackBase.getCPtr(callback));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/SnapType.cs b/plugins/dali-sharp/sharp/internal/SnapType.cs
new file mode 100644 (file)
index 0000000..8c7eff1
--- /dev/null
@@ -0,0 +1,18 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum SnapType {
+  Snap,
+  Flick
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Stage.cs b/plugins/dali-sharp/sharp/internal/Stage.cs
new file mode 100644 (file)
index 0000000..2f8a6d2
--- /dev/null
@@ -0,0 +1,651 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class Stage : BaseHandle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal Stage(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Stage_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Stage obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Stage() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_Stage(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+
+  /**
+    * @brief Event arguments that passed via Touch signal
+    *
+    */
+  public class TouchEventArgs : EventArgs
+  {
+     private Touch _touch;
+
+     /**
+       * @brief Touch - contains the information of touch points
+       *
+       */
+     public Touch Touch
+     {
+        get
+        {
+           return _touch;
+        }
+        set
+        {
+           _touch = value;
+        }
+     }
+  }
+
+  private event EventHandler<TouchEventArgs> _stageTouchHandler;
+  private EventCallbackDelegateType1<IntPtr> _stageTouchCallbackDelegate;
+
+  /**
+    * @brief Event for TouchEvent signal which can be used to subscribe/unsubscribe the event handler
+    * TouchEvent signal is emitted when the screen is touched and when the touch ends
+    * (i.e. the down & up touch events only).
+    *
+    */
+  public event EventHandler<TouchEventArgs> Touch
+  {
+     add
+     {
+        lock(this)
+        {
+          _stageTouchHandler += value;
+          _stageTouchCallbackDelegate = OnStageTouch;
+          this.TouchSignal().Connect(_stageTouchCallbackDelegate);
+        }
+     }
+     remove
+     {
+        lock(this)
+        {
+           if (_stageTouchHandler != null)
+           {
+              this.TouchSignal().Disconnect(_stageTouchCallbackDelegate);
+           }
+           _stageTouchHandler -= value;
+        }
+     }
+  }
+
+  private void OnStageTouch(IntPtr data)
+  {
+    TouchEventArgs e = new TouchEventArgs();
+
+    if( data != null )
+    {
+      e.Touch = Dali.Touch.GetTouchFromPtr( data );
+    }
+
+    if (_stageTouchHandler != null)
+    {
+      _stageTouchHandler(this, e);
+    }
+  }
+
+  /**
+    * @brief Wheel arguments that passed via Wheel signal
+    *
+    */
+  public class WheelEventArgs : EventArgs
+  {
+     private Wheel _wheel;
+
+     /**
+       * @brief Wheel - store a wheel rolling type MOUSE_WHEEL or CUSTOM_WHEEL
+       *
+       */
+     public Wheel Wheel
+     {
+        get
+        {
+           return _wheel;
+        }
+        set
+        {
+           _wheel = value;
+        }
+     }
+  }
+
+  private event EventHandler<WheelEventArgs> _stageWheelHandler;
+  private EventCallbackDelegateType1<IntPtr> _stageWheelCallbackDelegate;
+
+  /**
+    * @brief Event for Wheel signal which can be used to subscribe/unsubscribe the event handler
+    * Wheel signal is emitted is emitted when wheel event is received.
+    *
+    */
+  public event EventHandler<WheelEventArgs> Wheel
+  {
+     add
+     {
+        lock(this)
+        {
+          _stageWheelHandler += value;
+          _stageWheelCallbackDelegate = OnStageWheel;
+          this.WheelEventSignal().Connect(_stageWheelCallbackDelegate);
+        }
+     }
+     remove
+     {
+        lock(this)
+        {
+           if (_stageWheelHandler != null)
+           {
+              this.WheelEventSignal().Disconnect(_stageWheelCallbackDelegate);
+           }
+           _stageWheelHandler -= value;
+        }
+     }
+  }
+
+  private void OnStageWheel(IntPtr data)
+  {
+    WheelEventArgs e = new WheelEventArgs();
+
+    if( data != null )
+    {
+      e.Wheel = Dali.Wheel.GetWheelFromPtr( data );
+    }
+
+    if (_stageWheelHandler != null)
+    {
+      _stageWheelHandler(this, e);
+    }
+  }
+
+  /**
+    * @brief Event arguments that passed via Key signal
+    *
+    */
+  public class KeyEventArgs : EventArgs
+  {
+     private Key _key;
+
+     /**
+       * @brief Key - is the keyevent sent to Stage.
+       *
+       */
+     public Key Key
+     {
+        get
+        {
+           return _key;
+        }
+        set
+        {
+           _key = value;
+        }
+     }
+  }
+
+  private event EventHandler<KeyEventArgs> _stageKeyHandler;
+  private EventCallbackDelegateType1<IntPtr> _stageKeyCallbackDelegate;
+
+  /**
+    * @brief Event for Key signal which can be used to subscribe/unsubscribe the event handler
+    * Key signal is emitted is emitted when key event is received.
+    *
+    */
+  public event EventHandler<KeyEventArgs> Key
+  {
+     add
+     {
+        lock(this)
+        {
+            _stageKeyHandler += value;
+            _stageKeyCallbackDelegate = OnStageKey;
+            this.KeyEventSignal().Connect(_stageKeyCallbackDelegate);
+        }
+     }
+     remove
+     {
+        lock(this)
+        {
+           if (_stageKeyHandler != null)
+           {
+              this.KeyEventSignal().Disconnect(_stageKeyCallbackDelegate);
+           }
+           _stageKeyHandler -= value;
+        }
+     }
+  }
+
+  // Callback for Stage KeyEventsignal
+  private void OnStageKey(IntPtr data)
+  {
+    KeyEventArgs e = new KeyEventArgs();
+
+    if( data != null )
+    {
+      e.Key = Dali.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;
+
+  /**
+    * @brief Event for EventProcessingFinished signal which can be used to subscribe/unsubscribe the event handler
+    * provided by the user. EventProcessingFinished signal is emitted just after the event processing is finished.
+    *
+    */
+  public event EventHandler EventProcessingFinished
+  {
+     add
+     {
+        lock(this)
+        {
+          _stageEventProcessingFinishedEventHandler += value;
+          _stageEventProcessingFinishedEventCallbackDelegate = OnEventProcessingFinished;
+          this.EventProcessingFinishedSignal().Connect(_stageEventProcessingFinishedEventCallbackDelegate);
+        }
+     }
+     remove
+     {
+        lock(this)
+        {
+           if (_stageEventProcessingFinishedEventHandler != null)
+           {
+              this.EventProcessingFinishedSignal().Disconnect(_stageEventProcessingFinishedEventCallbackDelegate);
+           }
+           _stageEventProcessingFinishedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for Stage EventProcessingFinishedSignal
+  private void OnEventProcessingFinished()
+  {
+     if (_stageEventProcessingFinishedEventHandler != null)
+     {
+        _stageEventProcessingFinishedEventHandler(this, null);
+     }
+  }
+
+
+  private EventHandler _stageContextLostEventHandler;
+  private EventCallbackDelegateType0 _stageContextLostEventCallbackDelegate;
+
+  /**
+    * @brief Event for ContextLost signal which can be used to subscribe/unsubscribe the event handler
+    * ContextLost signal is emitted when the GL context is lost (Platform specific behaviour).
+    *
+    */
+  public event EventHandler ContextLost
+  {
+     add
+     {
+        lock(this)
+        {
+            _stageContextLostEventHandler += value;
+            _stageContextLostEventCallbackDelegate = OnContextLost;
+            this.ContextLostSignal().Connect(_stageContextLostEventCallbackDelegate);
+        }
+     }
+     remove
+     {
+        lock(this)
+        {
+           if (_stageContextLostEventHandler != null)
+           {
+              this.ContextLostSignal().Disconnect(_stageContextLostEventCallbackDelegate);
+           }
+
+           _stageContextLostEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for Stage ContextLostSignal
+  private void OnContextLost()
+  {
+     if (_stageContextLostEventHandler != null)
+     {
+        _stageContextLostEventHandler(this, null);
+     }
+  }
+
+
+  private EventHandler _stageContextRegainedEventHandler;
+  private EventCallbackDelegateType0 _stageContextRegainedEventCallbackDelegate;
+
+  /**
+    * @brief Event for ContextRegained signal which can be used to subscribe/unsubscribe the event handler
+    * provided by the user. ContextRegained signal is emitted when the GL context is regained (Platform specific
+    * behaviour).
+    *
+    */
+  public event EventHandler ContextRegained
+  {
+     add
+     {
+        lock(this)
+        {
+            _stageContextRegainedEventHandler += value;
+            _stageContextRegainedEventCallbackDelegate = OnContextRegained;
+            this.ContextRegainedSignal().Connect(_stageContextRegainedEventCallbackDelegate);
+        }
+     }
+     remove
+     {
+        lock(this)
+        {
+           if (_stageContextRegainedEventHandler != null)
+           {
+              this.ContextRegainedSignal().Disconnect(_stageContextRegainedEventCallbackDelegate);
+           }
+
+           _stageContextRegainedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for Stage ContextRegainedSignal
+  private void OnContextRegained()
+  {
+     if (_stageContextRegainedEventHandler != null)
+     {
+        _stageContextRegainedEventHandler(this, null);
+     }
+  }
+
+
+  private EventHandler _stageSceneCreatedEventHandler;
+  private EventCallbackDelegateType0 _stageSceneCreatedEventCallbackDelegate;
+
+  /**
+    * @brief Event for SceneCreated signal which can be used to subscribe/unsubscribe the event handler
+    * SceneCreated signal is emitted after the initial scene is created.
+    *
+    */
+  public event EventHandler SceneCreated
+  {
+     add
+     {
+        lock(this)
+        {
+            _stageSceneCreatedEventHandler += value;
+            _stageSceneCreatedEventCallbackDelegate = OnSceneCreated;
+            this.SceneCreatedSignal().Connect(_stageSceneCreatedEventCallbackDelegate);
+        }
+     }
+     remove
+     {
+        lock(this)
+        {
+           if (_stageSceneCreatedEventHandler != null)
+           {
+              this.SceneCreatedSignal().Disconnect(_stageSceneCreatedEventCallbackDelegate);
+           }
+
+           _stageSceneCreatedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for Stage SceneCreatedSignal
+  private void OnSceneCreated()
+  {
+     if (_stageSceneCreatedEventHandler != null)
+     {
+        _stageSceneCreatedEventHandler(this, null);
+     }
+  }
+
+
+  public Vector2 Size
+  {
+     get
+     {
+        Vector2 ret = GetSize();
+        return ret;
+     }
+  }
+
+  public Vector4 BackgroundColor
+  {
+     set
+     {
+        SetBackgroundColor(value);
+     }
+     get
+     {
+        Vector4 ret = GetBackgroundColor();
+        return ret;
+     }
+   }
+
+  private static readonly Stage instance = Stage.GetCurrent();
+
+  public static Stage Instance
+  {
+      get
+      {
+          return instance;
+      }
+  }
+
+  public Layer GetDefaultLayer()
+  {
+    return this.GetRootLayer();
+  }
+
+  public void AddLayer(Layer layer)
+  {
+    this.Add( (Actor)layer );
+  }
+
+  public void RemoveLayer(Layer layer)
+  {
+    this.Remove( (Actor)layer );
+  }
+
+
+
+  public static Vector4 DEFAULT_BACKGROUND_COLOR {
+    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;
+    } 
+  }
+
+  public static Vector4 DEBUG_BACKGROUND_COLOR {
+    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;
+    } 
+  }
+
+  public Stage() : this(NDalicPINVOKE.new_Stage__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static Stage GetCurrent() {
+    Stage ret = new Stage(NDalicPINVOKE.Stage_GetCurrent(), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static bool IsInstalled() {
+    bool ret = NDalicPINVOKE.Stage_IsInstalled();
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Stage(Stage handle) : this(NDalicPINVOKE.new_Stage__SWIG_1(Stage.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Stage Assign(Stage rhs) {
+    Stage ret = new Stage(NDalicPINVOKE.Stage_Assign(swigCPtr, Stage.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Add(Actor actor) {
+    NDalicPINVOKE.Stage_Add(swigCPtr, Actor.getCPtr(actor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Remove(Actor actor) {
+    NDalicPINVOKE.Stage_Remove(swigCPtr, Actor.getCPtr(actor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector2 GetSize() {
+    Vector2 ret = new Vector2(NDalicPINVOKE.Stage_GetSize(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public RenderTaskList GetRenderTaskList() {
+    RenderTaskList ret = new RenderTaskList(NDalicPINVOKE.Stage_GetRenderTaskList(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetLayerCount() {
+    uint ret = NDalicPINVOKE.Stage_GetLayerCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Layer GetLayer(uint depth) {
+    Layer ret = new Layer(NDalicPINVOKE.Stage_GetLayer(swigCPtr, depth), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Layer GetRootLayer() {
+    Layer ret = new Layer(NDalicPINVOKE.Stage_GetRootLayer(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetBackgroundColor(Vector4 color) {
+    NDalicPINVOKE.Stage_SetBackgroundColor(swigCPtr, Vector4.getCPtr(color));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector4 GetBackgroundColor() {
+    Vector4 ret = new Vector4(NDalicPINVOKE.Stage_GetBackgroundColor(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector2 GetDpi() {
+    Vector2 ret = new Vector2(NDalicPINVOKE.Stage_GetDpi(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public ObjectRegistry GetObjectRegistry() {
+    ObjectRegistry ret = new ObjectRegistry(NDalicPINVOKE.Stage_GetObjectRegistry(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void KeepRendering(float durationSeconds) {
+    NDalicPINVOKE.Stage_KeepRendering(swigCPtr, durationSeconds);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public KeyEventSignal KeyEventSignal() {
+    KeyEventSignal ret = new KeyEventSignal(NDalicPINVOKE.Stage_KeyEventSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public VoidSignal EventProcessingFinishedSignal() {
+    VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_EventProcessingFinishedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public TouchSignal TouchSignal() {
+    TouchSignal ret = new TouchSignal(NDalicPINVOKE.Stage_TouchSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public StageWheelSignal WheelEventSignal() {
+    StageWheelSignal ret = new StageWheelSignal(NDalicPINVOKE.Stage_WheelEventSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public VoidSignal ContextLostSignal() {
+    VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_ContextLostSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public VoidSignal ContextRegainedSignal() {
+    VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_ContextRegainedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public VoidSignal SceneCreatedSignal() {
+    VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_SceneCreatedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/StageWheelSignal.cs b/plugins/dali-sharp/sharp/internal/StageWheelSignal.cs
new file mode 100644 (file)
index 0000000..14b7c6f
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class StageWheelSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal StageWheelSignal(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(StageWheelSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~StageWheelSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_StageWheelSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.StageWheelSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.StageWheelSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.StageWheelSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.StageWheelSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(Wheel arg) {
+    NDalicPINVOKE.StageWheelSignal_Emit(swigCPtr, Wheel.getCPtr(arg));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public StageWheelSignal() : this(NDalicPINVOKE.new_StageWheelSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/StencilFunctionType.cs b/plugins/dali-sharp/sharp/internal/StencilFunctionType.cs
new file mode 100644 (file)
index 0000000..314135b
--- /dev/null
@@ -0,0 +1,24 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum StencilFunctionType {
+  NEVER,
+  LESS,
+  EQUAL,
+  LESS_EQUAL,
+  GREATER,
+  NOT_EQUAL,
+  GREATER_EQUAL,
+  ALWAYS
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/StencilOperationType.cs b/plugins/dali-sharp/sharp/internal/StencilOperationType.cs
new file mode 100644 (file)
index 0000000..2b27f96
--- /dev/null
@@ -0,0 +1,24 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum StencilOperationType {
+  ZERO,
+  KEEP,
+  REPLACE,
+  INCREMENT,
+  DECREMENT,
+  INVERT,
+  INCREMENT_WRAP,
+  DECREMENT_WRAP
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/StringValuePair.cs b/plugins/dali-sharp/sharp/internal/StringValuePair.cs
new file mode 100644 (file)
index 0000000..7a978da
--- /dev/null
@@ -0,0 +1,82 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class StringValuePair : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal StringValuePair(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(StringValuePair obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~StringValuePair() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_StringValuePair(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+  public StringValuePair() : this(NDalicPINVOKE.new_StringValuePair__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public StringValuePair(string t, Property.Value u) : this(NDalicPINVOKE.new_StringValuePair__SWIG_1(t, Property.Value.getCPtr(u)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public StringValuePair(StringValuePair p) : this(NDalicPINVOKE.new_StringValuePair__SWIG_2(StringValuePair.getCPtr(p)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public string first {
+    set {
+      NDalicPINVOKE.StringValuePair_first_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      string ret = NDalicPINVOKE.StringValuePair_first_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public Property.Value second {
+    set {
+      NDalicPINVOKE.StringValuePair_second_set(swigCPtr, Property.Value.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.StringValuePair_second_get(swigCPtr);
+      Property.Value ret = (cPtr == global::System.IntPtr.Zero) ? null : new Property.Value(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/StyleChangeType.cs b/plugins/dali-sharp/sharp/internal/StyleChangeType.cs
new file mode 100644 (file)
index 0000000..75b901a
--- /dev/null
@@ -0,0 +1,19 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum StyleChangeType {
+  DEFAULT_FONT_CHANGE,
+  DEFAULT_FONT_SIZE_CHANGE,
+  THEME_CHANGE
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/StyleChangedSignal.cs b/plugins/dali-sharp/sharp/internal/StyleChangedSignal.cs
new file mode 100644 (file)
index 0000000..8ff2c72
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class StyleChangedSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal StyleChangedSignal(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(StyleChangedSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~StyleChangedSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_StyleChangedSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.StyleChangedSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.StyleChangedSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.StyleChangedSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.StyleChangedSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(StyleManager arg1, StyleChangeType arg2) {
+    NDalicPINVOKE.StyleChangedSignal_Emit(swigCPtr, StyleManager.getCPtr(arg1), (int)arg2);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public StyleChangedSignal() : this(NDalicPINVOKE.new_StyleChangedSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/StyleManager.cs b/plugins/dali-sharp/sharp/internal/StyleManager.cs
new file mode 100644 (file)
index 0000000..64fee71
--- /dev/null
@@ -0,0 +1,207 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+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;
+  }
+
+  ~StyleManager() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_StyleManager(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+
+/**
+  * @brief Event arguments that passed via StyleChanged signal
+  *
+  */
+public class StyleChangedEventArgs : EventArgs
+{
+   private StyleManager _styleManager;
+   private Dali.StyleChangeType _styleChange;
+
+   /**
+     * @brief StyleManager - is the StyleManager that informs applications of system theme change,
+     * and supports application theme change at runtime.
+     *
+     */
+   public StyleManager StyleManager
+   {
+      get
+      {
+         return _styleManager;
+      }
+      set
+      {
+         _styleManager = value;
+      }
+   }
+
+   /**
+     * @brief StyleChange - contains Style change information (default font changed or
+     * default font size changed or theme has changed)
+     *
+     */
+   public Dali.StyleChangeType StyleChange
+   {
+      get
+      {
+         return _styleChange;
+      }
+      set
+      {
+         _styleChange = value;
+      }
+   }
+
+}
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void StyleChangedCallbackDelegate(IntPtr styleManager, Dali.StyleChangeType styleChange);
+  private DaliEventHandler<object,StyleChangedEventArgs> _styleManagerStyleChangedEventHandler;
+  private StyleChangedCallbackDelegate _styleManagerStyleChangedCallbackDelegate;
+
+  /**
+    * @brief Event for StyleChanged signal which can be used to subscribe/unsubscribe the
+    * event handler (in the type of StyleChangedEventHandler-DaliEventHandler<object,StyleChangedEventArgs>) 
+    * provided by the user. StyleChanged signal is is emitted after the style (e.g. theme/font change) has changed
+    * and the controls have been informed.
+    */
+  public event DaliEventHandler<object,StyleChangedEventArgs> StyleChanged
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_styleManagerStyleChangedEventHandler == null)
+           {
+              _styleManagerStyleChangedEventHandler += value;
+
+              _styleManagerStyleChangedCallbackDelegate = new StyleChangedCallbackDelegate(OnStyleChanged);
+              this.StyleChangedSignal().Connect(_styleManagerStyleChangedCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_styleManagerStyleChangedEventHandler != null)
+           {
+              this.StyleChangedSignal().Disconnect(_styleManagerStyleChangedCallbackDelegate);
+           }
+
+           _styleManagerStyleChangedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for StyleManager StyleChangedsignal
+  private void OnStyleChanged(IntPtr styleManager, Dali.StyleChangeType styleChange)
+  {
+     StyleChangedEventArgs e = new StyleChangedEventArgs();
+
+     // Populate all members of "e" (StyleChangedEventArgs) with real data
+     e.StyleManager = StyleManager.GetStyleManagerFromPtr( styleManager );
+     e.StyleChange = styleChange;
+
+     if (_styleManagerStyleChangedEventHandler != null)
+     {
+        //here we send all data to user event handlers
+        _styleManagerStyleChangedEventHandler(this, e);
+     }
+  }
+
+   public static StyleManager GetStyleManagerFromPtr(global::System.IntPtr cPtr) {
+      StyleManager ret = new StyleManager(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+   }
+
+
+  public StyleManager() : this(NDalicPINVOKE.new_StyleManager(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static StyleManager Get() {
+    StyleManager ret = new StyleManager(NDalicPINVOKE.StyleManager_Get(), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void ApplyTheme(string themeFile) {
+    NDalicPINVOKE.StyleManager_ApplyTheme(swigCPtr, themeFile);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void ApplyDefaultTheme() {
+    NDalicPINVOKE.StyleManager_ApplyDefaultTheme(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetStyleConstant(string key, Property.Value value) {
+    NDalicPINVOKE.StyleManager_SetStyleConstant(swigCPtr, key, Property.Value.getCPtr(value));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool GetStyleConstant(string key, Property.Value valueOut) {
+    bool ret = NDalicPINVOKE.StyleManager_GetStyleConstant(swigCPtr, key, Property.Value.getCPtr(valueOut));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void ApplyStyle(View control, string jsonFileName, string styleName) {
+    NDalicPINVOKE.StyleManager_ApplyStyle(swigCPtr, View.getCPtr(control), jsonFileName, styleName);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public StyleChangedSignal StyleChangedSignal() {
+    StyleChangedSignal ret = new StyleChangedSignal(NDalicPINVOKE.StyleManager_StyleChangedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/TableView.cs b/plugins/dali-sharp/sharp/internal/TableView.cs
new file mode 100644 (file)
index 0000000..6fd6bd4
--- /dev/null
@@ -0,0 +1,508 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class TableView : View {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal TableView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TableView_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TableView obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~TableView() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_TableView(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_TableView_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_TableView_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int ROWS = NDalicPINVOKE.TableView_Property_ROWS_get();
+    public static readonly int COLUMNS = NDalicPINVOKE.TableView_Property_COLUMNS_get();
+    public static readonly int CELL_PADDING = NDalicPINVOKE.TableView_Property_CELL_PADDING_get();
+    public static readonly int LAYOUT_ROWS = NDalicPINVOKE.TableView_Property_LAYOUT_ROWS_get();
+    public static readonly int LAYOUT_COLUMNS = NDalicPINVOKE.TableView_Property_LAYOUT_COLUMNS_get();
+  
+  }
+
+  public class ChildProperty : global::System.IDisposable {
+    private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+    protected bool swigCMemOwn;
+  
+    internal ChildProperty(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(ChildProperty obj) {
+      return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+    }
+  
+    ~ChildProperty() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_TableView_ChildProperty(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public ChildProperty() : this(NDalicPINVOKE.new_TableView_ChildProperty(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int CELL_INDEX = NDalicPINVOKE.TableView_ChildProperty_CELL_INDEX_get();
+    public static readonly int ROW_SPAN = NDalicPINVOKE.TableView_ChildProperty_ROW_SPAN_get();
+    public static readonly int COLUMN_SPAN = NDalicPINVOKE.TableView_ChildProperty_COLUMN_SPAN_get();
+    public static readonly int CELL_HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TableView_ChildProperty_CELL_HORIZONTAL_ALIGNMENT_get();
+    public static readonly int CELL_VERTICAL_ALIGNMENT = NDalicPINVOKE.TableView_ChildProperty_CELL_VERTICAL_ALIGNMENT_get();
+  
+  }
+
+  public class CellPosition : global::System.IDisposable {
+    private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+    protected bool swigCMemOwn;
+  
+    internal CellPosition(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(CellPosition obj) {
+      return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+    }
+  
+    ~CellPosition() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_TableView_CellPosition(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public CellPosition(uint rowIndex, uint columnIndex, uint rowSpan, uint columnSpan) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_0(rowIndex, columnIndex, rowSpan, columnSpan), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public CellPosition(uint rowIndex, uint columnIndex, uint rowSpan) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_1(rowIndex, columnIndex, rowSpan), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public CellPosition(uint rowIndex, uint columnIndex) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_2(rowIndex, columnIndex), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public CellPosition(uint rowIndex) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_3(rowIndex), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public CellPosition() : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_4(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public uint rowIndex {
+      set {
+        NDalicPINVOKE.TableView_CellPosition_rowIndex_set(swigCPtr, value);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      } 
+      get {
+        uint ret = NDalicPINVOKE.TableView_CellPosition_rowIndex_get(swigCPtr);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      } 
+    }
+  
+    public uint columnIndex {
+      set {
+        NDalicPINVOKE.TableView_CellPosition_columnIndex_set(swigCPtr, value);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      } 
+      get {
+        uint ret = NDalicPINVOKE.TableView_CellPosition_columnIndex_get(swigCPtr);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      } 
+    }
+  
+    public uint rowSpan {
+      set {
+        NDalicPINVOKE.TableView_CellPosition_rowSpan_set(swigCPtr, value);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      } 
+      get {
+        uint ret = NDalicPINVOKE.TableView_CellPosition_rowSpan_get(swigCPtr);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      } 
+    }
+  
+    public uint columnSpan {
+      set {
+        NDalicPINVOKE.TableView_CellPosition_columnSpan_set(swigCPtr, value);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      } 
+      get {
+        uint ret = NDalicPINVOKE.TableView_CellPosition_columnSpan_get(swigCPtr);
+        if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        return ret;
+      } 
+    }
+  
+  }
+
+  public TableView (uint initialRows, uint initialColumns) : this (NDalicPINVOKE.TableView_New(initialRows, initialColumns), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public TableView(TableView handle) : this(NDalicPINVOKE.new_TableView__SWIG_1(TableView.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public TableView Assign(TableView handle) {
+    TableView ret = new TableView(NDalicPINVOKE.TableView_Assign(swigCPtr, TableView.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static TableView DownCast(BaseHandle handle) {
+    TableView ret = new TableView(NDalicPINVOKE.TableView_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool AddChild(Actor child, TableView.CellPosition position) {
+    bool ret = NDalicPINVOKE.TableView_AddChild(swigCPtr, Actor.getCPtr(child), TableView.CellPosition.getCPtr(position));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Actor GetChildAt(TableView.CellPosition position) {
+    Actor ret = new Actor(NDalicPINVOKE.TableView_GetChildAt(swigCPtr, TableView.CellPosition.getCPtr(position)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Actor RemoveChildAt(TableView.CellPosition position) {
+    Actor ret = new Actor(NDalicPINVOKE.TableView_RemoveChildAt(swigCPtr, TableView.CellPosition.getCPtr(position)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool FindChildPosition(Actor child, TableView.CellPosition position) {
+    bool ret = NDalicPINVOKE.TableView_FindChildPosition(swigCPtr, Actor.getCPtr(child), TableView.CellPosition.getCPtr(position));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void InsertRow(uint rowIndex) {
+    NDalicPINVOKE.TableView_InsertRow(swigCPtr, rowIndex);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void DeleteRow(uint rowIndex) {
+    NDalicPINVOKE.TableView_DeleteRow__SWIG_0(swigCPtr, rowIndex);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void DeleteRow(uint rowIndex, ActorContainer removed) {
+    NDalicPINVOKE.TableView_DeleteRow__SWIG_1(swigCPtr, rowIndex, ActorContainer.getCPtr(removed));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void InsertColumn(uint columnIndex) {
+    NDalicPINVOKE.TableView_InsertColumn(swigCPtr, columnIndex);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void DeleteColumn(uint columnIndex) {
+    NDalicPINVOKE.TableView_DeleteColumn__SWIG_0(swigCPtr, columnIndex);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void DeleteColumn(uint columnIndex, ActorContainer removed) {
+    NDalicPINVOKE.TableView_DeleteColumn__SWIG_1(swigCPtr, columnIndex, ActorContainer.getCPtr(removed));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Resize(uint rows, uint columns) {
+    NDalicPINVOKE.TableView_Resize__SWIG_0(swigCPtr, rows, columns);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Resize(uint rows, uint columns, ActorContainer removed) {
+    NDalicPINVOKE.TableView_Resize__SWIG_1(swigCPtr, rows, columns, ActorContainer.getCPtr(removed));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetCellPadding(Vector2 padding) {
+    NDalicPINVOKE.TableView_SetCellPadding(swigCPtr, Vector2.getCPtr(padding));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector2 GetCellPadding() {
+    Vector2 ret = new Vector2(NDalicPINVOKE.TableView_GetCellPadding(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetFitHeight(uint rowIndex) {
+    NDalicPINVOKE.TableView_SetFitHeight(swigCPtr, rowIndex);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool IsFitHeight(uint rowIndex) {
+    bool ret = NDalicPINVOKE.TableView_IsFitHeight(swigCPtr, rowIndex);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetFitWidth(uint columnIndex) {
+    NDalicPINVOKE.TableView_SetFitWidth(swigCPtr, columnIndex);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool IsFitWidth(uint columnIndex) {
+    bool ret = NDalicPINVOKE.TableView_IsFitWidth(swigCPtr, columnIndex);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetFixedHeight(uint rowIndex, float height) {
+    NDalicPINVOKE.TableView_SetFixedHeight(swigCPtr, rowIndex, height);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetFixedHeight(uint rowIndex) {
+    float ret = NDalicPINVOKE.TableView_GetFixedHeight(swigCPtr, rowIndex);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetRelativeHeight(uint rowIndex, float heightPercentage) {
+    NDalicPINVOKE.TableView_SetRelativeHeight(swigCPtr, rowIndex, heightPercentage);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetRelativeHeight(uint rowIndex) {
+    float ret = NDalicPINVOKE.TableView_GetRelativeHeight(swigCPtr, rowIndex);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetFixedWidth(uint columnIndex, float width) {
+    NDalicPINVOKE.TableView_SetFixedWidth(swigCPtr, columnIndex, width);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetFixedWidth(uint columnIndex) {
+    float ret = NDalicPINVOKE.TableView_GetFixedWidth(swigCPtr, columnIndex);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetRelativeWidth(uint columnIndex, float widthPercentage) {
+    NDalicPINVOKE.TableView_SetRelativeWidth(swigCPtr, columnIndex, widthPercentage);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetRelativeWidth(uint columnIndex) {
+    float ret = NDalicPINVOKE.TableView_GetRelativeWidth(swigCPtr, columnIndex);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetRows() {
+    uint ret = NDalicPINVOKE.TableView_GetRows(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetColumns() {
+    uint ret = NDalicPINVOKE.TableView_GetColumns(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetCellAlignment(TableView.CellPosition position, HorizontalAlignmentType horizontal, VerticalAlignmentType vertical) {
+    NDalicPINVOKE.TableView_SetCellAlignment(swigCPtr, TableView.CellPosition.getCPtr(position), (int)horizontal, (int)vertical);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public enum PropertyRange {
+    PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+    PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000,
+    CHILD_PROPERTY_START_INDEX = PropertyRanges.CHILD_PROPERTY_REGISTRATION_START_INDEX,
+    CHILD_PROPERTY_END_INDEX = PropertyRanges.CHILD_PROPERTY_REGISTRATION_START_INDEX+1000
+  }
+
+  public enum LayoutPolicy {
+    FIXED,
+    RELATIVE,
+    FILL,
+    FIT
+  }
+
+  public int Rows
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( TableView.Property.ROWS).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TableView.Property.ROWS, new Dali.Property.Value( value ) );
+    }
+  }
+  public int Columns
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( TableView.Property.COLUMNS).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TableView.Property.COLUMNS, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector2 CellPadding
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( TableView.Property.CELL_PADDING).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TableView.Property.CELL_PADDING, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map LayoutRows
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TableView.Property.LAYOUT_ROWS).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TableView.Property.LAYOUT_ROWS, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map LayoutColumns
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TableView.Property.LAYOUT_COLUMNS).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TableView.Property.LAYOUT_COLUMNS, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/TapGesture.cs b/plugins/dali-sharp/sharp/internal/TapGesture.cs
new file mode 100644 (file)
index 0000000..85d01b7
--- /dev/null
@@ -0,0 +1,152 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class TapGesture : Gesture {
+  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;
+  }
+
+  ~TapGesture() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public static TapGesture GetTapGestureFromPtr(global::System.IntPtr cPtr) {
+    TapGesture ret = new TapGesture(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint NumberOfTaps
+  {
+    get
+    {
+      return numberOfTaps;
+    }
+  }
+
+  public uint NumberOfTouches
+  {
+    get
+    {
+      return numberOfTouches;
+    }
+  }
+
+  public Vector2 ScreenPoint
+  {
+    get
+    {
+      return screenPoint;
+    }
+  }
+
+  public Vector2 LocalPoint
+  {
+    get
+    {
+      return localPoint;
+    }
+  }
+
+  public TapGesture() : this(NDalicPINVOKE.new_TapGesture__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public TapGesture(TapGesture rhs) : this(NDalicPINVOKE.new_TapGesture__SWIG_1(TapGesture.getCPtr(rhs)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public TapGesture Assign(TapGesture rhs) {
+    TapGesture ret = new TapGesture(NDalicPINVOKE.TapGesture_Assign(swigCPtr, TapGesture.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private uint numberOfTaps {
+    set {
+      NDalicPINVOKE.TapGesture_numberOfTaps_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      uint ret = NDalicPINVOKE.TapGesture_numberOfTaps_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private uint numberOfTouches {
+    set {
+      NDalicPINVOKE.TapGesture_numberOfTouches_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      uint ret = NDalicPINVOKE.TapGesture_numberOfTouches_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private Vector2 screenPoint {
+    set {
+      NDalicPINVOKE.TapGesture_screenPoint_set(swigCPtr, Vector2.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.TapGesture_screenPoint_get(swigCPtr);
+      Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private Vector2 localPoint {
+    set {
+      NDalicPINVOKE.TapGesture_localPoint_set(swigCPtr, Vector2.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.TapGesture_localPoint_get(swigCPtr);
+      Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/TapGestureDetectedSignal.cs b/plugins/dali-sharp/sharp/internal/TapGestureDetectedSignal.cs
new file mode 100644 (file)
index 0000000..baca9a2
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class TapGestureDetectedSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal TapGestureDetectedSignal(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(TapGestureDetectedSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~TapGestureDetectedSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_TapGestureDetectedSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.TapGestureDetectedSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.TapGestureDetectedSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.TapGestureDetectedSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.TapGestureDetectedSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(Actor arg1, TapGesture arg2) {
+    NDalicPINVOKE.TapGestureDetectedSignal_Emit(swigCPtr, Actor.getCPtr(arg1), TapGesture.getCPtr(arg2));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public TapGestureDetectedSignal() : this(NDalicPINVOKE.new_TapGestureDetectedSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/TapGestureDetector.cs b/plugins/dali-sharp/sharp/internal/TapGestureDetector.cs
new file mode 100644 (file)
index 0000000..3015c21
--- /dev/null
@@ -0,0 +1,214 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+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;
+  }
+
+  ~TapGestureDetector() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+
+public class DetectedEventArgs : EventArgs
+{
+   private Actor _actor;
+   private TapGesture _tapGesture;
+
+   public Actor Actor
+   {
+      get
+      {
+         return _actor;
+      }
+      set
+      {
+         _actor = value;
+      }
+   }
+
+   public TapGesture TapGesture
+   {
+      get
+      {
+         return _tapGesture;
+      }
+      set
+      {
+         _tapGesture = value;
+      }
+   }
+}
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void DetectedCallbackDelegate(IntPtr actor, IntPtr TapGesture);
+  private DaliEventHandler<object,DetectedEventArgs> _tapGestureEventHandler;
+  private DetectedCallbackDelegate _tapGestureCallbackDelegate;
+
+
+  public event DaliEventHandler<object,DetectedEventArgs> Detected
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_tapGestureEventHandler == null)
+           {
+              _tapGestureEventHandler += value;
+
+              _tapGestureCallbackDelegate = new DetectedCallbackDelegate(OnTapGestureDetected);
+              this.DetectedSignal().Connect(_tapGestureCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_tapGestureEventHandler != null)
+           {
+              this.DetectedSignal().Disconnect(_tapGestureCallbackDelegate);
+           }
+
+           _tapGestureEventHandler -= value;
+        }
+     }
+  }
+
+ private void OnTapGestureDetected(IntPtr actor, IntPtr tapGesture)
+  {
+   DetectedEventArgs e = new DetectedEventArgs();
+
+   // Populate all members of "e" (DetectedEventArgs) with real data
+   e.Actor = Actor.GetActorFromPtr(actor);
+   e.TapGesture = Dali.TapGesture.GetTapGestureFromPtr(tapGesture);
+
+   if (_tapGestureEventHandler != null)
+   {
+      //here we send all data to user event handlers
+      _tapGestureEventHandler(this, e);
+   }
+
+  }
+
+
+public static TapGestureDetector GetTapGestureDetectorFromPtr(global::System.IntPtr cPtr) {
+    TapGestureDetector ret = new TapGestureDetector(cPtr, false);
+   if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+
+  public TapGestureDetector () : this (NDalicPINVOKE.TapGestureDetector_New__SWIG_0(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public TapGestureDetector (uint tapsRequired) : this (NDalicPINVOKE.TapGestureDetector_New__SWIG_1(tapsRequired), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public new static TapGestureDetector DownCast(BaseHandle handle) {
+    TapGestureDetector ret = new TapGestureDetector(NDalicPINVOKE.TapGestureDetector_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public TapGestureDetector(TapGestureDetector handle) : this(NDalicPINVOKE.new_TapGestureDetector__SWIG_1(TapGestureDetector.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public 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;
+  }
+
+  public void SetMinimumTapsRequired(uint minimumTaps) {
+    NDalicPINVOKE.TapGestureDetector_SetMinimumTapsRequired(swigCPtr, minimumTaps);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetMaximumTapsRequired(uint maximumTaps) {
+    NDalicPINVOKE.TapGestureDetector_SetMaximumTapsRequired(swigCPtr, maximumTaps);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public uint GetMinimumTapsRequired() {
+    uint ret = NDalicPINVOKE.TapGestureDetector_GetMinimumTapsRequired(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetMaximumTapsRequired() {
+    uint ret = NDalicPINVOKE.TapGestureDetector_GetMaximumTapsRequired(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public TapGestureDetectedSignal DetectedSignal() {
+    TapGestureDetectedSignal ret = new TapGestureDetectedSignal(NDalicPINVOKE.TapGestureDetector_DetectedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/TextEditor.cs b/plugins/dali-sharp/sharp/internal/TextEditor.cs
new file mode 100644 (file)
index 0000000..557f7f2
--- /dev/null
@@ -0,0 +1,842 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class TextEditor : View {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal TextEditor(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextEditor_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextEditor obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~TextEditor() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_TextEditor(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+/**
+  * @brief Event arguments that passed via TextChanged signal
+  *
+  */
+public class TextChangedEventArgs : EventArgs
+{
+   private TextEditor _textEditor;
+   /**
+     * @brief TextEditor - is the texteditor control which has the text contents changed.
+     *
+     */
+   public TextEditor TextEditor
+   {
+      get
+      {
+         return _textEditor;
+      }
+      set
+      {
+         _textEditor = value;
+      }
+   }
+}
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void TextChangedCallbackDelegate(IntPtr textEditor);
+  private DaliEventHandler<object,TextChangedEventArgs> _textEditorTextChangedEventHandler;
+  private TextChangedCallbackDelegate _textEditorTextChangedCallbackDelegate;
+
+  /**
+    * @brief Event for TextChanged signal which can be used to subscribe/unsubscribe the event handler
+    * (in the type of TextChangedEventHandler-DaliEventHandler<object,TextChangedEventArgs>) 
+    * provided by the user. TextChanged signal is emitted when the text changes.
+    */
+  public event DaliEventHandler<object,TextChangedEventArgs> TextChanged
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_textEditorTextChangedEventHandler == null)
+           {
+              _textEditorTextChangedEventHandler += value;
+
+              _textEditorTextChangedCallbackDelegate = new TextChangedCallbackDelegate(OnTextChanged);
+              this.TextChangedSignal().Connect(_textEditorTextChangedCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_textEditorTextChangedEventHandler != null)
+           {
+              this.TextChangedSignal().Disconnect(_textEditorTextChangedCallbackDelegate);
+           }
+
+           _textEditorTextChangedEventHandler -= value;
+        }
+     }
+  }
+
+ private void OnTextChanged(IntPtr textEditor)
+  {
+   TextChangedEventArgs e = new TextChangedEventArgs();
+
+   // Populate all members of "e" (TextChangedEventArgs) with real data
+   e.TextEditor = Dali.TextEditor.GetTextEditorFromPtr(textEditor);
+
+   if (_textEditorTextChangedEventHandler != null)
+   {
+      //here we send all data to user event handlers
+      _textEditorTextChangedEventHandler(this, e);
+   }
+
+  }
+
+ public static TextEditor GetTextEditorFromPtr(global::System.IntPtr cPtr) {
+    TextEditor ret = new TextEditor(cPtr, false);
+   if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_TextEditor_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_TextEditor_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int RENDERING_BACKEND = NDalicPINVOKE.TextEditor_Property_RENDERING_BACKEND_get();
+    public static readonly int TEXT = NDalicPINVOKE.TextEditor_Property_TEXT_get();
+    public static readonly int TEXT_COLOR = NDalicPINVOKE.TextEditor_Property_TEXT_COLOR_get();
+    public static readonly int FONT_FAMILY = NDalicPINVOKE.TextEditor_Property_FONT_FAMILY_get();
+    public static readonly int FONT_STYLE = NDalicPINVOKE.TextEditor_Property_FONT_STYLE_get();
+    public static readonly int POINT_SIZE = NDalicPINVOKE.TextEditor_Property_POINT_SIZE_get();
+    public static readonly int HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TextEditor_Property_HORIZONTAL_ALIGNMENT_get();
+    public static readonly int SCROLL_THRESHOLD = NDalicPINVOKE.TextEditor_Property_SCROLL_THRESHOLD_get();
+    public static readonly int SCROLL_SPEED = NDalicPINVOKE.TextEditor_Property_SCROLL_SPEED_get();
+    public static readonly int PRIMARY_CURSOR_COLOR = NDalicPINVOKE.TextEditor_Property_PRIMARY_CURSOR_COLOR_get();
+    public static readonly int SECONDARY_CURSOR_COLOR = NDalicPINVOKE.TextEditor_Property_SECONDARY_CURSOR_COLOR_get();
+    public static readonly int ENABLE_CURSOR_BLINK = NDalicPINVOKE.TextEditor_Property_ENABLE_CURSOR_BLINK_get();
+    public static readonly int CURSOR_BLINK_INTERVAL = NDalicPINVOKE.TextEditor_Property_CURSOR_BLINK_INTERVAL_get();
+    public static readonly int CURSOR_BLINK_DURATION = NDalicPINVOKE.TextEditor_Property_CURSOR_BLINK_DURATION_get();
+    public static readonly int CURSOR_WIDTH = NDalicPINVOKE.TextEditor_Property_CURSOR_WIDTH_get();
+    public static readonly int GRAB_HANDLE_IMAGE = NDalicPINVOKE.TextEditor_Property_GRAB_HANDLE_IMAGE_get();
+    public static readonly int GRAB_HANDLE_PRESSED_IMAGE = NDalicPINVOKE.TextEditor_Property_GRAB_HANDLE_PRESSED_IMAGE_get();
+    public static readonly int SELECTION_HANDLE_IMAGE_LEFT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_IMAGE_LEFT_get();
+    public static readonly int SELECTION_HANDLE_IMAGE_RIGHT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_IMAGE_RIGHT_get();
+    public static readonly int SELECTION_HANDLE_PRESSED_IMAGE_LEFT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_PRESSED_IMAGE_LEFT_get();
+    public static readonly int SELECTION_HANDLE_PRESSED_IMAGE_RIGHT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_PRESSED_IMAGE_RIGHT_get();
+    public static readonly int SELECTION_HANDLE_MARKER_IMAGE_LEFT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_MARKER_IMAGE_LEFT_get();
+    public static readonly int SELECTION_HANDLE_MARKER_IMAGE_RIGHT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_MARKER_IMAGE_RIGHT_get();
+    public static readonly int SELECTION_HIGHLIGHT_COLOR = NDalicPINVOKE.TextEditor_Property_SELECTION_HIGHLIGHT_COLOR_get();
+    public static readonly int DECORATION_BOUNDING_BOX = NDalicPINVOKE.TextEditor_Property_DECORATION_BOUNDING_BOX_get();
+    public static readonly int ENABLE_MARKUP = NDalicPINVOKE.TextEditor_Property_ENABLE_MARKUP_get();
+    public static readonly int INPUT_COLOR = NDalicPINVOKE.TextEditor_Property_INPUT_COLOR_get();
+    public static readonly int INPUT_FONT_FAMILY = NDalicPINVOKE.TextEditor_Property_INPUT_FONT_FAMILY_get();
+    public static readonly int INPUT_FONT_STYLE = NDalicPINVOKE.TextEditor_Property_INPUT_FONT_STYLE_get();
+    public static readonly int INPUT_POINT_SIZE = NDalicPINVOKE.TextEditor_Property_INPUT_POINT_SIZE_get();
+    public static readonly int LINE_SPACING = NDalicPINVOKE.TextEditor_Property_LINE_SPACING_get();
+    public static readonly int INPUT_LINE_SPACING = NDalicPINVOKE.TextEditor_Property_INPUT_LINE_SPACING_get();
+    public static readonly int UNDERLINE = NDalicPINVOKE.TextEditor_Property_UNDERLINE_get();
+    public static readonly int INPUT_UNDERLINE = NDalicPINVOKE.TextEditor_Property_INPUT_UNDERLINE_get();
+    public static readonly int SHADOW = NDalicPINVOKE.TextEditor_Property_SHADOW_get();
+    public static readonly int INPUT_SHADOW = NDalicPINVOKE.TextEditor_Property_INPUT_SHADOW_get();
+    public static readonly int EMBOSS = NDalicPINVOKE.TextEditor_Property_EMBOSS_get();
+    public static readonly int INPUT_EMBOSS = NDalicPINVOKE.TextEditor_Property_INPUT_EMBOSS_get();
+    public static readonly int OUTLINE = NDalicPINVOKE.TextEditor_Property_OUTLINE_get();
+    public static readonly int INPUT_OUTLINE = NDalicPINVOKE.TextEditor_Property_INPUT_OUTLINE_get();
+  
+  }
+
+  public class InputStyle : global::System.IDisposable {
+    private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+    protected bool swigCMemOwn;
+  
+    internal InputStyle(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(InputStyle obj) {
+      return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+    }
+  
+    ~InputStyle() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_TextEditor_InputStyle(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public InputStyle() : this(NDalicPINVOKE.new_TextEditor_InputStyle(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public enum Mask {
+      NONE = 0x0000,
+      COLOR = 0x0001,
+      FONT_FAMILY = 0x0002,
+      POINT_SIZE = 0x0004,
+      FONT_STYLE = 0x0008,
+      LINE_SPACING = 0x0010,
+      UNDERLINE = 0x0020,
+      SHADOW = 0x0040,
+      EMBOSS = 0x0080,
+      OUTLINE = 0x0100
+    }
+  
+  }
+
+  public TextEditor () : this (NDalicPINVOKE.TextEditor_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public TextEditor(TextEditor handle) : this(NDalicPINVOKE.new_TextEditor__SWIG_1(TextEditor.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public TextEditor Assign(TextEditor handle) {
+    TextEditor ret = new TextEditor(NDalicPINVOKE.TextEditor_Assign(swigCPtr, TextEditor.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static TextEditor DownCast(BaseHandle handle) {
+    TextEditor ret = new TextEditor(NDalicPINVOKE.TextEditor_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public TextEditorSignal TextChangedSignal() {
+    TextEditorSignal ret = new TextEditorSignal(NDalicPINVOKE.TextEditor_TextChangedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t InputStyleChangedSignal() {
+    SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t(NDalicPINVOKE.TextEditor_InputStyleChangedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum PropertyRange {
+    PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+    PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000
+  }
+
+  public int RenderingBackend
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( TextEditor.Property.RENDERING_BACKEND).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.RENDERING_BACKEND, new Dali.Property.Value( value ) );
+    }
+  }
+  public string Text
+  {
+    get
+    {
+      string temp;
+      GetProperty( TextEditor.Property.TEXT).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.TEXT, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector4 TextColor
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( TextEditor.Property.TEXT_COLOR).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.TEXT_COLOR, new Dali.Property.Value( value ) );
+    }
+  }
+  public string FontFamily
+  {
+    get
+    {
+      string temp;
+      GetProperty( TextEditor.Property.FONT_FAMILY).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.FONT_FAMILY, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map FontStyle
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextEditor.Property.FONT_STYLE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.FONT_STYLE, new Dali.Property.Value( value ) );
+    }
+  }
+  public float PointSize
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( TextEditor.Property.POINT_SIZE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.POINT_SIZE, new Dali.Property.Value( value ) );
+    }
+  }
+  public string HorizontalAlignment
+  {
+    get
+    {
+      string temp;
+      GetProperty( TextEditor.Property.HORIZONTAL_ALIGNMENT).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.HORIZONTAL_ALIGNMENT, new Dali.Property.Value( value ) );
+    }
+  }
+  public float ScrollThreshold
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( TextEditor.Property.SCROLL_THRESHOLD).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.SCROLL_THRESHOLD, new Dali.Property.Value( value ) );
+    }
+  }
+  public float ScrollSpeed
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( TextEditor.Property.SCROLL_SPEED).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.SCROLL_SPEED, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector4 PrimaryCursorColor
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( TextEditor.Property.PRIMARY_CURSOR_COLOR).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.PRIMARY_CURSOR_COLOR, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector4 SecondaryCursorColor
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( TextEditor.Property.SECONDARY_CURSOR_COLOR).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.SECONDARY_CURSOR_COLOR, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool EnableCursorBlink
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( TextEditor.Property.ENABLE_CURSOR_BLINK).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.ENABLE_CURSOR_BLINK, new Dali.Property.Value( value ) );
+    }
+  }
+  public float CursorBlinkInterval
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( TextEditor.Property.CURSOR_BLINK_INTERVAL).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.CURSOR_BLINK_INTERVAL, new Dali.Property.Value( value ) );
+    }
+  }
+  public float CursorBlinkDuration
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( TextEditor.Property.CURSOR_BLINK_DURATION).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.CURSOR_BLINK_DURATION, new Dali.Property.Value( value ) );
+    }
+  }
+  public int CursorWidth
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( TextEditor.Property.CURSOR_WIDTH).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.CURSOR_WIDTH, new Dali.Property.Value( value ) );
+    }
+  }
+  public string GrabHandleImage
+  {
+    get
+    {
+      string temp;
+      GetProperty( TextEditor.Property.GRAB_HANDLE_IMAGE).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.GRAB_HANDLE_IMAGE, new Dali.Property.Value( value ) );
+    }
+  }
+  public string GrabHandlePressedImage
+  {
+    get
+    {
+      string temp;
+      GetProperty( TextEditor.Property.GRAB_HANDLE_PRESSED_IMAGE).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.GRAB_HANDLE_PRESSED_IMAGE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map SelectionHandleImageLeft
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextEditor.Property.SELECTION_HANDLE_IMAGE_LEFT).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.SELECTION_HANDLE_IMAGE_LEFT, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map SelectionHandleImageRight
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextEditor.Property.SELECTION_HANDLE_IMAGE_RIGHT).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.SELECTION_HANDLE_IMAGE_RIGHT, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map SelectionHandlePressedImageLeft
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map SelectionHandlePressedImageRight
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map SelectionHandleMarkerImageLeft
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map SelectionHandleMarkerImageRight
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector4 SelectionHighlightColor
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( TextEditor.Property.SELECTION_HIGHLIGHT_COLOR).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.SELECTION_HIGHLIGHT_COLOR, new Dali.Property.Value( value ) );
+    }
+  }
+  public Rectangle DecorationBoundingBox
+  {
+    get
+    {
+      Rectangle temp = new Rectangle(0,0,0,0);
+      GetProperty( TextEditor.Property.DECORATION_BOUNDING_BOX).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.DECORATION_BOUNDING_BOX, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool EnableMarkup
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( TextEditor.Property.ENABLE_MARKUP).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.ENABLE_MARKUP, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector4 InputColor
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( TextEditor.Property.INPUT_COLOR).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.INPUT_COLOR, new Dali.Property.Value( value ) );
+    }
+  }
+  public string InputFontFamily
+  {
+    get
+    {
+      string temp;
+      GetProperty( TextEditor.Property.INPUT_FONT_FAMILY).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.INPUT_FONT_FAMILY, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map InputFontStyle
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextEditor.Property.INPUT_FONT_STYLE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.INPUT_FONT_STYLE, new Dali.Property.Value( value ) );
+    }
+  }
+  public float InputPointSize
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( TextEditor.Property.INPUT_POINT_SIZE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.INPUT_POINT_SIZE, new Dali.Property.Value( value ) );
+    }
+  }
+  public float LineSpacing
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( TextEditor.Property.LINE_SPACING).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.LINE_SPACING, new Dali.Property.Value( value ) );
+    }
+  }
+  public float InputLineSpacing
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( TextEditor.Property.INPUT_LINE_SPACING).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.INPUT_LINE_SPACING, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map Underline
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextEditor.Property.UNDERLINE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.UNDERLINE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map InputUnderline
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextEditor.Property.INPUT_UNDERLINE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.INPUT_UNDERLINE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map Shadow
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextEditor.Property.SHADOW).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.SHADOW, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map InputShadow
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextEditor.Property.INPUT_SHADOW).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.INPUT_SHADOW, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map Emboss
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextEditor.Property.EMBOSS).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.EMBOSS, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map InputEmboss
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextEditor.Property.INPUT_EMBOSS).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.INPUT_EMBOSS, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map Outline
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextEditor.Property.OUTLINE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.OUTLINE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map InputOutline
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextEditor.Property.INPUT_OUTLINE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextEditor.Property.INPUT_OUTLINE, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/TextEditorSignal.cs b/plugins/dali-sharp/sharp/internal/TextEditorSignal.cs
new file mode 100644 (file)
index 0000000..b25acc2
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class TextEditorSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal TextEditorSignal(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(TextEditorSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~TextEditorSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_TextEditorSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.TextEditorSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.TextEditorSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.TextEditorSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.TextEditorSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(TextEditor arg) {
+    NDalicPINVOKE.TextEditorSignal_Emit(swigCPtr, TextEditor.getCPtr(arg));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public TextEditorSignal() : this(NDalicPINVOKE.new_TextEditorSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/TextField.cs b/plugins/dali-sharp/sharp/internal/TextField.cs
new file mode 100644 (file)
index 0000000..2ae92f8
--- /dev/null
@@ -0,0 +1,1007 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class TextField : View {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal TextField(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextField_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextField obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~TextField() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_TextField(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+public class TextChangedEventArgs : EventArgs
+{
+   private TextField _textField;
+
+   public TextField TextField
+   {
+      get
+      {
+         return _textField;
+      }
+      set
+      {
+         _textField = value;
+      }
+   }
+}
+
+public class MaxLengthReachedEventArgs : EventArgs
+{
+   private TextField _textField;
+
+   public TextField TextField
+   {
+      get
+      {
+         return _textField;
+      }
+      set
+      {
+         _textField = value;
+      }
+   }
+}
+
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void TextChangedCallbackDelegate(IntPtr textField);
+  private DaliEventHandler<object,TextChangedEventArgs> _textFieldTextChangedEventHandler;
+  private TextChangedCallbackDelegate _textFieldTextChangedCallbackDelegate;
+  
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void MaxLengthReachedCallbackDelegate(IntPtr textField);
+  private DaliEventHandler<object,MaxLengthReachedEventArgs> _textFieldMaxLengthReachedEventHandler;
+  private MaxLengthReachedCallbackDelegate _textFieldMaxLengthReachedCallbackDelegate;
+
+  public event DaliEventHandler<object,TextChangedEventArgs> TextChanged
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_textFieldTextChangedEventHandler == null)
+           {
+              _textFieldTextChangedEventHandler += value;
+
+              _textFieldTextChangedCallbackDelegate = new TextChangedCallbackDelegate(OnTextChanged);
+              this.TextChangedSignal().Connect(_textFieldTextChangedCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_textFieldTextChangedEventHandler != null)
+           {
+              this.TextChangedSignal().Disconnect(_textFieldTextChangedCallbackDelegate);
+           }
+
+           _textFieldTextChangedEventHandler -= value;
+        }
+     }
+  }
+
+ private void OnTextChanged(IntPtr textField)
+  {
+   TextChangedEventArgs e = new TextChangedEventArgs();
+
+   // Populate all members of "e" (TextChangedEventArgs) with real data
+   e.TextField = Dali.TextField.GetTextFieldFromPtr(textField);
+
+   if (_textFieldTextChangedEventHandler != null)
+   {
+      //here we send all data to user event handlers
+      _textFieldTextChangedEventHandler(this, e);
+   }
+
+  }
+
+  public event DaliEventHandler<object,MaxLengthReachedEventArgs> MaxLengthReached
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_textFieldMaxLengthReachedEventHandler == null)
+           {
+              _textFieldMaxLengthReachedEventHandler += value;
+
+              _textFieldMaxLengthReachedCallbackDelegate = new MaxLengthReachedCallbackDelegate(OnMaxLengthReached);
+              this.MaxLengthReachedSignal().Connect(_textFieldMaxLengthReachedCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_textFieldMaxLengthReachedEventHandler != null)
+           {
+              this.MaxLengthReachedSignal().Disconnect(_textFieldMaxLengthReachedCallbackDelegate);
+           }
+
+           _textFieldMaxLengthReachedEventHandler -= value;
+        }
+     }
+  }
+
+ private void OnMaxLengthReached(IntPtr textField)
+  {
+   MaxLengthReachedEventArgs e = new MaxLengthReachedEventArgs();
+
+   // Populate all members of "e" (MaxLengthReachedEventArgs) with real data
+   e.TextField = Dali.TextField.GetTextFieldFromPtr(textField);
+
+   if (_textFieldMaxLengthReachedEventHandler != null)
+   {
+      //here we send all data to user event handlers
+      _textFieldMaxLengthReachedEventHandler(this, e);
+   }
+
+  }
+
+ public static TextField GetTextFieldFromPtr(global::System.IntPtr cPtr) {
+   TextField ret = new TextField(cPtr, false);
+   if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_TextField_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_TextField_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int RENDERING_BACKEND = NDalicPINVOKE.TextField_Property_RENDERING_BACKEND_get();
+    public static readonly int TEXT = NDalicPINVOKE.TextField_Property_TEXT_get();
+    public static readonly int PLACEHOLDER_TEXT = NDalicPINVOKE.TextField_Property_PLACEHOLDER_TEXT_get();
+    public static readonly int PLACEHOLDER_TEXT_FOCUSED = NDalicPINVOKE.TextField_Property_PLACEHOLDER_TEXT_FOCUSED_get();
+    public static readonly int FONT_FAMILY = NDalicPINVOKE.TextField_Property_FONT_FAMILY_get();
+    public static readonly int FONT_STYLE = NDalicPINVOKE.TextField_Property_FONT_STYLE_get();
+    public static readonly int POINT_SIZE = NDalicPINVOKE.TextField_Property_POINT_SIZE_get();
+    public static readonly int MAX_LENGTH = NDalicPINVOKE.TextField_Property_MAX_LENGTH_get();
+    public static readonly int EXCEED_POLICY = NDalicPINVOKE.TextField_Property_EXCEED_POLICY_get();
+    public static readonly int HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TextField_Property_HORIZONTAL_ALIGNMENT_get();
+    public static readonly int VERTICAL_ALIGNMENT = NDalicPINVOKE.TextField_Property_VERTICAL_ALIGNMENT_get();
+    public static readonly int TEXT_COLOR = NDalicPINVOKE.TextField_Property_TEXT_COLOR_get();
+    public static readonly int PLACEHOLDER_TEXT_COLOR = NDalicPINVOKE.TextField_Property_PLACEHOLDER_TEXT_COLOR_get();
+    public static readonly int SHADOW_OFFSET = NDalicPINVOKE.TextField_Property_SHADOW_OFFSET_get();
+    public static readonly int SHADOW_COLOR = NDalicPINVOKE.TextField_Property_SHADOW_COLOR_get();
+    public static readonly int PRIMARY_CURSOR_COLOR = NDalicPINVOKE.TextField_Property_PRIMARY_CURSOR_COLOR_get();
+    public static readonly int SECONDARY_CURSOR_COLOR = NDalicPINVOKE.TextField_Property_SECONDARY_CURSOR_COLOR_get();
+    public static readonly int ENABLE_CURSOR_BLINK = NDalicPINVOKE.TextField_Property_ENABLE_CURSOR_BLINK_get();
+    public static readonly int CURSOR_BLINK_INTERVAL = NDalicPINVOKE.TextField_Property_CURSOR_BLINK_INTERVAL_get();
+    public static readonly int CURSOR_BLINK_DURATION = NDalicPINVOKE.TextField_Property_CURSOR_BLINK_DURATION_get();
+    public static readonly int CURSOR_WIDTH = NDalicPINVOKE.TextField_Property_CURSOR_WIDTH_get();
+    public static readonly int GRAB_HANDLE_IMAGE = NDalicPINVOKE.TextField_Property_GRAB_HANDLE_IMAGE_get();
+    public static readonly int GRAB_HANDLE_PRESSED_IMAGE = NDalicPINVOKE.TextField_Property_GRAB_HANDLE_PRESSED_IMAGE_get();
+    public static readonly int SCROLL_THRESHOLD = NDalicPINVOKE.TextField_Property_SCROLL_THRESHOLD_get();
+    public static readonly int SCROLL_SPEED = NDalicPINVOKE.TextField_Property_SCROLL_SPEED_get();
+    public static readonly int SELECTION_HANDLE_IMAGE_LEFT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_IMAGE_LEFT_get();
+    public static readonly int SELECTION_HANDLE_IMAGE_RIGHT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_IMAGE_RIGHT_get();
+    public static readonly int SELECTION_HANDLE_PRESSED_IMAGE_LEFT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_PRESSED_IMAGE_LEFT_get();
+    public static readonly int SELECTION_HANDLE_PRESSED_IMAGE_RIGHT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_PRESSED_IMAGE_RIGHT_get();
+    public static readonly int SELECTION_HANDLE_MARKER_IMAGE_LEFT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_MARKER_IMAGE_LEFT_get();
+    public static readonly int SELECTION_HANDLE_MARKER_IMAGE_RIGHT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_MARKER_IMAGE_RIGHT_get();
+    public static readonly int SELECTION_HIGHLIGHT_COLOR = NDalicPINVOKE.TextField_Property_SELECTION_HIGHLIGHT_COLOR_get();
+    public static readonly int DECORATION_BOUNDING_BOX = NDalicPINVOKE.TextField_Property_DECORATION_BOUNDING_BOX_get();
+    public static readonly int INPUT_METHOD_SETTINGS = NDalicPINVOKE.TextField_Property_INPUT_METHOD_SETTINGS_get();
+    public static readonly int INPUT_COLOR = NDalicPINVOKE.TextField_Property_INPUT_COLOR_get();
+    public static readonly int ENABLE_MARKUP = NDalicPINVOKE.TextField_Property_ENABLE_MARKUP_get();
+    public static readonly int INPUT_FONT_FAMILY = NDalicPINVOKE.TextField_Property_INPUT_FONT_FAMILY_get();
+    public static readonly int INPUT_FONT_STYLE = NDalicPINVOKE.TextField_Property_INPUT_FONT_STYLE_get();
+    public static readonly int INPUT_POINT_SIZE = NDalicPINVOKE.TextField_Property_INPUT_POINT_SIZE_get();
+    public static readonly int UNDERLINE = NDalicPINVOKE.TextField_Property_UNDERLINE_get();
+    public static readonly int INPUT_UNDERLINE = NDalicPINVOKE.TextField_Property_INPUT_UNDERLINE_get();
+    public static readonly int SHADOW = NDalicPINVOKE.TextField_Property_SHADOW_get();
+    public static readonly int INPUT_SHADOW = NDalicPINVOKE.TextField_Property_INPUT_SHADOW_get();
+    public static readonly int EMBOSS = NDalicPINVOKE.TextField_Property_EMBOSS_get();
+    public static readonly int INPUT_EMBOSS = NDalicPINVOKE.TextField_Property_INPUT_EMBOSS_get();
+    public static readonly int OUTLINE = NDalicPINVOKE.TextField_Property_OUTLINE_get();
+    public static readonly int INPUT_OUTLINE = NDalicPINVOKE.TextField_Property_INPUT_OUTLINE_get();
+  
+  }
+
+  public class InputStyle : global::System.IDisposable {
+    private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+    protected bool swigCMemOwn;
+  
+    internal InputStyle(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(InputStyle obj) {
+      return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+    }
+  
+    ~InputStyle() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_TextField_InputStyle(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public InputStyle() : this(NDalicPINVOKE.new_TextField_InputStyle(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public enum Mask {
+      NONE = 0x0000,
+      COLOR = 0x0001,
+      FONT_FAMILY = 0x0002,
+      POINT_SIZE = 0x0004,
+      FONT_STYLE = 0x0008,
+      UNDERLINE = 0x0010,
+      SHADOW = 0x0020,
+      EMBOSS = 0x0040,
+      OUTLINE = 0x0080
+    }
+  
+  }
+
+  public TextField () : this (NDalicPINVOKE.TextField_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public TextField(TextField handle) : this(NDalicPINVOKE.new_TextField__SWIG_1(TextField.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public TextField Assign(TextField handle) {
+    TextField ret = new TextField(NDalicPINVOKE.TextField_Assign(swigCPtr, TextField.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static TextField DownCast(BaseHandle handle) {
+    TextField ret = new TextField(NDalicPINVOKE.TextField_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public TextFieldSignal TextChangedSignal() {
+    TextFieldSignal ret = new TextFieldSignal(NDalicPINVOKE.TextField_TextChangedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public TextFieldSignal MaxLengthReachedSignal() {
+    TextFieldSignal ret = new TextFieldSignal(NDalicPINVOKE.TextField_MaxLengthReachedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t InputStyleChangedSignal() {
+    SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t(NDalicPINVOKE.TextField_InputStyleChangedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum PropertyRange {
+    PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+    PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000
+  }
+
+  public enum ExceedPolicyType {
+    EXCEED_POLICY_ORIGINAL,
+    EXCEED_POLICY_CLIP
+  }
+
+  public int RenderingBackend
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( TextField.Property.RENDERING_BACKEND).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.RENDERING_BACKEND, new Dali.Property.Value( value ) );
+    }
+  }
+  public string Text
+  {
+    get
+    {
+      string temp;
+      GetProperty( TextField.Property.TEXT).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.TEXT, new Dali.Property.Value( value ) );
+    }
+  }
+  public string PlaceholderText
+  {
+    get
+    {
+      string temp;
+      GetProperty( TextField.Property.PLACEHOLDER_TEXT).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.PLACEHOLDER_TEXT, new Dali.Property.Value( value ) );
+    }
+  }
+  public string PlaceholderTextFocused
+  {
+    get
+    {
+      string temp;
+      GetProperty( TextField.Property.PLACEHOLDER_TEXT_FOCUSED).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.PLACEHOLDER_TEXT_FOCUSED, new Dali.Property.Value( value ) );
+    }
+  }
+  public string FontFamily
+  {
+    get
+    {
+      string temp;
+      GetProperty( TextField.Property.FONT_FAMILY).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.FONT_FAMILY, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map FontStyle
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextField.Property.FONT_STYLE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.FONT_STYLE, new Dali.Property.Value( value ) );
+    }
+  }
+  public float PointSize
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( TextField.Property.POINT_SIZE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.POINT_SIZE, new Dali.Property.Value( value ) );
+    }
+  }
+  public int MaxLength
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( TextField.Property.MAX_LENGTH).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.MAX_LENGTH, new Dali.Property.Value( value ) );
+    }
+  }
+  public int ExceedPolicy
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( TextField.Property.EXCEED_POLICY).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.EXCEED_POLICY, new Dali.Property.Value( value ) );
+    }
+  }
+  public string HorizontalAlignment
+  {
+    get
+    {
+      string temp;
+      GetProperty( TextField.Property.HORIZONTAL_ALIGNMENT).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.HORIZONTAL_ALIGNMENT, new Dali.Property.Value( value ) );
+    }
+  }
+  public string VerticalAlignment
+  {
+    get
+    {
+      string temp;
+      GetProperty( TextField.Property.VERTICAL_ALIGNMENT).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.VERTICAL_ALIGNMENT, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector4 TextColor
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( TextField.Property.TEXT_COLOR).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.TEXT_COLOR, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector4 PlaceholderTextColor
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( TextField.Property.PLACEHOLDER_TEXT_COLOR).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.PLACEHOLDER_TEXT_COLOR, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector2 ShadowOffset
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( TextField.Property.SHADOW_OFFSET).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.SHADOW_OFFSET, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector4 ShadowColor
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( TextField.Property.SHADOW_COLOR).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.SHADOW_COLOR, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector4 PrimaryCursorColor
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( TextField.Property.PRIMARY_CURSOR_COLOR).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.PRIMARY_CURSOR_COLOR, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector4 SecondaryCursorColor
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( TextField.Property.SECONDARY_CURSOR_COLOR).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.SECONDARY_CURSOR_COLOR, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool EnableCursorBlink
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( TextField.Property.ENABLE_CURSOR_BLINK).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.ENABLE_CURSOR_BLINK, new Dali.Property.Value( value ) );
+    }
+  }
+  public float CursorBlinkInterval
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( TextField.Property.CURSOR_BLINK_INTERVAL).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.CURSOR_BLINK_INTERVAL, new Dali.Property.Value( value ) );
+    }
+  }
+  public float CursorBlinkDuration
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( TextField.Property.CURSOR_BLINK_DURATION).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.CURSOR_BLINK_DURATION, new Dali.Property.Value( value ) );
+    }
+  }
+  public int CursorWidth
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( TextField.Property.CURSOR_WIDTH).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.CURSOR_WIDTH, new Dali.Property.Value( value ) );
+    }
+  }
+  public string GrabHandleImage
+  {
+    get
+    {
+      string temp;
+      GetProperty( TextField.Property.GRAB_HANDLE_IMAGE).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.GRAB_HANDLE_IMAGE, new Dali.Property.Value( value ) );
+    }
+  }
+  public string GrabHandlePressedImage
+  {
+    get
+    {
+      string temp;
+      GetProperty( TextField.Property.GRAB_HANDLE_PRESSED_IMAGE).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.GRAB_HANDLE_PRESSED_IMAGE, new Dali.Property.Value( value ) );
+    }
+  }
+  public float ScrollThreshold
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( TextField.Property.SCROLL_THRESHOLD).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.SCROLL_THRESHOLD, new Dali.Property.Value( value ) );
+    }
+  }
+  public float ScrollSpeed
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( TextField.Property.SCROLL_SPEED).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.SCROLL_SPEED, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map SelectionHandleImageLeft
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextField.Property.SELECTION_HANDLE_IMAGE_LEFT).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.SELECTION_HANDLE_IMAGE_LEFT, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map SelectionHandleImageRight
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextField.Property.SELECTION_HANDLE_IMAGE_RIGHT).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.SELECTION_HANDLE_IMAGE_RIGHT, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map SelectionHandlePressedImageLeft
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map SelectionHandlePressedImageRight
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map SelectionHandleMarkerImageLeft
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map SelectionHandleMarkerImageRight
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector4 SelectionHighlightColor
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( TextField.Property.SELECTION_HIGHLIGHT_COLOR).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.SELECTION_HIGHLIGHT_COLOR, new Dali.Property.Value( value ) );
+    }
+  }
+  public Rectangle DecorationBoundingBox
+  {
+    get
+    {
+      Rectangle temp = new Rectangle(0,0,0,0);
+      GetProperty( TextField.Property.DECORATION_BOUNDING_BOX).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.DECORATION_BOUNDING_BOX, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map InputMethodSettings
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextField.Property.INPUT_METHOD_SETTINGS).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.INPUT_METHOD_SETTINGS, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector4 InputColor
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( TextField.Property.INPUT_COLOR).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.INPUT_COLOR, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool EnableMarkup
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( TextField.Property.ENABLE_MARKUP).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.ENABLE_MARKUP, new Dali.Property.Value( value ) );
+    }
+  }
+  public string InputFontFamily
+  {
+    get
+    {
+      string temp;
+      GetProperty( TextField.Property.INPUT_FONT_FAMILY).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.INPUT_FONT_FAMILY, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map InputFontStyle
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextField.Property.INPUT_FONT_STYLE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.INPUT_FONT_STYLE, new Dali.Property.Value( value ) );
+    }
+  }
+  public float InputPointSize
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( TextField.Property.INPUT_POINT_SIZE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.INPUT_POINT_SIZE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map Underline
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextField.Property.UNDERLINE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.UNDERLINE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map InputUnderline
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextField.Property.INPUT_UNDERLINE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.INPUT_UNDERLINE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map Shadow
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextField.Property.SHADOW).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.SHADOW, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map InputShadow
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextField.Property.INPUT_SHADOW).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.INPUT_SHADOW, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map Emboss
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextField.Property.EMBOSS).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.EMBOSS, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map InputEmboss
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextField.Property.INPUT_EMBOSS).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.INPUT_EMBOSS, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map Outline
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextField.Property.OUTLINE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.OUTLINE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map InputOutline
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextField.Property.INPUT_OUTLINE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextField.Property.INPUT_OUTLINE, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/TextFieldSignal.cs b/plugins/dali-sharp/sharp/internal/TextFieldSignal.cs
new file mode 100644 (file)
index 0000000..ffe714d
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class TextFieldSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal TextFieldSignal(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(TextFieldSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~TextFieldSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_TextFieldSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.TextFieldSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.TextFieldSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.TextFieldSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.TextFieldSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(TextField arg) {
+    NDalicPINVOKE.TextFieldSignal_Emit(swigCPtr, TextField.getCPtr(arg));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public TextFieldSignal() : this(NDalicPINVOKE.new_TextFieldSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/TextLabel.cs b/plugins/dali-sharp/sharp/internal/TextLabel.cs
new file mode 100644 (file)
index 0000000..2cdeca8
--- /dev/null
@@ -0,0 +1,469 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class TextLabel : View {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal TextLabel(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextLabel_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextLabel obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~TextLabel() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_TextLabel(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_TextLabel_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_TextLabel_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int RENDERING_BACKEND = NDalicPINVOKE.TextLabel_Property_RENDERING_BACKEND_get();
+    public static readonly int TEXT = NDalicPINVOKE.TextLabel_Property_TEXT_get();
+    public static readonly int FONT_FAMILY = NDalicPINVOKE.TextLabel_Property_FONT_FAMILY_get();
+    public static readonly int FONT_STYLE = NDalicPINVOKE.TextLabel_Property_FONT_STYLE_get();
+    public static readonly int POINT_SIZE = NDalicPINVOKE.TextLabel_Property_POINT_SIZE_get();
+    public static readonly int MULTI_LINE = NDalicPINVOKE.TextLabel_Property_MULTI_LINE_get();
+    public static readonly int HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TextLabel_Property_HORIZONTAL_ALIGNMENT_get();
+    public static readonly int VERTICAL_ALIGNMENT = NDalicPINVOKE.TextLabel_Property_VERTICAL_ALIGNMENT_get();
+    public static readonly int TEXT_COLOR = NDalicPINVOKE.TextLabel_Property_TEXT_COLOR_get();
+    public static readonly int SHADOW_OFFSET = NDalicPINVOKE.TextLabel_Property_SHADOW_OFFSET_get();
+    public static readonly int SHADOW_COLOR = NDalicPINVOKE.TextLabel_Property_SHADOW_COLOR_get();
+    public static readonly int UNDERLINE_ENABLED = NDalicPINVOKE.TextLabel_Property_UNDERLINE_ENABLED_get();
+    public static readonly int UNDERLINE_COLOR = NDalicPINVOKE.TextLabel_Property_UNDERLINE_COLOR_get();
+    public static readonly int UNDERLINE_HEIGHT = NDalicPINVOKE.TextLabel_Property_UNDERLINE_HEIGHT_get();
+    public static readonly int ENABLE_MARKUP = NDalicPINVOKE.TextLabel_Property_ENABLE_MARKUP_get();
+    public static readonly int ENABLE_AUTO_SCROLL = NDalicPINVOKE.TextLabel_Property_ENABLE_AUTO_SCROLL_get();
+    public static readonly int AUTO_SCROLL_SPEED = NDalicPINVOKE.TextLabel_Property_AUTO_SCROLL_SPEED_get();
+    public static readonly int AUTO_SCROLL_LOOP_COUNT = NDalicPINVOKE.TextLabel_Property_AUTO_SCROLL_LOOP_COUNT_get();
+    public static readonly int AUTO_SCROLL_GAP = NDalicPINVOKE.TextLabel_Property_AUTO_SCROLL_GAP_get();
+    public static readonly int LINE_SPACING = NDalicPINVOKE.TextLabel_Property_LINE_SPACING_get();
+    public static readonly int UNDERLINE = NDalicPINVOKE.TextLabel_Property_UNDERLINE_get();
+    public static readonly int SHADOW = NDalicPINVOKE.TextLabel_Property_SHADOW_get();
+    public static readonly int EMBOSS = NDalicPINVOKE.TextLabel_Property_EMBOSS_get();
+    public static readonly int OUTLINE = NDalicPINVOKE.TextLabel_Property_OUTLINE_get();
+  
+  }
+
+  public TextLabel () : this (NDalicPINVOKE.TextLabel_New__SWIG_0(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public TextLabel (string text) : this (NDalicPINVOKE.TextLabel_New__SWIG_1(text), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public TextLabel(TextLabel handle) : this(NDalicPINVOKE.new_TextLabel__SWIG_1(TextLabel.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public TextLabel Assign(TextLabel handle) {
+    TextLabel ret = new TextLabel(NDalicPINVOKE.TextLabel_Assign(swigCPtr, TextLabel.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static TextLabel DownCast(BaseHandle handle) {
+    TextLabel ret = new TextLabel(NDalicPINVOKE.TextLabel_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum PropertyRange {
+    PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+    PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000
+  }
+
+  public int RenderingBackend
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( TextLabel.Property.RENDERING_BACKEND).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextLabel.Property.RENDERING_BACKEND, new Dali.Property.Value( value ) );
+    }
+  }
+  public string Text
+  {
+    get
+    {
+      string temp;
+      GetProperty( TextLabel.Property.TEXT).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextLabel.Property.TEXT, new Dali.Property.Value( value ) );
+    }
+  }
+  public string FontFamily
+  {
+    get
+    {
+      string temp;
+      GetProperty( TextLabel.Property.FONT_FAMILY).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextLabel.Property.FONT_FAMILY, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map FontStyle
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextLabel.Property.FONT_STYLE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextLabel.Property.FONT_STYLE, new Dali.Property.Value( value ) );
+    }
+  }
+  public float PointSize
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( TextLabel.Property.POINT_SIZE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextLabel.Property.POINT_SIZE, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool MultiLine
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( TextLabel.Property.MULTI_LINE).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextLabel.Property.MULTI_LINE, new Dali.Property.Value( value ) );
+    }
+  }
+  public string HorizontalAlignment
+  {
+    get
+    {
+      string temp;
+      GetProperty( TextLabel.Property.HORIZONTAL_ALIGNMENT).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextLabel.Property.HORIZONTAL_ALIGNMENT, new Dali.Property.Value( value ) );
+    }
+  }
+  public string VerticalAlignment
+  {
+    get
+    {
+      string temp;
+      GetProperty( TextLabel.Property.VERTICAL_ALIGNMENT).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextLabel.Property.VERTICAL_ALIGNMENT, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector4 TextColor
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( TextLabel.Property.TEXT_COLOR).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextLabel.Property.TEXT_COLOR, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector2 ShadowOffset
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( TextLabel.Property.SHADOW_OFFSET).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextLabel.Property.SHADOW_OFFSET, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector4 ShadowColor
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( TextLabel.Property.SHADOW_COLOR).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextLabel.Property.SHADOW_COLOR, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool UnderlineEnabled
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( TextLabel.Property.UNDERLINE_ENABLED).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextLabel.Property.UNDERLINE_ENABLED, new Dali.Property.Value( value ) );
+    }
+  }
+  public Vector4 UnderlineColor
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( TextLabel.Property.UNDERLINE_COLOR).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextLabel.Property.UNDERLINE_COLOR, new Dali.Property.Value( value ) );
+    }
+  }
+  public float UnderlineHeight
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( TextLabel.Property.UNDERLINE_HEIGHT).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextLabel.Property.UNDERLINE_HEIGHT, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool EnableMarkup
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( TextLabel.Property.ENABLE_MARKUP).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextLabel.Property.ENABLE_MARKUP, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool EnableAutoScroll
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( TextLabel.Property.ENABLE_AUTO_SCROLL).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextLabel.Property.ENABLE_AUTO_SCROLL, new Dali.Property.Value( value ) );
+    }
+  }
+  public int AutoScrollSpeed
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( TextLabel.Property.AUTO_SCROLL_SPEED).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextLabel.Property.AUTO_SCROLL_SPEED, new Dali.Property.Value( value ) );
+    }
+  }
+  public int AutoScrollLoopCount
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( TextLabel.Property.AUTO_SCROLL_LOOP_COUNT).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextLabel.Property.AUTO_SCROLL_LOOP_COUNT, new Dali.Property.Value( value ) );
+    }
+  }
+  public float AutoScrollGap
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( TextLabel.Property.AUTO_SCROLL_GAP).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextLabel.Property.AUTO_SCROLL_GAP, new Dali.Property.Value( value ) );
+    }
+  }
+  public float LineSpacing
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( TextLabel.Property.LINE_SPACING).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextLabel.Property.LINE_SPACING, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map Underline
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextLabel.Property.UNDERLINE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextLabel.Property.UNDERLINE, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map Shadow
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextLabel.Property.SHADOW).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextLabel.Property.SHADOW, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map Emboss
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextLabel.Property.EMBOSS).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextLabel.Property.EMBOSS, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map Outline
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( TextLabel.Property.OUTLINE).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TextLabel.Property.OUTLINE, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Texture.cs b/plugins/dali-sharp/sharp/internal/Texture.cs
new file mode 100644 (file)
index 0000000..96f5c18
--- /dev/null
@@ -0,0 +1,123 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Texture : BaseHandle {
+  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;
+  }
+
+  ~Texture() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public Texture (TextureType type, PixelFormat format, uint width, uint height) : this (NDalicPINVOKE.Texture_New__SWIG_0((int)type, (int)format, width, height), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public Texture (NativeImageInterface nativeImageInterface) : this (NDalicPINVOKE.Texture_New__SWIG_1(NativeImageInterface.getCPtr(nativeImageInterface)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public Texture(Texture handle) : this(NDalicPINVOKE.new_Texture__SWIG_1(Texture.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static Texture DownCast(BaseHandle handle) {
+    Texture ret = new Texture(NDalicPINVOKE.Texture_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Texture Assign(Texture handle) {
+    Texture ret = new Texture(NDalicPINVOKE.Texture_Assign(swigCPtr, Texture.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool Upload(PixelData pixelData) {
+    bool ret = NDalicPINVOKE.Texture_Upload__SWIG_0(swigCPtr, PixelData.getCPtr(pixelData));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool Upload(PixelData pixelData, uint layer, uint mipmap, uint xOffset, uint yOffset, uint width, uint height) {
+    bool ret = NDalicPINVOKE.Texture_Upload__SWIG_1(swigCPtr, PixelData.getCPtr(pixelData), layer, mipmap, xOffset, yOffset, width, height);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void GenerateMipmaps() {
+    NDalicPINVOKE.Texture_GenerateMipmaps(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public uint GetWidth() {
+    uint ret = NDalicPINVOKE.Texture_GetWidth(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetHeight() {
+    uint ret = NDalicPINVOKE.Texture_GetHeight(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Texture(SWIGTYPE_p_Dali__Internal__Texture pointer) : this(NDalicPINVOKE.new_Texture__SWIG_2(SWIGTYPE_p_Dali__Internal__Texture.getCPtr(pointer)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/TextureSet.cs b/plugins/dali-sharp/sharp/internal/TextureSet.cs
new file mode 100644 (file)
index 0000000..adb5ce9
--- /dev/null
@@ -0,0 +1,114 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class TextureSet : BaseHandle {
+  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;
+  }
+
+  ~TextureSet() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public TextureSet () : this (NDalicPINVOKE.TextureSet_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public TextureSet(TextureSet handle) : this(NDalicPINVOKE.new_TextureSet__SWIG_1(TextureSet.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static TextureSet DownCast(BaseHandle handle) {
+    TextureSet ret = new TextureSet(NDalicPINVOKE.TextureSet_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public TextureSet Assign(TextureSet handle) {
+    TextureSet ret = new TextureSet(NDalicPINVOKE.TextureSet_Assign(swigCPtr, TextureSet.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetTexture(uint index, Texture texture) {
+    NDalicPINVOKE.TextureSet_SetTexture(swigCPtr, index, Texture.getCPtr(texture));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Texture GetTexture(uint index) {
+    Texture ret = new Texture(NDalicPINVOKE.TextureSet_GetTexture(swigCPtr, index), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetSampler(uint index, Sampler sampler) {
+    NDalicPINVOKE.TextureSet_SetSampler(swigCPtr, index, Sampler.getCPtr(sampler));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Sampler GetSampler(uint index) {
+    Sampler ret = new Sampler(NDalicPINVOKE.TextureSet_GetSampler(swigCPtr, index), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetTextureCount() {
+    uint ret = NDalicPINVOKE.TextureSet_GetTextureCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/TextureType.cs b/plugins/dali-sharp/sharp/internal/TextureType.cs
new file mode 100644 (file)
index 0000000..2ee172b
--- /dev/null
@@ -0,0 +1,18 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum TextureType {
+  TEXTURE_2D,
+  TEXTURE_CUBE
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/TimePeriod.cs b/plugins/dali-sharp/sharp/internal/TimePeriod.cs
new file mode 100644 (file)
index 0000000..c268aed
--- /dev/null
@@ -0,0 +1,83 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class TimePeriod : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal TimePeriod(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(TimePeriod obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~TimePeriod() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_TimePeriod(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public TimePeriod(float durationSeconds) : this(NDalicPINVOKE.new_TimePeriod__SWIG_0(durationSeconds), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public TimePeriod(float delaySeconds, float durationSeconds) : this(NDalicPINVOKE.new_TimePeriod__SWIG_1(delaySeconds, durationSeconds), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float delaySeconds {
+    set {
+      NDalicPINVOKE.TimePeriod_delaySeconds_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      float ret = NDalicPINVOKE.TimePeriod_delaySeconds_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public float durationSeconds {
+    set {
+      NDalicPINVOKE.TimePeriod_durationSeconds_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      float ret = NDalicPINVOKE.TimePeriod_durationSeconds_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Timer.cs b/plugins/dali-sharp/sharp/internal/Timer.cs
new file mode 100644 (file)
index 0000000..d744e5c
--- /dev/null
@@ -0,0 +1,187 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class Timer : BaseHandle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal Timer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Timer_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  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;
+  }
+
+  ~Timer() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+  /**
+    * @brief Event arguments that passed via Tick signal
+    *
+    */
+  public class TickEventArgs : EventArgs
+  {
+  }
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate bool TickCallbackDelegate(IntPtr data);
+  private DaliEventHandlerWithReturnType<object,TickEventArgs,bool> _timerTickEventHandler;
+  private TickCallbackDelegate _timerTickCallbackDelegate;
+
+  /**
+    * @brief Event for Ticked signal which can be used to subscribe/unsubscribe the event handler
+    * (in the type of TickEventHandler-DaliEventHandlerWithReturnType<object,TickEventArgs,bool>) 
+    * provided by the user. Ticked signal is emitted after specified time interval.
+    */
+  public event DaliEventHandlerWithReturnType<object,TickEventArgs,bool> Tick
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_timerTickEventHandler == null)
+           {
+              _timerTickEventHandler += value;
+
+              _timerTickCallbackDelegate = new TickCallbackDelegate(OnTick);
+              this.TickSignal().Connect(_timerTickCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_timerTickEventHandler != null)
+           {
+              this.TickSignal().Disconnect(_timerTickCallbackDelegate);
+           }
+
+           _timerTickEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for Timer Tick signal
+  private bool OnTick(IntPtr data)
+  {
+     TickEventArgs e = new TickEventArgs();
+
+     if (_timerTickEventHandler != null)
+     {
+        //here we send all data to user event handlers
+        return _timerTickEventHandler(this, e);
+     }
+     return false;
+  }
+
+
+  public Timer (uint milliSec) : this (NDalicPINVOKE.Timer_New(milliSec), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public Timer(Timer timer) : this(NDalicPINVOKE.new_Timer__SWIG_1(Timer.getCPtr(timer)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Timer Assign(Timer timer) {
+    Timer ret = new Timer(NDalicPINVOKE.Timer_Assign(swigCPtr, Timer.getCPtr(timer)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static Timer DownCast(BaseHandle handle) {
+    Timer ret = new Timer(NDalicPINVOKE.Timer_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Start() {
+    NDalicPINVOKE.Timer_Start(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Stop() {
+    NDalicPINVOKE.Timer_Stop(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetInterval(uint milliSec) {
+    NDalicPINVOKE.Timer_SetInterval(swigCPtr, milliSec);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public uint GetInterval() {
+    uint ret = NDalicPINVOKE.Timer_GetInterval(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool IsRunning() {
+    bool ret = NDalicPINVOKE.Timer_IsRunning(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public TimerSignalType TickSignal() {
+    TimerSignalType ret = new TimerSignalType(NDalicPINVOKE.Timer_TickSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/TimerSignalType.cs b/plugins/dali-sharp/sharp/internal/TimerSignalType.cs
new file mode 100644 (file)
index 0000000..dd55b5a
--- /dev/null
@@ -0,0 +1,89 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class TimerSignalType : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal TimerSignalType(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(TimerSignalType obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~TimerSignalType() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_TimerSignalType(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.TimerSignalType_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.TimerSignalType_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.TimerSignalType_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.TimerSignalType_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public bool Emit() {
+    bool ret = NDalicPINVOKE.TimerSignalType_Emit(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public TimerSignalType() : this(NDalicPINVOKE.new_TimerSignalType(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ToggleButton.cs b/plugins/dali-sharp/sharp/internal/ToggleButton.cs
new file mode 100644 (file)
index 0000000..914ed83
--- /dev/null
@@ -0,0 +1,171 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ToggleButton : Button {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal ToggleButton(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ToggleButton_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ToggleButton obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ToggleButton() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ToggleButton(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_ToggleButton_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_ToggleButton_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int STATE_VISUALS = NDalicPINVOKE.ToggleButton_Property_STATE_VISUALS_get();
+    public static readonly int TOOLTIPS = NDalicPINVOKE.ToggleButton_Property_TOOLTIPS_get();
+    public static readonly int CURRENT_STATE_INDEX = NDalicPINVOKE.ToggleButton_Property_CURRENT_STATE_INDEX_get();
+  
+  }
+
+  public ToggleButton () : this (NDalicPINVOKE.ToggleButton_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public ToggleButton(ToggleButton toggleButton) : this(NDalicPINVOKE.new_ToggleButton__SWIG_1(ToggleButton.getCPtr(toggleButton)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ToggleButton Assign(ToggleButton toggleButton) {
+    ToggleButton ret = new ToggleButton(NDalicPINVOKE.ToggleButton_Assign(swigCPtr, ToggleButton.getCPtr(toggleButton)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static ToggleButton DownCast(BaseHandle handle) {
+    ToggleButton ret = new ToggleButton(NDalicPINVOKE.ToggleButton_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum PropertyRange {
+    PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+    PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000
+  }
+
+  public Dali.Property.Array StateVisuals
+  {
+    get
+    {
+      Dali.Property.Array temp = new Dali.Property.Array();
+      GetProperty( ToggleButton.Property.STATE_VISUALS).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ToggleButton.Property.STATE_VISUALS, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Array Tooltips
+  {
+    get
+    {
+      Dali.Property.Array temp = new Dali.Property.Array();
+      GetProperty( ToggleButton.Property.TOOLTIPS).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ToggleButton.Property.TOOLTIPS, new Dali.Property.Value( value ) );
+    }
+  }
+  public int CurrentStateIndex
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( ToggleButton.Property.CURRENT_STATE_INDEX).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( ToggleButton.Property.CURRENT_STATE_INDEX, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ToolkitPropertyRange.cs b/plugins/dali-sharp/sharp/internal/ToolkitPropertyRange.cs
new file mode 100644 (file)
index 0000000..ee8d944
--- /dev/null
@@ -0,0 +1,20 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum ToolkitPropertyRange {
+  VISUAL_PROPERTY_BASE_START_INDEX = PropertyRanges.CORE_PROPERTY_MAX_INDEX+1,
+  VISUAL_PROPERTY_BASE_END_INDEX = VISUAL_PROPERTY_BASE_START_INDEX+100,
+  VISUAL_PROPERTY_START_INDEX = VISUAL_PROPERTY_BASE_END_INDEX+1,
+  VISUAL_PROPERTY_END_INDEX = VISUAL_PROPERTY_START_INDEX+100000
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/TooltipPositionType.cs b/plugins/dali-sharp/sharp/internal/TooltipPositionType.cs
new file mode 100644 (file)
index 0000000..26dd0cb
--- /dev/null
@@ -0,0 +1,19 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum TooltipPositionType {
+  ABOVE,
+  BELOW,
+  HOVER_POINT
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Touch.cs b/plugins/dali-sharp/sharp/internal/Touch.cs
new file mode 100644 (file)
index 0000000..aa04a65
--- /dev/null
@@ -0,0 +1,136 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Touch : BaseHandle {
+  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;
+  }
+
+  ~Touch() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public static Touch GetTouchFromPtr(global::System.IntPtr cPtr) {
+    Touch ret = new Touch(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Touch() : this(NDalicPINVOKE.new_Touch__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Touch(Touch other) : this(NDalicPINVOKE.new_Touch__SWIG_1(Touch.getCPtr(other)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Touch Assign(Touch other) {
+    Touch ret = new Touch(NDalicPINVOKE.Touch_Assign(swigCPtr, Touch.getCPtr(other)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetTime() {
+    uint ret = NDalicPINVOKE.Touch_GetTime(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetPointCount() {
+    uint ret = NDalicPINVOKE.Touch_GetPointCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public int GetDeviceId(uint point) {
+    int ret = NDalicPINVOKE.Touch_GetDeviceId(swigCPtr, point);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public PointStateType GetState(uint point) {
+    PointStateType ret = (PointStateType)NDalicPINVOKE.Touch_GetState(swigCPtr, point);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Actor GetHitActor(uint point) {
+    Actor ret = new Actor(NDalicPINVOKE.Touch_GetHitActor(swigCPtr, point), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector2 GetLocalPosition(uint point) {
+    Vector2 ret = new Vector2(NDalicPINVOKE.Touch_GetLocalPosition(swigCPtr, point), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector2 GetScreenPosition(uint point) {
+    Vector2 ret = new Vector2(NDalicPINVOKE.Touch_GetScreenPosition(swigCPtr, point), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float GetRadius(uint point) {
+    float ret = NDalicPINVOKE.Touch_GetRadius(swigCPtr, point);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector2 GetEllipseRadius(uint point) {
+    Vector2 ret = new Vector2(NDalicPINVOKE.Touch_GetEllipseRadius(swigCPtr, point), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float GetPressure(uint point) {
+    float ret = NDalicPINVOKE.Touch_GetPressure(swigCPtr, point);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Degree GetAngle(uint point) {
+    Degree ret = new Degree(NDalicPINVOKE.Touch_GetAngle(swigCPtr, point), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/TouchPoint.cs b/plugins/dali-sharp/sharp/internal/TouchPoint.cs
new file mode 100644 (file)
index 0000000..cd98332
--- /dev/null
@@ -0,0 +1,134 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class TouchPoint : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal TouchPoint(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(TouchPoint obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~TouchPoint() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_TouchPoint(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public TouchPoint(int id, TouchPoint.State state, float screenX, float screenY) : this(NDalicPINVOKE.new_TouchPoint__SWIG_0(id, (int)state, screenX, screenY), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public TouchPoint(int id, TouchPoint.State state, float screenX, float screenY, float localX, float localY) : this(NDalicPINVOKE.new_TouchPoint__SWIG_1(id, (int)state, screenX, screenY, localX, localY), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public int deviceId {
+    set {
+      NDalicPINVOKE.TouchPoint_deviceId_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      int ret = NDalicPINVOKE.TouchPoint_deviceId_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public TouchPoint.State state {
+    set {
+      NDalicPINVOKE.TouchPoint_state_set(swigCPtr, (int)value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      TouchPoint.State ret = (TouchPoint.State)NDalicPINVOKE.TouchPoint_state_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public Actor hitActor {
+    set {
+      NDalicPINVOKE.TouchPoint_hitActor_set(swigCPtr, Actor.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.TouchPoint_hitActor_get(swigCPtr);
+      Actor ret = (cPtr == global::System.IntPtr.Zero) ? null : new Actor(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public Vector2 local {
+    set {
+      NDalicPINVOKE.TouchPoint_local_set(swigCPtr, Vector2.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.TouchPoint_local_get(swigCPtr);
+      Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public Vector2 screen {
+    set {
+      NDalicPINVOKE.TouchPoint_screen_set(swigCPtr, Vector2.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.TouchPoint_screen_get(swigCPtr);
+      Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public enum State {
+    Started,
+    Finished,
+    Down = Started,
+    Up = Finished,
+    Motion,
+    Leave,
+    Stationary,
+    Interrupted,
+    Last
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/TouchPointContainer.cs b/plugins/dali-sharp/sharp/internal/TouchPointContainer.cs
new file mode 100644 (file)
index 0000000..41509fc
--- /dev/null
@@ -0,0 +1,321 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class TouchPointContainer : global::System.IDisposable, global::System.Collections.IEnumerable
+    , global::System.Collections.Generic.IEnumerable<TouchPoint>
+ {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal TouchPointContainer(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(TouchPointContainer obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~TouchPointContainer() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_TouchPointContainer(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public TouchPointContainer(global::System.Collections.ICollection c) : this() {
+    if (c == null)
+      throw new global::System.ArgumentNullException("c");
+    foreach (TouchPoint element in c) {
+      this.Add(element);
+    }
+  }
+
+  public bool IsFixedSize {
+    get {
+      return false;
+    }
+  }
+
+  public bool IsReadOnly {
+    get {
+      return false;
+    }
+  }
+
+  public TouchPoint this[int index]  {
+    get {
+      return getitem(index);
+    }
+    set {
+      setitem(index, value);
+    }
+  }
+
+  public int Capacity {
+    get {
+      return (int)capacity();
+    }
+    set {
+      if (value < size())
+        throw new global::System.ArgumentOutOfRangeException("Capacity");
+      reserve((uint)value);
+    }
+  }
+
+  public int Count {
+    get {
+      return (int)size();
+    }
+  }
+
+  public bool IsSynchronized {
+    get {
+      return false;
+    }
+  }
+
+  public void CopyTo(TouchPoint[] array)
+  {
+    CopyTo(0, array, 0, this.Count);
+  }
+
+  public void CopyTo(TouchPoint[] array, int arrayIndex)
+  {
+    CopyTo(0, array, arrayIndex, this.Count);
+  }
+
+  public void CopyTo(int index, TouchPoint[] array, int arrayIndex, int count)
+  {
+    if (array == null)
+      throw new global::System.ArgumentNullException("array");
+    if (index < 0)
+      throw new global::System.ArgumentOutOfRangeException("index", "Value is less than zero");
+    if (arrayIndex < 0)
+      throw new global::System.ArgumentOutOfRangeException("arrayIndex", "Value is less than zero");
+    if (count < 0)
+      throw new global::System.ArgumentOutOfRangeException("count", "Value is less than zero");
+    if (array.Rank > 1)
+      throw new global::System.ArgumentException("Multi dimensional array.", "array");
+    if (index+count > this.Count || arrayIndex+count > array.Length)
+      throw new global::System.ArgumentException("Number of elements to copy is too large.");
+    for (int i=0; i<count; i++)
+      array.SetValue(getitemcopy(index+i), arrayIndex+i);
+  }
+
+  global::System.Collections.Generic.IEnumerator<TouchPoint> global::System.Collections.Generic.IEnumerable<TouchPoint>.GetEnumerator() {
+    return new TouchPointContainerEnumerator(this);
+  }
+
+  global::System.Collections.IEnumerator global::System.Collections.IEnumerable.GetEnumerator() {
+    return new TouchPointContainerEnumerator(this);
+  }
+
+  public TouchPointContainerEnumerator GetEnumerator() {
+    return new TouchPointContainerEnumerator(this);
+  }
+
+  // Type-safe enumerator
+  /// Note that the IEnumerator documentation requires an InvalidOperationException to be thrown
+  /// whenever the collection is modified. This has been done for changes in the size of the
+  /// collection but not when one of the elements of the collection is modified as it is a bit
+  /// tricky to detect unmanaged code that modifies the collection under our feet.
+  public sealed class TouchPointContainerEnumerator : global::System.Collections.IEnumerator
+    , global::System.Collections.Generic.IEnumerator<TouchPoint>
+  {
+    private TouchPointContainer collectionRef;
+    private int currentIndex;
+    private object currentObject;
+    private int currentSize;
+
+    public TouchPointContainerEnumerator(TouchPointContainer collection) {
+      collectionRef = collection;
+      currentIndex = -1;
+      currentObject = null;
+      currentSize = collectionRef.Count;
+    }
+
+    // Type-safe iterator Current
+    public TouchPoint Current {
+      get {
+        if (currentIndex == -1)
+          throw new global::System.InvalidOperationException("Enumeration not started.");
+        if (currentIndex > currentSize - 1)
+          throw new global::System.InvalidOperationException("Enumeration finished.");
+        if (currentObject == null)
+          throw new global::System.InvalidOperationException("Collection modified.");
+        return (TouchPoint)currentObject;
+      }
+    }
+
+    // Type-unsafe IEnumerator.Current
+    object global::System.Collections.IEnumerator.Current {
+      get {
+        return Current;
+      }
+    }
+
+    public bool MoveNext() {
+      int size = collectionRef.Count;
+      bool moveOkay = (currentIndex+1 < size) && (size == currentSize);
+      if (moveOkay) {
+        currentIndex++;
+        currentObject = collectionRef[currentIndex];
+      } else {
+        currentObject = null;
+      }
+      return moveOkay;
+    }
+
+    public void Reset() {
+      currentIndex = -1;
+      currentObject = null;
+      if (collectionRef.Count != currentSize) {
+        throw new global::System.InvalidOperationException("Collection modified.");
+      }
+    }
+
+    public void Dispose() {
+        currentIndex = -1;
+        currentObject = null;
+    }
+  }
+
+  public void Clear() {
+    NDalicPINVOKE.TouchPointContainer_Clear(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Add(TouchPoint x) {
+    NDalicPINVOKE.TouchPointContainer_Add(swigCPtr, TouchPoint.getCPtr(x));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  private uint size() {
+    uint ret = NDalicPINVOKE.TouchPointContainer_size(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private uint capacity() {
+    uint ret = NDalicPINVOKE.TouchPointContainer_capacity(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private void reserve(uint n) {
+    NDalicPINVOKE.TouchPointContainer_reserve(swigCPtr, n);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public TouchPointContainer() : this(NDalicPINVOKE.new_TouchPointContainer__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public TouchPointContainer(TouchPointContainer other) : this(NDalicPINVOKE.new_TouchPointContainer__SWIG_1(TouchPointContainer.getCPtr(other)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public TouchPointContainer(int capacity) : this(NDalicPINVOKE.new_TouchPointContainer__SWIG_2(capacity), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  private TouchPoint getitemcopy(int index) {
+    TouchPoint ret = new TouchPoint(NDalicPINVOKE.TouchPointContainer_getitemcopy(swigCPtr, index), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private TouchPoint getitem(int index) {
+    TouchPoint ret = new TouchPoint(NDalicPINVOKE.TouchPointContainer_getitem(swigCPtr, index), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private void setitem(int index, TouchPoint val) {
+    NDalicPINVOKE.TouchPointContainer_setitem(swigCPtr, index, TouchPoint.getCPtr(val));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AddRange(TouchPointContainer values) {
+    NDalicPINVOKE.TouchPointContainer_AddRange(swigCPtr, TouchPointContainer.getCPtr(values));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public TouchPointContainer GetRange(int index, int count) {
+    global::System.IntPtr cPtr = NDalicPINVOKE.TouchPointContainer_GetRange(swigCPtr, index, count);
+    TouchPointContainer ret = (cPtr == global::System.IntPtr.Zero) ? null : new TouchPointContainer(cPtr, true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Insert(int index, TouchPoint x) {
+    NDalicPINVOKE.TouchPointContainer_Insert(swigCPtr, index, TouchPoint.getCPtr(x));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void InsertRange(int index, TouchPointContainer values) {
+    NDalicPINVOKE.TouchPointContainer_InsertRange(swigCPtr, index, TouchPointContainer.getCPtr(values));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RemoveAt(int index) {
+    NDalicPINVOKE.TouchPointContainer_RemoveAt(swigCPtr, index);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RemoveRange(int index, int count) {
+    NDalicPINVOKE.TouchPointContainer_RemoveRange(swigCPtr, index, count);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static TouchPointContainer Repeat(TouchPoint value, int count) {
+    global::System.IntPtr cPtr = NDalicPINVOKE.TouchPointContainer_Repeat(TouchPoint.getCPtr(value), count);
+    TouchPointContainer ret = (cPtr == global::System.IntPtr.Zero) ? null : new TouchPointContainer(cPtr, true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Reverse() {
+    NDalicPINVOKE.TouchPointContainer_Reverse__SWIG_0(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Reverse(int index, int count) {
+    NDalicPINVOKE.TouchPointContainer_Reverse__SWIG_1(swigCPtr, index, count);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetRange(int index, TouchPointContainer values) {
+    NDalicPINVOKE.TouchPointContainer_SetRange(swigCPtr, index, TouchPointContainer.getCPtr(values));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/TouchSignal.cs b/plugins/dali-sharp/sharp/internal/TouchSignal.cs
new file mode 100644 (file)
index 0000000..1ef78d8
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class TouchSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal TouchSignal(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(TouchSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~TouchSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_TouchSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.TouchSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.TouchSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.TouchSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.TouchSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(Touch arg) {
+    NDalicPINVOKE.TouchSignal_Emit(swigCPtr, Touch.getCPtr(arg));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public TouchSignal() : this(NDalicPINVOKE.new_TouchSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/TransitionData.cs b/plugins/dali-sharp/sharp/internal/TransitionData.cs
new file mode 100644 (file)
index 0000000..b13a8a3
--- /dev/null
@@ -0,0 +1,106 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class TransitionData : BaseHandle {
+  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;
+  }
+
+  ~TransitionData() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public TransitionData (Property.Map transition) : this (NDalicPINVOKE.TransitionData_New__SWIG_0(Property.Map.getCPtr(transition)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public TransitionData (Property.Array transition) : this (NDalicPINVOKE.TransitionData_New__SWIG_1(Property.Array.getCPtr(transition)), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public static TransitionData DownCast(BaseHandle handle) {
+    TransitionData ret = new TransitionData(NDalicPINVOKE.TransitionData_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public TransitionData(TransitionData handle) : this(NDalicPINVOKE.new_TransitionData__SWIG_1(TransitionData.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public TransitionData Assign(TransitionData handle) {
+    TransitionData ret = new TransitionData(NDalicPINVOKE.TransitionData_Assign(swigCPtr, TransitionData.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint Count() {
+    uint ret = NDalicPINVOKE.TransitionData_Count(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Property.Map GetAnimatorAt(uint index) {
+    Property.Map ret = new Property.Map(NDalicPINVOKE.TransitionData_GetAnimatorAt(swigCPtr, index), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public TransitionData(SWIGTYPE_p_Dali__Toolkit__Internal__TransitionData impl) : this(NDalicPINVOKE.new_TransitionData__SWIG_2(SWIGTYPE_p_Dali__Toolkit__Internal__TransitionData.getCPtr(impl)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/TypeAction.cs b/plugins/dali-sharp/sharp/internal/TypeAction.cs
new file mode 100644 (file)
index 0000000..187a3c9
--- /dev/null
@@ -0,0 +1,49 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class TypeAction : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal TypeAction(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(TypeAction obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~TypeAction() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_TypeAction(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+  public TypeAction(TypeRegistration registered, string name, SWIGTYPE_p_f_p_Dali__BaseObject_r_q_const__std__string_r_q_const__Dali__Property__Map__bool f) : this(NDalicPINVOKE.new_TypeAction(TypeRegistration.getCPtr(registered), name, SWIGTYPE_p_f_p_Dali__BaseObject_r_q_const__std__string_r_q_const__Dali__Property__Map__bool.getCPtr(f)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/TypeInfo.cs b/plugins/dali-sharp/sharp/internal/TypeInfo.cs
new file mode 100644 (file)
index 0000000..4219ac5
--- /dev/null
@@ -0,0 +1,123 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class TypeInfo : BaseHandle {
+  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;
+  }
+
+  ~TypeInfo() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public TypeInfo() : this(NDalicPINVOKE.new_TypeInfo__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public TypeInfo(TypeInfo handle) : this(NDalicPINVOKE.new_TypeInfo__SWIG_1(TypeInfo.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public TypeInfo Assign(TypeInfo rhs) {
+    TypeInfo ret = new TypeInfo(NDalicPINVOKE.TypeInfo_Assign(swigCPtr, TypeInfo.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public string GetName() {
+    string ret = NDalicPINVOKE.TypeInfo_GetName(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public string GetBaseName() {
+    string ret = NDalicPINVOKE.TypeInfo_GetBaseName(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public BaseHandle CreateInstance() {
+    BaseHandle ret = new BaseHandle(NDalicPINVOKE.TypeInfo_CreateInstance(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetActionCount() {
+    uint ret = NDalicPINVOKE.TypeInfo_GetActionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public string GetActionName(uint index) {
+    string ret = NDalicPINVOKE.TypeInfo_GetActionName(swigCPtr, index);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetSignalCount() {
+    uint ret = NDalicPINVOKE.TypeInfo_GetSignalCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public string GetSignalName(uint index) {
+    string ret = NDalicPINVOKE.TypeInfo_GetSignalName(swigCPtr, index);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetPropertyCount() {
+    uint ret = NDalicPINVOKE.TypeInfo_GetPropertyCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void GetPropertyIndices(VectorInteger indices) {
+    NDalicPINVOKE.TypeInfo_GetPropertyIndices(swigCPtr, VectorInteger.getCPtr(indices));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public string GetPropertyName(int index) {
+    string ret = NDalicPINVOKE.TypeInfo_GetPropertyName(swigCPtr, index);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/TypeRegistration.cs b/plugins/dali-sharp/sharp/internal/TypeRegistration.cs
new file mode 100644 (file)
index 0000000..6a9182d
--- /dev/null
@@ -0,0 +1,95 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class TypeRegistration : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal TypeRegistration(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(TypeRegistration obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~TypeRegistration() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_TypeRegistration(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+  static private global::System.IntPtr SwigConstructTypeRegistration(SWIGTYPE_p_std__type_info registerType, SWIGTYPE_p_std__type_info baseType, System.Delegate f) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(f); 
+    return NDalicPINVOKE.new_TypeRegistration__SWIG_0(SWIGTYPE_p_std__type_info.getCPtr(registerType), SWIGTYPE_p_std__type_info.getCPtr(baseType), new System.Runtime.InteropServices.HandleRef(null, ip));
+  }
+
+  public TypeRegistration(SWIGTYPE_p_std__type_info registerType, SWIGTYPE_p_std__type_info baseType, System.Delegate f) : this(TypeRegistration.SwigConstructTypeRegistration(registerType, baseType, f), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  static private global::System.IntPtr SwigConstructTypeRegistration(SWIGTYPE_p_std__type_info registerType, SWIGTYPE_p_std__type_info baseType, System.Delegate f, bool callCreateOnInit) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(f); 
+    return NDalicPINVOKE.new_TypeRegistration__SWIG_1(SWIGTYPE_p_std__type_info.getCPtr(registerType), SWIGTYPE_p_std__type_info.getCPtr(baseType), new System.Runtime.InteropServices.HandleRef(null, ip), callCreateOnInit);
+  }
+
+  public TypeRegistration(SWIGTYPE_p_std__type_info registerType, SWIGTYPE_p_std__type_info baseType, System.Delegate f, bool callCreateOnInit) : this(TypeRegistration.SwigConstructTypeRegistration(registerType, baseType, f, callCreateOnInit), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  static private global::System.IntPtr SwigConstructTypeRegistration(string name, SWIGTYPE_p_std__type_info baseType, System.Delegate f) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(f); 
+    return NDalicPINVOKE.new_TypeRegistration__SWIG_2(name, SWIGTYPE_p_std__type_info.getCPtr(baseType), new System.Runtime.InteropServices.HandleRef(null, ip));
+  }
+
+  public TypeRegistration(string name, SWIGTYPE_p_std__type_info baseType, System.Delegate f) : this(TypeRegistration.SwigConstructTypeRegistration(name, baseType, f), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public string RegisteredName() {
+    string ret = NDalicPINVOKE.TypeRegistration_RegisteredName(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static void RegisterControl(string controlName, System.Delegate createFunc) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(createFunc); 
+    {
+      NDalicPINVOKE.TypeRegistration_RegisterControl(controlName, new System.Runtime.InteropServices.HandleRef(null, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public static void RegisterProperty(string controlName, string propertyName, int index, Property.Type type, System.Delegate setFunc, System.Delegate getFunc) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(setFunc); 
+System.IntPtr ip2 = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(getFunc); 
+    {
+      NDalicPINVOKE.TypeRegistration_RegisterProperty(controlName, propertyName, index, (int)type, new System.Runtime.InteropServices.HandleRef(null, ip), new System.Runtime.InteropServices.HandleRef(null, ip2));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/TypeRegistry.cs b/plugins/dali-sharp/sharp/internal/TypeRegistry.cs
new file mode 100644 (file)
index 0000000..c431c87
--- /dev/null
@@ -0,0 +1,92 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class TypeRegistry : BaseHandle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal TypeRegistry(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TypeRegistry_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TypeRegistry obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~TypeRegistry() {
+    Dispose();
+  }
+
+  public override void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_TypeRegistry(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+  public static TypeRegistry Get() {
+    TypeRegistry ret = new TypeRegistry(NDalicPINVOKE.TypeRegistry_Get(), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public TypeRegistry() : this(NDalicPINVOKE.new_TypeRegistry__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public TypeRegistry(TypeRegistry handle) : this(NDalicPINVOKE.new_TypeRegistry__SWIG_1(TypeRegistry.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public TypeRegistry Assign(TypeRegistry rhs) {
+    TypeRegistry ret = new TypeRegistry(NDalicPINVOKE.TypeRegistry_Assign(swigCPtr, TypeRegistry.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public TypeInfo GetTypeInfo(string uniqueTypeName) {
+    TypeInfo ret = new TypeInfo(NDalicPINVOKE.TypeRegistry_GetTypeInfo__SWIG_0(swigCPtr, uniqueTypeName), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public TypeInfo GetTypeInfo(SWIGTYPE_p_std__type_info registerType) {
+    TypeInfo ret = new TypeInfo(NDalicPINVOKE.TypeRegistry_GetTypeInfo__SWIG_1(swigCPtr, SWIGTYPE_p_std__type_info.getCPtr(registerType)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetTypeNameCount() {
+    uint ret = NDalicPINVOKE.TypeRegistry_GetTypeNameCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public string GetTypeName(uint index) {
+    string ret = NDalicPINVOKE.TypeRegistry_GetTypeName(swigCPtr, index);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public TypeRegistry(SWIGTYPE_p_Dali__Internal__TypeRegistry typeRegistry) : this(NDalicPINVOKE.new_TypeRegistry__SWIG_2(SWIGTYPE_p_Dali__Internal__TypeRegistry.getCPtr(typeRegistry)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Uint16Pair.cs b/plugins/dali-sharp/sharp/internal/Uint16Pair.cs
new file mode 100644 (file)
index 0000000..67b3f68
--- /dev/null
@@ -0,0 +1,145 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Uint16Pair : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal Uint16Pair(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(Uint16Pair obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Uint16Pair() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_Uint16Pair(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public static bool operator<(Uint16Pair arg1, Uint16Pair arg2) {
+    return arg1.LessThan(arg2);
+  }
+
+  public static bool operator>(Uint16Pair arg1, Uint16Pair arg2) {
+    return arg1.GreaterThan(arg2);
+  }
+
+  public Uint16Pair() : this(NDalicPINVOKE.new_Uint16Pair__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Uint16Pair(uint width, uint height) : this(NDalicPINVOKE.new_Uint16Pair__SWIG_1(width, height), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Uint16Pair(Uint16Pair rhs) : this(NDalicPINVOKE.new_Uint16Pair__SWIG_2(Uint16Pair.getCPtr(rhs)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetWidth(ushort width) {
+    NDalicPINVOKE.Uint16Pair_SetWidth(swigCPtr, width);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ushort GetWidth() {
+    ushort ret = NDalicPINVOKE.Uint16Pair_GetWidth(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetHeight(ushort height) {
+    NDalicPINVOKE.Uint16Pair_SetHeight(swigCPtr, height);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ushort GetHeight() {
+    ushort ret = NDalicPINVOKE.Uint16Pair_GetHeight(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetX(ushort x) {
+    NDalicPINVOKE.Uint16Pair_SetX(swigCPtr, x);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ushort GetX() {
+    ushort ret = NDalicPINVOKE.Uint16Pair_GetX(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetY(ushort y) {
+    NDalicPINVOKE.Uint16Pair_SetY(swigCPtr, y);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ushort GetY() {
+    ushort ret = NDalicPINVOKE.Uint16Pair_GetY(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Uint16Pair Assign(Uint16Pair rhs) {
+    Uint16Pair ret = new Uint16Pair(NDalicPINVOKE.Uint16Pair_Assign(swigCPtr, Uint16Pair.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool EqualTo(Uint16Pair rhs) {
+    bool ret = NDalicPINVOKE.Uint16Pair_EqualTo(swigCPtr, Uint16Pair.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool NotEqualTo(Uint16Pair rhs) {
+    bool ret = NDalicPINVOKE.Uint16Pair_NotEqualTo(swigCPtr, Uint16Pair.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool LessThan(Uint16Pair rhs) {
+    bool ret = NDalicPINVOKE.Uint16Pair_LessThan(swigCPtr, Uint16Pair.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool GreaterThan(Uint16Pair rhs) {
+    bool ret = NDalicPINVOKE.Uint16Pair_GreaterThan(swigCPtr, Uint16Pair.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Vector2.cs b/plugins/dali-sharp/sharp/internal/Vector2.cs
new file mode 100644 (file)
index 0000000..64b5f1f
--- /dev/null
@@ -0,0 +1,359 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Vector2 : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  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;
+  }
+
+  ~Vector2() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public static Vector2 operator+(Vector2 arg1, Vector2 arg2) {
+    return arg1.Add(arg2);
+  }
+
+  public static Vector2 operator-(Vector2 arg1, Vector2 arg2) {
+    return arg1.Subtract(arg2);
+  }
+
+  public static Vector2 operator-(Vector2 arg1) {
+    return arg1.Subtract();
+  }
+
+  public static Vector2 operator*(Vector2 arg1, Vector2 arg2) {
+    return arg1.Multiply(arg2);
+  }
+
+  public static Vector2 operator*(Vector2 arg1, float arg2) {
+    return arg1.Multiply(arg2);
+  }
+
+  public static Vector2 operator/(Vector2 arg1, Vector2 arg2) {
+    return arg1.Divide(arg2);
+  }
+
+  public static Vector2 operator/(Vector2 arg1, float arg2) {
+    return arg1.Divide(arg2);
+  }
+
+  public float this[uint index]
+  {
+    get
+    {
+      return ValueOfIndex(index);
+    }
+  }
+
+  public static Vector2 GetVector2FromPtr(global::System.IntPtr cPtr) {
+    Vector2 ret = new Vector2(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+       return ret;
+  }
+
+
+  public Vector2() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector2(float x, float y) : this(NDalicPINVOKE.new_Vector2__SWIG_1(x, y), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector2(float[] array) : this(NDalicPINVOKE.new_Vector2__SWIG_2(array), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector2(Vector3 vec3) : this(NDalicPINVOKE.new_Vector2__SWIG_3(Vector3.getCPtr(vec3)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector2(Vector4 vec4) : this(NDalicPINVOKE.new_Vector2__SWIG_4(Vector4.getCPtr(vec4)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static Vector2 ONE {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Vector2_ONE_get();
+      Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector2 XAXIS {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Vector2_XAXIS_get();
+      Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector2 YAXIS {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Vector2_YAXIS_get();
+      Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector2 NEGATIVE_XAXIS {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Vector2_NEGATIVE_XAXIS_get();
+      Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector2 NEGATIVE_YAXIS {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Vector2_NEGATIVE_YAXIS_get();
+      Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector2 ZERO {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Vector2_ZERO_get();
+      Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public Vector2 Assign(float[] array) {
+    Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Assign__SWIG_0(swigCPtr, array), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector2 Assign(Vector3 rhs) {
+    Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Assign__SWIG_1(swigCPtr, Vector3.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector2 Assign(Vector4 rhs) {
+    Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Assign__SWIG_2(swigCPtr, Vector4.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector2 Add(Vector2 rhs) {
+    Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Add(swigCPtr, Vector2.getCPtr(rhs)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector2 AddAssign(Vector2 rhs) {
+    Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_AddAssign(swigCPtr, Vector2.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public Vector2 Subtract() {
+    Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Subtract__SWIG_1(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool EqualTo(Vector2 rhs) {
+    bool ret = NDalicPINVOKE.Vector2_EqualTo(swigCPtr, Vector2.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool NotEqualTo(Vector2 rhs) {
+    bool ret = NDalicPINVOKE.Vector2_NotEqualTo(swigCPtr, Vector2.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float ValueOfIndex(uint index) {
+    float ret = NDalicPINVOKE.Vector2_ValueOfIndex__SWIG_0(swigCPtr, index);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float Length() {
+    float ret = NDalicPINVOKE.Vector2_Length(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float LengthSquared() {
+    float ret = NDalicPINVOKE.Vector2_LengthSquared(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Normalize() {
+    NDalicPINVOKE.Vector2_Normalize(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Clamp(Vector2 min, Vector2 max) {
+    NDalicPINVOKE.Vector2_Clamp(swigCPtr, Vector2.getCPtr(min), Vector2.getCPtr(max));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public SWIGTYPE_p_float AsFloat() {
+    global::System.IntPtr cPtr = NDalicPINVOKE.Vector2_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;
+  }
+
+  public float X {
+    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;
+    } 
+  }
+
+  public float Width {
+    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;
+    } 
+  }
+
+  public float Y {
+    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;
+    } 
+  }
+
+  public float Height {
+    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;
+    } 
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Vector3.cs b/plugins/dali-sharp/sharp/internal/Vector3.cs
new file mode 100644 (file)
index 0000000..27e5402
--- /dev/null
@@ -0,0 +1,467 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Vector3 : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  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;
+  }
+
+  ~Vector3() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public static Vector3 operator+(Vector3 arg1, Vector3 arg2) {
+    return arg1.Add(arg2);
+  }
+
+  public static Vector3 operator-(Vector3 arg1, Vector3 arg2) {
+    return arg1.Subtract(arg2);
+  }
+
+  public static Vector3 operator-(Vector3 arg1) {
+    return arg1.Subtract();
+  }
+
+  public static Vector3 operator*(Vector3 arg1, Vector3 arg2) {
+    return arg1.Multiply(arg2);
+  }
+
+  public static Vector3 operator*(Vector3 arg1, float arg2) {
+    return arg1.Multiply(arg2);
+  }
+
+  public static Vector3 operator/(Vector3 arg1, Vector3 arg2) {
+    return arg1.Divide(arg2);
+  }
+
+  public static Vector3 operator/(Vector3 arg1, float arg2) {
+    return arg1.Divide(arg2);
+  }
+
+  public float this[uint index]
+  {
+    get
+    {
+      return ValueOfIndex(index);
+    }
+  }
+
+  public static Vector3 GetVector3FromPtr(global::System.IntPtr cPtr) {
+    Vector3 ret = new Vector3(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+       return ret;
+  }
+
+
+  public Vector3() : this(NDalicPINVOKE.new_Vector3__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector3(float x, float y, float z) : this(NDalicPINVOKE.new_Vector3__SWIG_1(x, y, z), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector3(float[] array) : this(NDalicPINVOKE.new_Vector3__SWIG_2(array), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector3(Vector2 vec2) : this(NDalicPINVOKE.new_Vector3__SWIG_3(Vector2.getCPtr(vec2)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector3(Vector4 vec4) : this(NDalicPINVOKE.new_Vector3__SWIG_4(Vector4.getCPtr(vec4)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static Vector3 ONE {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ONE_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 XAXIS {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_XAXIS_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 YAXIS {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_YAXIS_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 ZAXIS {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZAXIS_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 NEGATIVE_XAXIS {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_XAXIS_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 NEGATIVE_YAXIS {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_YAXIS_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 NEGATIVE_ZAXIS {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_ZAXIS_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector3 ZERO {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZERO_get();
+      Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public Vector3 Assign(float[] array) {
+    Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Assign__SWIG_0(swigCPtr, array), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector3 Assign(Vector2 rhs) {
+    Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Assign__SWIG_1(swigCPtr, Vector2.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector3 Assign(Vector4 rhs) {
+    Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Assign__SWIG_2(swigCPtr, Vector4.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public Vector3 Subtract() {
+    Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Subtract__SWIG_1(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool EqualTo(Vector3 rhs) {
+    bool ret = NDalicPINVOKE.Vector3_EqualTo(swigCPtr, Vector3.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool NotEqualTo(Vector3 rhs) {
+    bool ret = NDalicPINVOKE.Vector3_NotEqualTo(swigCPtr, Vector3.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float ValueOfIndex(uint index) {
+    float ret = NDalicPINVOKE.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float Dot(Vector3 other) {
+    float ret = NDalicPINVOKE.Vector3_Dot(swigCPtr, Vector3.getCPtr(other));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public 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;
+  }
+
+  public float Length() {
+    float ret = NDalicPINVOKE.Vector3_Length(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float LengthSquared() {
+    float ret = NDalicPINVOKE.Vector3_LengthSquared(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Normalize() {
+    NDalicPINVOKE.Vector3_Normalize(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  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();
+  }
+
+  public 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;
+  }
+
+  public Vector2 GetVectorXY() {
+    Vector2 ret = new Vector2(NDalicPINVOKE.Vector3_GetVectorXY__SWIG_0(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector2 GetVectorYZ() {
+    Vector2 ret = new Vector2(NDalicPINVOKE.Vector3_GetVectorYZ__SWIG_0(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  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;
+    } 
+  }
+
+  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;
+    } 
+  }
+
+  public float r {
+    set {
+      NDalicPINVOKE.Vector3_r_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      float ret = NDalicPINVOKE.Vector3_r_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public float Y {
+    set {
+      NDalicPINVOKE.Vector3_Y_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      float ret = NDalicPINVOKE.Vector3_Y_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  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;
+    } 
+  }
+
+  public float g {
+    set {
+      NDalicPINVOKE.Vector3_g_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      float ret = NDalicPINVOKE.Vector3_g_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public float Z {
+    set {
+      NDalicPINVOKE.Vector3_Z_set(swigCPtr, 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;
+    } 
+  }
+
+  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;
+    } 
+  }
+
+  public float b {
+    set {
+      NDalicPINVOKE.Vector3_b_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      float ret = NDalicPINVOKE.Vector3_b_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Vector4.cs b/plugins/dali-sharp/sharp/internal/Vector4.cs
new file mode 100644 (file)
index 0000000..d7726de
--- /dev/null
@@ -0,0 +1,470 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Vector4 : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  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;
+  }
+
+  ~Vector4() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public static Vector4 operator+(Vector4 arg1, Vector4 arg2) {
+    return arg1.Add(arg2);
+  }
+
+  public static Vector4 operator-(Vector4 arg1, Vector4 arg2) {
+    return arg1.Subtract(arg2);
+  }
+
+  public static Vector4 operator-(Vector4 arg1) {
+    return arg1.Subtract();
+  }
+
+  public static Vector4 operator*(Vector4 arg1, Vector4 arg2) {
+    return arg1.Multiply(arg2);
+  }
+
+  public static Vector4 operator*(Vector4 arg1, float arg2) {
+    return arg1.Multiply(arg2);
+  }
+
+  public static Vector4 operator/(Vector4 arg1, Vector4 arg2) {
+    return arg1.Divide(arg2);
+  }
+
+  public static Vector4 operator/(Vector4 arg1, float arg2) {
+    return arg1.Divide(arg2);
+  }
+
+  public float this[uint index]
+  {
+    get
+    {
+      return ValueOfIndex(index);
+    }
+  }
+
+  public static Vector4 GetVector4FromPtr(global::System.IntPtr cPtr) {
+    Vector4 ret = new Vector4(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+       return ret;
+  }
+
+
+  public Vector4() : this(NDalicPINVOKE.new_Vector4__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector4(float x, float y, float z, float w) : this(NDalicPINVOKE.new_Vector4__SWIG_1(x, y, z, w), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector4(float[] array) : this(NDalicPINVOKE.new_Vector4__SWIG_2(array), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector4(Vector2 vec2) : this(NDalicPINVOKE.new_Vector4__SWIG_3(Vector2.getCPtr(vec2)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector4(Vector3 vec3) : this(NDalicPINVOKE.new_Vector4__SWIG_4(Vector3.getCPtr(vec3)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static Vector4 ONE {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_ONE_get();
+      Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector4 XAXIS {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_XAXIS_get();
+      Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector4 YAXIS {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_YAXIS_get();
+      Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector4 ZAXIS {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_ZAXIS_get();
+      Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public static Vector4 ZERO {
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_ZERO_get();
+      Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public Vector4 Assign(float[] array) {
+    Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Assign__SWIG_0(swigCPtr, array), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector4 Assign(Vector2 vec2) {
+    Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Assign__SWIG_1(swigCPtr, Vector2.getCPtr(vec2)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Vector4 Assign(Vector3 vec3) {
+    Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Assign__SWIG_2(swigCPtr, Vector3.getCPtr(vec3)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public Vector4 Subtract() {
+    Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Subtract__SWIG_1(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool EqualTo(Vector4 rhs) {
+    bool ret = NDalicPINVOKE.Vector4_EqualTo(swigCPtr, Vector4.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool NotEqualTo(Vector4 rhs) {
+    bool ret = NDalicPINVOKE.Vector4_NotEqualTo(swigCPtr, Vector4.getCPtr(rhs));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float ValueOfIndex(uint index) {
+    float ret = NDalicPINVOKE.Vector4_ValueOfIndex__SWIG_0(swigCPtr, index);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public 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;
+  }
+
+  public 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;
+  }
+
+  public float Dot4(Vector4 other) {
+    float ret = NDalicPINVOKE.Vector4_Dot4(swigCPtr, Vector4.getCPtr(other));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public 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;
+  }
+
+  public float Length() {
+    float ret = NDalicPINVOKE.Vector4_Length(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float LengthSquared() {
+    float ret = NDalicPINVOKE.Vector4_LengthSquared(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Normalize() {
+    NDalicPINVOKE.Vector4_Normalize(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  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();
+  }
+
+  public 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;
+  }
+
+  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;
+    } 
+  }
+
+  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;
+    } 
+  }
+
+  public float s {
+    set {
+      NDalicPINVOKE.Vector4_s_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      float ret = NDalicPINVOKE.Vector4_s_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public float Y {
+    set {
+      NDalicPINVOKE.Vector4_Y_set(swigCPtr, 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;
+    } 
+  }
+
+  public float g {
+    set {
+      NDalicPINVOKE.Vector4_g_set(swigCPtr, 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;
+    } 
+  }
+
+  public float t {
+    set {
+      NDalicPINVOKE.Vector4_t_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      float ret = NDalicPINVOKE.Vector4_t_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public float Z {
+    set {
+      NDalicPINVOKE.Vector4_Z_set(swigCPtr, 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;
+    } 
+  }
+
+  public float b {
+    set {
+      NDalicPINVOKE.Vector4_b_set(swigCPtr, 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;
+    } 
+  }
+
+  public float p {
+    set {
+      NDalicPINVOKE.Vector4_p_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      float ret = NDalicPINVOKE.Vector4_p_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public float W {
+    set {
+      NDalicPINVOKE.Vector4_W_set(swigCPtr, 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;
+    } 
+  }
+
+  public float a {
+    set {
+      NDalicPINVOKE.Vector4_a_set(swigCPtr, 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;
+    } 
+  }
+
+  public float q {
+    set {
+      NDalicPINVOKE.Vector4_q_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      float ret = NDalicPINVOKE.Vector4_q_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/VectorBase.cs b/plugins/dali-sharp/sharp/internal/VectorBase.cs
new file mode 100644 (file)
index 0000000..c4bd250
--- /dev/null
@@ -0,0 +1,70 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class VectorBase : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal VectorBase(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(VectorBase obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          throw new global::System.MethodAccessException("C++ destructor does not have public access");
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+  public uint Count() {
+    uint ret = NDalicPINVOKE.VectorBase_Count(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint Size() {
+    uint ret = NDalicPINVOKE.VectorBase_Size(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.VectorBase_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint Capacity() {
+    uint ret = NDalicPINVOKE.VectorBase_Capacity(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Release() {
+    NDalicPINVOKE.VectorBase_Release(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/VectorFloat.cs b/plugins/dali-sharp/sharp/internal/VectorFloat.cs
new file mode 100644 (file)
index 0000000..acb8a05
--- /dev/null
@@ -0,0 +1,151 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class VectorFloat : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal VectorFloat(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(VectorFloat obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~VectorFloat() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_VectorFloat(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public VectorFloat() : this(NDalicPINVOKE.new_VectorFloat__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public VectorFloat(VectorFloat vector) : this(NDalicPINVOKE.new_VectorFloat__SWIG_1(VectorFloat.getCPtr(vector)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public VectorFloat Assign(VectorFloat vector) {
+    VectorFloat ret = new VectorFloat(NDalicPINVOKE.VectorFloat_Assign(swigCPtr, VectorFloat.getCPtr(vector)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SWIGTYPE_p_float Begin() {
+    global::System.IntPtr cPtr = NDalicPINVOKE.VectorFloat_Begin(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;
+  }
+
+  public SWIGTYPE_p_float End() {
+    global::System.IntPtr cPtr = NDalicPINVOKE.VectorFloat_End(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;
+  }
+
+  public SWIGTYPE_p_float ValueOfIndex(uint index) {
+    SWIGTYPE_p_float ret = new SWIGTYPE_p_float(NDalicPINVOKE.VectorFloat_ValueOfIndex__SWIG_0(swigCPtr, index), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void PushBack(float element) {
+    NDalicPINVOKE.VectorFloat_PushBack(swigCPtr, element);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Insert(SWIGTYPE_p_float at, float element) {
+    NDalicPINVOKE.VectorFloat_Insert__SWIG_0(swigCPtr, SWIGTYPE_p_float.getCPtr(at), element);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Insert(SWIGTYPE_p_float at, SWIGTYPE_p_float from, SWIGTYPE_p_float to) {
+    NDalicPINVOKE.VectorFloat_Insert__SWIG_1(swigCPtr, SWIGTYPE_p_float.getCPtr(at), SWIGTYPE_p_float.getCPtr(from), SWIGTYPE_p_float.getCPtr(to));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Reserve(uint count) {
+    NDalicPINVOKE.VectorFloat_Reserve(swigCPtr, count);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Resize(uint count) {
+    NDalicPINVOKE.VectorFloat_Resize__SWIG_0(swigCPtr, count);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Resize(uint count, float item) {
+    NDalicPINVOKE.VectorFloat_Resize__SWIG_1(swigCPtr, count, item);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public SWIGTYPE_p_float Erase(SWIGTYPE_p_float iterator) {
+    global::System.IntPtr cPtr = NDalicPINVOKE.VectorFloat_Erase__SWIG_0(swigCPtr, SWIGTYPE_p_float.getCPtr(iterator));
+    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;
+  }
+
+  public SWIGTYPE_p_float Erase(SWIGTYPE_p_float first, SWIGTYPE_p_float last) {
+    global::System.IntPtr cPtr = NDalicPINVOKE.VectorFloat_Erase__SWIG_1(swigCPtr, SWIGTYPE_p_float.getCPtr(first), SWIGTYPE_p_float.getCPtr(last));
+    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;
+  }
+
+  public void Remove(SWIGTYPE_p_float iterator) {
+    NDalicPINVOKE.VectorFloat_Remove(swigCPtr, SWIGTYPE_p_float.getCPtr(iterator));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Swap(VectorFloat vector) {
+    NDalicPINVOKE.VectorFloat_Swap(swigCPtr, VectorFloat.getCPtr(vector));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Clear() {
+    NDalicPINVOKE.VectorFloat_Clear(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Release() {
+    NDalicPINVOKE.VectorFloat_Release(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static readonly int BaseType = NDalicPINVOKE.VectorFloat_BaseType_get();
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/VectorInteger.cs b/plugins/dali-sharp/sharp/internal/VectorInteger.cs
new file mode 100644 (file)
index 0000000..11c9297
--- /dev/null
@@ -0,0 +1,151 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class VectorInteger : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal VectorInteger(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(VectorInteger obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~VectorInteger() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_VectorInteger(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public VectorInteger() : this(NDalicPINVOKE.new_VectorInteger__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public VectorInteger(VectorInteger vector) : this(NDalicPINVOKE.new_VectorInteger__SWIG_1(VectorInteger.getCPtr(vector)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public VectorInteger Assign(VectorInteger vector) {
+    VectorInteger ret = new VectorInteger(NDalicPINVOKE.VectorInteger_Assign(swigCPtr, VectorInteger.getCPtr(vector)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SWIGTYPE_p_int Begin() {
+    global::System.IntPtr cPtr = NDalicPINVOKE.VectorInteger_Begin(swigCPtr);
+    SWIGTYPE_p_int ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_int(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SWIGTYPE_p_int End() {
+    global::System.IntPtr cPtr = NDalicPINVOKE.VectorInteger_End(swigCPtr);
+    SWIGTYPE_p_int ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_int(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SWIGTYPE_p_int ValueOfIndex(uint index) {
+    SWIGTYPE_p_int ret = new SWIGTYPE_p_int(NDalicPINVOKE.VectorInteger_ValueOfIndex__SWIG_0(swigCPtr, index), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void PushBack(int element) {
+    NDalicPINVOKE.VectorInteger_PushBack(swigCPtr, element);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Insert(SWIGTYPE_p_int at, int element) {
+    NDalicPINVOKE.VectorInteger_Insert__SWIG_0(swigCPtr, SWIGTYPE_p_int.getCPtr(at), element);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Insert(SWIGTYPE_p_int at, SWIGTYPE_p_int from, SWIGTYPE_p_int to) {
+    NDalicPINVOKE.VectorInteger_Insert__SWIG_1(swigCPtr, SWIGTYPE_p_int.getCPtr(at), SWIGTYPE_p_int.getCPtr(from), SWIGTYPE_p_int.getCPtr(to));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Reserve(uint count) {
+    NDalicPINVOKE.VectorInteger_Reserve(swigCPtr, count);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Resize(uint count) {
+    NDalicPINVOKE.VectorInteger_Resize__SWIG_0(swigCPtr, count);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Resize(uint count, int item) {
+    NDalicPINVOKE.VectorInteger_Resize__SWIG_1(swigCPtr, count, item);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public SWIGTYPE_p_int Erase(SWIGTYPE_p_int iterator) {
+    global::System.IntPtr cPtr = NDalicPINVOKE.VectorInteger_Erase__SWIG_0(swigCPtr, SWIGTYPE_p_int.getCPtr(iterator));
+    SWIGTYPE_p_int ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_int(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SWIGTYPE_p_int Erase(SWIGTYPE_p_int first, SWIGTYPE_p_int last) {
+    global::System.IntPtr cPtr = NDalicPINVOKE.VectorInteger_Erase__SWIG_1(swigCPtr, SWIGTYPE_p_int.getCPtr(first), SWIGTYPE_p_int.getCPtr(last));
+    SWIGTYPE_p_int ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_int(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Remove(SWIGTYPE_p_int iterator) {
+    NDalicPINVOKE.VectorInteger_Remove(swigCPtr, SWIGTYPE_p_int.getCPtr(iterator));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Swap(VectorInteger vector) {
+    NDalicPINVOKE.VectorInteger_Swap(swigCPtr, VectorInteger.getCPtr(vector));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Clear() {
+    NDalicPINVOKE.VectorInteger_Clear(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Release() {
+    NDalicPINVOKE.VectorInteger_Release(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static readonly int BaseType = NDalicPINVOKE.VectorInteger_BaseType_get();
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/VectorUint16Pair.cs b/plugins/dali-sharp/sharp/internal/VectorUint16Pair.cs
new file mode 100644 (file)
index 0000000..46a4853
--- /dev/null
@@ -0,0 +1,151 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class VectorUint16Pair : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal VectorUint16Pair(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(VectorUint16Pair obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~VectorUint16Pair() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_VectorUint16Pair(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public VectorUint16Pair() : this(NDalicPINVOKE.new_VectorUint16Pair__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public VectorUint16Pair(VectorUint16Pair vector) : this(NDalicPINVOKE.new_VectorUint16Pair__SWIG_1(VectorUint16Pair.getCPtr(vector)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public VectorUint16Pair Assign(VectorUint16Pair vector) {
+    VectorUint16Pair ret = new VectorUint16Pair(NDalicPINVOKE.VectorUint16Pair_Assign(swigCPtr, VectorUint16Pair.getCPtr(vector)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Uint16Pair Begin() {
+    global::System.IntPtr cPtr = NDalicPINVOKE.VectorUint16Pair_Begin(swigCPtr);
+    Uint16Pair ret = (cPtr == global::System.IntPtr.Zero) ? null : new Uint16Pair(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Uint16Pair End() {
+    global::System.IntPtr cPtr = NDalicPINVOKE.VectorUint16Pair_End(swigCPtr);
+    Uint16Pair ret = (cPtr == global::System.IntPtr.Zero) ? null : new Uint16Pair(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Uint16Pair ValueOfIndex(uint index) {
+    Uint16Pair ret = new Uint16Pair(NDalicPINVOKE.VectorUint16Pair_ValueOfIndex__SWIG_0(swigCPtr, index), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void PushBack(Uint16Pair element) {
+    NDalicPINVOKE.VectorUint16Pair_PushBack(swigCPtr, Uint16Pair.getCPtr(element));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Insert(Uint16Pair at, Uint16Pair element) {
+    NDalicPINVOKE.VectorUint16Pair_Insert__SWIG_0(swigCPtr, Uint16Pair.getCPtr(at), Uint16Pair.getCPtr(element));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Insert(Uint16Pair at, Uint16Pair from, Uint16Pair to) {
+    NDalicPINVOKE.VectorUint16Pair_Insert__SWIG_1(swigCPtr, Uint16Pair.getCPtr(at), Uint16Pair.getCPtr(from), Uint16Pair.getCPtr(to));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Reserve(uint count) {
+    NDalicPINVOKE.VectorUint16Pair_Reserve(swigCPtr, count);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Resize(uint count) {
+    NDalicPINVOKE.VectorUint16Pair_Resize__SWIG_0(swigCPtr, count);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Resize(uint count, Uint16Pair item) {
+    NDalicPINVOKE.VectorUint16Pair_Resize__SWIG_1(swigCPtr, count, Uint16Pair.getCPtr(item));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Uint16Pair Erase(Uint16Pair iterator) {
+    global::System.IntPtr cPtr = NDalicPINVOKE.VectorUint16Pair_Erase__SWIG_0(swigCPtr, Uint16Pair.getCPtr(iterator));
+    Uint16Pair ret = (cPtr == global::System.IntPtr.Zero) ? null : new Uint16Pair(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Uint16Pair Erase(Uint16Pair first, Uint16Pair last) {
+    global::System.IntPtr cPtr = NDalicPINVOKE.VectorUint16Pair_Erase__SWIG_1(swigCPtr, Uint16Pair.getCPtr(first), Uint16Pair.getCPtr(last));
+    Uint16Pair ret = (cPtr == global::System.IntPtr.Zero) ? null : new Uint16Pair(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Remove(Uint16Pair iterator) {
+    NDalicPINVOKE.VectorUint16Pair_Remove(swigCPtr, Uint16Pair.getCPtr(iterator));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Swap(VectorUint16Pair vector) {
+    NDalicPINVOKE.VectorUint16Pair_Swap(swigCPtr, VectorUint16Pair.getCPtr(vector));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Clear() {
+    NDalicPINVOKE.VectorUint16Pair_Clear(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Release() {
+    NDalicPINVOKE.VectorUint16Pair_Release(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static readonly int BaseType = NDalicPINVOKE.VectorUint16Pair_BaseType_get();
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/VectorUnsignedChar.cs b/plugins/dali-sharp/sharp/internal/VectorUnsignedChar.cs
new file mode 100644 (file)
index 0000000..67255aa
--- /dev/null
@@ -0,0 +1,151 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class VectorUnsignedChar : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal VectorUnsignedChar(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(VectorUnsignedChar obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~VectorUnsignedChar() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_VectorUnsignedChar(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public VectorUnsignedChar() : this(NDalicPINVOKE.new_VectorUnsignedChar__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public VectorUnsignedChar(VectorUnsignedChar vector) : this(NDalicPINVOKE.new_VectorUnsignedChar__SWIG_1(VectorUnsignedChar.getCPtr(vector)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public VectorUnsignedChar Assign(VectorUnsignedChar vector) {
+    VectorUnsignedChar ret = new VectorUnsignedChar(NDalicPINVOKE.VectorUnsignedChar_Assign(swigCPtr, VectorUnsignedChar.getCPtr(vector)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SWIGTYPE_p_unsigned_char Begin() {
+    global::System.IntPtr cPtr = NDalicPINVOKE.VectorUnsignedChar_Begin(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 SWIGTYPE_p_unsigned_char End() {
+    global::System.IntPtr cPtr = NDalicPINVOKE.VectorUnsignedChar_End(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 SWIGTYPE_p_unsigned_char ValueOfIndex(uint index) {
+    SWIGTYPE_p_unsigned_char ret = new SWIGTYPE_p_unsigned_char(NDalicPINVOKE.VectorUnsignedChar_ValueOfIndex__SWIG_0(swigCPtr, index), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void PushBack(byte element) {
+    NDalicPINVOKE.VectorUnsignedChar_PushBack(swigCPtr, element);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Insert(byte[] at, byte element) {
+    NDalicPINVOKE.VectorUnsignedChar_Insert__SWIG_0(swigCPtr, at, element);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Insert(byte[] at, SWIGTYPE_p_unsigned_char from, SWIGTYPE_p_unsigned_char to) {
+    NDalicPINVOKE.VectorUnsignedChar_Insert__SWIG_1(swigCPtr, at, SWIGTYPE_p_unsigned_char.getCPtr(from), SWIGTYPE_p_unsigned_char.getCPtr(to));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Reserve(uint count) {
+    NDalicPINVOKE.VectorUnsignedChar_Reserve(swigCPtr, count);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Resize(uint count) {
+    NDalicPINVOKE.VectorUnsignedChar_Resize__SWIG_0(swigCPtr, count);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Resize(uint count, byte item) {
+    NDalicPINVOKE.VectorUnsignedChar_Resize__SWIG_1(swigCPtr, count, item);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public SWIGTYPE_p_unsigned_char Erase(byte[] iterator) {
+    global::System.IntPtr cPtr = NDalicPINVOKE.VectorUnsignedChar_Erase__SWIG_0(swigCPtr, iterator);
+    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 SWIGTYPE_p_unsigned_char Erase(byte[] first, SWIGTYPE_p_unsigned_char last) {
+    global::System.IntPtr cPtr = NDalicPINVOKE.VectorUnsignedChar_Erase__SWIG_1(swigCPtr, first, SWIGTYPE_p_unsigned_char.getCPtr(last));
+    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 void Remove(byte[] iterator) {
+    NDalicPINVOKE.VectorUnsignedChar_Remove(swigCPtr, iterator);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Swap(VectorUnsignedChar vector) {
+    NDalicPINVOKE.VectorUnsignedChar_Swap(swigCPtr, VectorUnsignedChar.getCPtr(vector));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Clear() {
+    NDalicPINVOKE.VectorUnsignedChar_Clear(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Release() {
+    NDalicPINVOKE.VectorUnsignedChar_Release(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static readonly int BaseType = NDalicPINVOKE.VectorUnsignedChar_BaseType_get();
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/VerticalAlignmentType.cs b/plugins/dali-sharp/sharp/internal/VerticalAlignmentType.cs
new file mode 100644 (file)
index 0000000..b4bcc57
--- /dev/null
@@ -0,0 +1,19 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum VerticalAlignmentType {
+  TOP,
+  CENTER,
+  BOTTOM
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/VideoView.cs b/plugins/dali-sharp/sharp/internal/VideoView.cs
new file mode 100644 (file)
index 0000000..1b61100
--- /dev/null
@@ -0,0 +1,313 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class VideoView : View {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal VideoView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.VideoView_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VideoView obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~VideoView() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_VideoView(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+/**
+  * @brief Event arguments that passed via Finished signal
+  *
+  */
+public class FinishedEventArgs : EventArgs
+{
+   private VideoView _videoView;
+
+   /**
+     * @brief VideoView - VideoView is a control for video playback and display.
+     *
+     */
+   public VideoView VideoView
+   {
+      get
+      {
+         return _videoView;
+      }
+      set
+      {
+         _videoView = value;
+      }
+   }
+}
+
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void FinishedCallbackDelegate(IntPtr data);
+  private DaliEventHandler<object,FinishedEventArgs> _videoViewFinishedEventHandler;
+  private FinishedCallbackDelegate _videoViewFinishedCallbackDelegate;
+
+  /**
+    * @brief Event for Finished signal which can be used to subscribe/unsubscribe the event handler
+    * (in the type of FinishedEventHandler-DaliEventHandler<object,FinishedEventArgs>) provided by the user.
+    * Finished signal is emitted when a video playback have finished.
+    */
+  public event DaliEventHandler<object,FinishedEventArgs> Finished
+  {
+     add
+     {
+        lock(this)
+        {
+           // Restricted to only one listener
+           if (_videoViewFinishedEventHandler == null)
+           {
+              _videoViewFinishedEventHandler += value;
+
+              _videoViewFinishedCallbackDelegate = new FinishedCallbackDelegate(OnFinished);
+              this.FinishedSignal().Connect(_videoViewFinishedCallbackDelegate);
+           }
+        }
+     }
+
+     remove
+     {
+        lock(this)
+        {
+           if (_videoViewFinishedEventHandler != null)
+           {
+              this.FinishedSignal().Disconnect(_videoViewFinishedCallbackDelegate);
+           }
+
+           _videoViewFinishedEventHandler -= value;
+        }
+     }
+  }
+
+  // Callback for VideoView Finished signal
+  private void OnFinished(IntPtr data)
+  {
+     FinishedEventArgs e = new FinishedEventArgs();
+
+     // Populate all members of "e" (FinishedEventArgs) with real data
+     e.VideoView = VideoView.GetVideoViewFromPtr( data );
+
+     if (_videoViewFinishedEventHandler != null)
+     {
+        //here we send all data to user event handlers
+        _videoViewFinishedEventHandler(this, e);
+     }
+  }
+
+  public static VideoView GetVideoViewFromPtr(global::System.IntPtr cPtr) {
+    VideoView ret = new VideoView(cPtr, false);
+   if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+
+  public 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;
+    }
+  
+    ~Property() {
+      Dispose();
+    }
+  
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_VideoView_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+  
+    public Property() : this(NDalicPINVOKE.new_VideoView_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  
+    public static readonly int VIDEO = NDalicPINVOKE.VideoView_Property_VIDEO_get();
+    public static readonly int LOOPING = NDalicPINVOKE.VideoView_Property_LOOPING_get();
+    public static readonly int MUTED = NDalicPINVOKE.VideoView_Property_MUTED_get();
+    public static readonly int VOLUME = NDalicPINVOKE.VideoView_Property_VOLUME_get();
+  
+  }
+
+  public VideoView () : this (NDalicPINVOKE.VideoView_New__SWIG_0(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public VideoView (string url) : this (NDalicPINVOKE.VideoView_New__SWIG_1(url), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public VideoView(VideoView videoView) : this(NDalicPINVOKE.new_VideoView__SWIG_1(VideoView.getCPtr(videoView)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public VideoView Assign(VideoView videoView) {
+    VideoView ret = new VideoView(NDalicPINVOKE.VideoView_Assign(swigCPtr, VideoView.getCPtr(videoView)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public new static VideoView DownCast(BaseHandle handle) {
+    VideoView ret = new VideoView(NDalicPINVOKE.VideoView_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Play() {
+    NDalicPINVOKE.VideoView_Play(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Pause() {
+    NDalicPINVOKE.VideoView_Pause(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Stop() {
+    NDalicPINVOKE.VideoView_Stop(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Forward(int millisecond) {
+    NDalicPINVOKE.VideoView_Forward(swigCPtr, millisecond);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Backward(int millisecond) {
+    NDalicPINVOKE.VideoView_Backward(swigCPtr, millisecond);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public VideoViewSignal FinishedSignal() {
+    VideoViewSignal ret = new VideoViewSignal(NDalicPINVOKE.VideoView_FinishedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum PropertyRange {
+    PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX
+  }
+
+  public Dali.Property.Map Video
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( VideoView.Property.VIDEO).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( VideoView.Property.VIDEO, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool Looping
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( VideoView.Property.LOOPING).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( VideoView.Property.LOOPING, new Dali.Property.Value( value ) );
+    }
+  }
+  public bool Muted
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( VideoView.Property.MUTED).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( VideoView.Property.MUTED, new Dali.Property.Value( value ) );
+    }
+  }
+  public Dali.Property.Map Volume
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( VideoView.Property.VOLUME).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( VideoView.Property.VOLUME, new Dali.Property.Value( value ) );
+    }
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/VideoViewSignal.cs b/plugins/dali-sharp/sharp/internal/VideoViewSignal.cs
new file mode 100644 (file)
index 0000000..04a8896
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class VideoViewSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal VideoViewSignal(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(VideoViewSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~VideoViewSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_VideoViewSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.VideoViewSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.VideoViewSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.VideoViewSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.VideoViewSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(VideoView arg) {
+    NDalicPINVOKE.VideoViewSignal_Emit(swigCPtr, VideoView.getCPtr(arg));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public VideoViewSignal() : this(NDalicPINVOKE.new_VideoViewSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/View.cs b/plugins/dali-sharp/sharp/internal/View.cs
new file mode 100755 (executable)
index 0000000..fbc408f
--- /dev/null
@@ -0,0 +1,1516 @@
+/** 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 Dali {
+
+    using System;
+    using System.Runtime.InteropServices;
+
+
+public class View : CustomActor {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal View(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.View_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+
+    // Register this instance of view in the view registry.
+    ViewRegistry.RegisterView(this);
+
+    // By default, we do not want the position to use the anchor point
+    this.PositionUsesAnchorPoint = false;
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(View obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~View() {
+    DisposeQueue.Instance.Add(this);
+
+    // Unregister this instance of view from the view registry.
+    ViewRegistry.UnregisterView(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_View(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+  /**
+   * @brief Event arguments that passed via KeyInputFocusGained signal
+   *
+   */
+  public class KeyInputFocusGainedEventArgs : EventArgs
+  {
+    private View _view;
+
+    /**
+     * @brief View - is the view that gets Key Input Focus
+     *
+     */
+    public View View
+    {
+      get
+      {
+        return _view;
+      }
+      set
+      {
+        _view = value;
+      }
+    }
+  }
+
+  /**
+   * @brief Event arguments that passed via KeyInputFocusLost signal
+   *
+   */
+  public class KeyInputFocusLostEventArgs : EventArgs
+  {
+    private View _view;
+
+    /**
+     * @brief View - is the view that loses Key Input Focus
+     *
+     */
+    public View View
+    {
+      get
+      {
+        return _view;
+      }
+      set
+      {
+        _view = value;
+      }
+    }
+  }
+
+  /**
+   * @brief Event arguments that passed via Key signal
+   *
+   */
+  public class KeyEventArgs : EventArgs
+  {
+    private View _view;
+    private Key _key;
+
+    /**
+     * @brief View - is the view that recieves the key.
+     *
+     */
+    public View View
+    {
+      get
+      {
+        return _view;
+      }
+      set
+      {
+        _view = value;
+      }
+    }
+
+    /**
+     * @brief Key - is the key sent to the View.
+     *
+     */
+    public Key Key
+    {
+      get
+      {
+        return _key;
+      }
+      set
+      {
+        _key = value;
+      }
+    }
+  }
+
+  /**
+   * @brief Event arguments that passed via OnRelayout signal
+   *
+   */
+  public class OnRelayoutEventArgs : EventArgs
+  {
+    private View _view;
+
+    /**
+     * @brief View - is the view that is being resized upon relayout
+     *
+     */
+    public View View
+    {
+      get
+      {
+        return _view;
+      }
+      set
+      {
+        _view = value;
+      }
+    }
+  }
+
+
+  /**
+   * @brief Event arguments that passed via Touch signal
+   *
+   */
+  public class TouchEventArgs : EventArgs
+  {
+     private View _view;
+     private Touch _touch;
+
+    /**
+     * @brief View - is the view that is being touched
+     *
+     */
+    public View View
+    {
+      get
+      {
+        return _view;
+      }
+      set
+      {
+        _view = value;
+      }
+    }
+
+    /**
+     * @brief Touch - contains the information of touch points
+     *
+     */
+    public Touch Touch
+    {
+      get
+      {
+        return _touch;
+      }
+      set
+      {
+        _touch = value;
+      }
+    }
+  }
+
+  /**
+   * @brief Event arguments that passed via Hover signal
+   *
+   */
+  public class HoverEventArgs : EventArgs
+  {
+     private View _view;
+     private Hover _hover;
+
+    /**
+     * @brief View - is the view that is being hovered
+     *
+     */
+    public View View
+    {
+      get
+      {
+        return _view;
+      }
+      set
+      {
+        _view = value;
+      }
+    }
+
+    /**
+     * @brief Hover - contains touch points that represent the points
+     * that are currently being hovered or the points where a hover has stopped
+     *
+     */
+    public Hover Hover
+    {
+      get
+      {
+        return _hover;
+      }
+      set
+      {
+        _hover = value;
+      }
+    }
+  }
+
+  /**
+   * @brief Event arguments that passed via Wheel signal
+   *
+   */
+  public class WheelEventArgs : EventArgs
+  {
+    private View _view;
+    private Wheel _wheel;
+
+    /**
+     * @brief View - is the view that is being wheeled
+     *
+     */
+    public View View
+    {
+      get
+      {
+        return _view;
+      }
+      set
+      {
+        _view = value;
+      }
+    }
+
+    /**
+     * @brief Wheel - store a wheel rolling type : MOUSE_WHEEL or CUSTOM_WHEEL
+     *
+     */
+    public Wheel Wheel
+    {
+      get
+      {
+        return _wheel;
+      }
+      set
+      {
+        _wheel = value;
+      }
+    }
+  }
+
+  /**
+   * @brief Event arguments that passed via OnStage signal
+   *
+   */
+  public class OnStageEventArgs : EventArgs
+  {
+  private View _view;
+
+    /**
+     * @brief View - is the view that is being connected to the stage
+     *
+     */
+    public View View
+    {
+      get
+      {
+        return _view;
+      }
+      set
+      {
+        _view = value;
+      }
+    }
+  }
+
+  /**
+   * @brief Event arguments that passed via OffStage signal
+   *
+   */
+  public class OffStageEventArgs : EventArgs
+  {
+  private View _view;
+
+    /**
+     * @brief View - is the view that is being disconnected from the stage
+     *
+     */
+    public View View
+    {
+      get
+      {
+        return _view;
+      }
+      set
+      {
+        _view = value;
+      }
+    }
+  }
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void KeyInputFocusGainedCallbackDelegate(IntPtr control);
+  private DaliEventHandler<object,KeyInputFocusGainedEventArgs> _KeyInputFocusGainedEventHandler;
+  private KeyInputFocusGainedCallbackDelegate _KeyInputFocusGainedCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void KeyInputFocusLostCallbackDelegate(IntPtr control);
+  private DaliEventHandler<object,KeyInputFocusLostEventArgs> _KeyInputFocusLostEventHandler;
+  private KeyInputFocusLostCallbackDelegate _KeyInputFocusLostCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate bool KeyCallbackDelegate(IntPtr control, IntPtr key);
+  private DaliEventHandlerWithReturnType<object,KeyEventArgs,bool> _KeyHandler;
+  private KeyCallbackDelegate _KeyCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void OnRelayoutEventCallbackDelegate(IntPtr control);
+  private DaliEventHandler<object,OnRelayoutEventArgs> _viewOnRelayoutEventHandler;
+  private OnRelayoutEventCallbackDelegate _viewOnRelayoutEventCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate bool TouchCallbackDelegate(IntPtr view, IntPtr touch);
+  private DaliEventHandlerWithReturnType<object,TouchEventArgs,bool> _viewTouchHandler;
+  private TouchCallbackDelegate _viewTouchCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate bool HoverCallbackDelegate(IntPtr view, IntPtr hover);
+  private DaliEventHandlerWithReturnType<object,HoverEventArgs,bool> _viewHoverHandler;
+  private HoverCallbackDelegate _viewHoverCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate bool WheelCallbackDelegate(IntPtr view, IntPtr wheel);
+  private DaliEventHandlerWithReturnType<object,WheelEventArgs,bool> _viewWheelHandler;
+  private WheelCallbackDelegate _viewWheelCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void OnStageEventCallbackDelegate(IntPtr control);
+  private DaliEventHandler<object,OnStageEventArgs> _viewOnStageEventHandler;
+  private OnStageEventCallbackDelegate _viewOnStageEventCallbackDelegate;
+
+  [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+  private delegate void OffStageEventCallbackDelegate(IntPtr control);
+  private DaliEventHandler<object,OffStageEventArgs> _viewOffStageEventHandler;
+  private OffStageEventCallbackDelegate _viewOffStageEventCallbackDelegate;
+
+  /**
+   * @brief Event for KeyInputFocusGained signal which can be used to subscribe/unsubscribe the event handler
+   * (in the type of KeyInputFocusGainedEventHandler-DaliEventHandler<object,KeyInputFocusGainedEventArgs>)
+   * provided by the user. KeyInputFocusGained signal is emitted when the control gets Key Input Focus.
+   */
+  public event DaliEventHandler<object,KeyInputFocusGainedEventArgs> KeyInputFocusGained
+  {
+    add
+    {
+      lock(this)
+      {
+        // Restricted to only one listener
+        if (_KeyInputFocusGainedEventHandler == null)
+        {
+          _KeyInputFocusGainedEventHandler += value;
+          Console.WriteLine("View Key EVENT Locked....");
+          _KeyInputFocusGainedCallbackDelegate = new KeyInputFocusGainedCallbackDelegate(OnKeyInputFocusGained);
+          this.KeyInputFocusGainedSignal().Connect(_KeyInputFocusGainedCallbackDelegate);
+        }
+      }
+    }
+
+    remove
+    {
+      lock(this)
+      {
+        if (_KeyInputFocusGainedEventHandler != null)
+        {
+          this.KeyInputFocusGainedSignal().Disconnect(_KeyInputFocusGainedCallbackDelegate);
+        }
+
+        _KeyInputFocusGainedEventHandler -= value;
+      }
+    }
+  }
+
+  private void OnKeyInputFocusGained(IntPtr view)
+  {
+    KeyInputFocusGainedEventArgs e = new KeyInputFocusGainedEventArgs();
+    Console.WriteLine("View Key ....");
+    // Populate all members of "e" (KeyInputFocusGainedEventArgs) with real data
+    e.View = Dali.View.GetViewFromPtr(view);
+
+    if (_KeyInputFocusGainedEventHandler != null)
+    {
+      //here we send all data to user event handlers
+      _KeyInputFocusGainedEventHandler(this, e);
+    }
+
+  }
+
+  /**
+   * @brief Event for KeyInputFocusLost signal which can be used to subscribe/unsubscribe the event handler
+   * (in the type of KeyInputFocusLostEventHandler-DaliEventHandler<object,KeyInputFocusLostEventArgs>)
+   * provided by the user. KeyInputFocusLost signal is emitted when the control loses Key Input Focus.
+   */
+  public event DaliEventHandler<object,KeyInputFocusLostEventArgs> KeyInputFocusLost
+  {
+    add
+    {
+      lock(this)
+      {
+        // Restricted to only one listener
+        if (_KeyInputFocusLostEventHandler == null)
+        {
+          _KeyInputFocusLostEventHandler += value;
+
+          _KeyInputFocusLostCallbackDelegate = new KeyInputFocusLostCallbackDelegate(OnKeyInputFocusLost);
+          this.KeyInputFocusLostSignal().Connect(_KeyInputFocusLostCallbackDelegate);
+        }
+      }
+    }
+
+    remove
+    {
+      lock(this)
+      {
+        if (_KeyInputFocusLostEventHandler != null)
+        {
+          this.KeyInputFocusLostSignal().Disconnect(_KeyInputFocusLostCallbackDelegate);
+        }
+
+        _KeyInputFocusLostEventHandler -= value;
+      }
+    }
+  }
+
+  private void OnKeyInputFocusLost(IntPtr view)
+  {
+    KeyInputFocusLostEventArgs e = new KeyInputFocusLostEventArgs();
+
+    // Populate all members of "e" (KeyInputFocusLostEventArgs) with real data
+    e.View = Dali.View.GetViewFromPtr(view);
+
+    if (_KeyInputFocusLostEventHandler != null)
+    {
+      //here we send all data to user event handlers
+      _KeyInputFocusLostEventHandler(this, e);
+    }
+  }
+
+  /**
+   * @brief Event for KeyPressed signal which can be used to subscribe/unsubscribe the event handler
+   * (in the type of KeyHandler-DaliEventHandlerWithReturnType<object,KeyEventArgs,bool>)
+   * provided by the user. KeyPressed signal is emitted when key event is received.
+   */
+  public event DaliEventHandlerWithReturnType<object,KeyEventArgs,bool> KeyPressed
+  {
+    add
+    {
+      lock(this)
+      {
+        // Restricted to only one listener
+        if (_KeyHandler == null)
+        {
+          _KeyHandler += value;
+
+          _KeyCallbackDelegate = new KeyCallbackDelegate(OnKey);
+          this.KeyEventSignal().Connect(_KeyCallbackDelegate);
+        }
+      }
+    }
+
+    remove
+    {
+      lock(this)
+      {
+        if (_KeyHandler != null)
+        {
+          this.KeyEventSignal().Disconnect(_KeyCallbackDelegate);
+        }
+
+        _KeyHandler -= value;
+      }
+    }
+  }
+
+  private bool OnKey(IntPtr view, IntPtr key)
+  {
+    KeyEventArgs e = new KeyEventArgs();
+
+    // Populate all members of "e" (KeyEventArgs) with real data
+    e.View = Dali.View.GetViewFromPtr(view);
+    e.Key = Dali.Key.GetKeyFromPtr(key);
+
+    if (_KeyHandler != null)
+    {
+      //here we send all data to user event handlers
+      return _KeyHandler(this, e);
+    }
+    return false;
+
+  }
+
+  /**
+   * @brief Event for OnRelayout signal which can be used to subscribe/unsubscribe the event handler
+   * (in the type of OnRelayoutEventHandler) provided by the user.
+   * OnRelayout signal is emitted after the size has been set on the view during relayout.
+   */
+  public event DaliEventHandler<object,OnRelayoutEventArgs> OnRelayoutEvent
+  {
+    add
+    {
+      lock(this)
+      {
+        // Restricted to only one listener
+        if (_viewOnRelayoutEventHandler == null)
+        {
+          _viewOnRelayoutEventHandler += value;
+          Console.WriteLine("View OnRelayoutEventArgs Locked....");
+          _viewOnRelayoutEventCallbackDelegate = new OnRelayoutEventCallbackDelegate(OnRelayout);
+          this.OnRelayoutSignal().Connect(_viewOnRelayoutEventCallbackDelegate);
+        }
+      }
+    }
+
+    remove
+    {
+      lock(this)
+      {
+        if (_viewOnRelayoutEventHandler != null)
+        {
+          this.OnRelayoutSignal().Disconnect(_viewOnRelayoutEventCallbackDelegate);
+        }
+
+        _viewOnRelayoutEventHandler -= value;
+      }
+    }
+  }
+
+  // Callback for View OnRelayout signal
+  private void OnRelayout(IntPtr data)
+  {
+    OnRelayoutEventArgs e = new OnRelayoutEventArgs();
+    Console.WriteLine("View OnRelayoutEventArgs....");
+    // Populate all members of "e" (OnRelayoutEventArgs) with real data
+    e.View = View.GetViewFromPtr(data);
+
+    if (_viewOnRelayoutEventHandler != null)
+    {
+      //here we send all data to user event handlers
+      _viewOnRelayoutEventHandler(this, e);
+    }
+  }
+
+  /**
+   * @brief Event for Touched signal which can be used to subscribe/unsubscribe the event handler
+   * (in the type of TouchHandler-DaliEventHandlerWithReturnType<object,TouchEventArgs,bool>)
+   * provided by the user. Touched signal is emitted when touch input is received.
+   */
+  public event DaliEventHandlerWithReturnType<object,TouchEventArgs,bool> Touched
+  {
+    add
+    {
+      lock(this)
+      {
+        // Restricted to only one listener
+        if (_viewTouchHandler == null)
+        {
+          _viewTouchHandler += value;
+          Console.WriteLine("View Touch EVENT LOCKED....");
+          _viewTouchCallbackDelegate = new TouchCallbackDelegate(OnTouch);
+          this.TouchSignal().Connect(_viewTouchCallbackDelegate);
+        }
+      }
+    }
+
+    remove
+    {
+      lock(this)
+      {
+        if (_viewTouchHandler != null)
+        {
+          this.TouchSignal().Disconnect(_viewTouchCallbackDelegate);
+        }
+
+        _viewTouchHandler -= value;
+      }
+    }
+  }
+
+  // Callback for View TouchSignal
+  private bool OnTouch(IntPtr view, IntPtr touch)
+  {
+    TouchEventArgs e = new TouchEventArgs();
+    Console.WriteLine("View Touch EVENT....");
+    // Populate all members of "e" (TouchEventArgs) with real data
+    e.View = View.GetViewFromPtr(view);
+    e.Touch = Dali.Touch.GetTouchFromPtr(touch);
+
+    if (_viewTouchHandler != null)
+    {
+      //here we send all data to user event handlers
+      return _viewTouchHandler(this, e);
+    }
+
+    return false;
+  }
+
+  /**
+   * @brief Event for Hovered signal which can be used to subscribe/unsubscribe the event handler
+   * (in the type of HoverHandler-DaliEventHandlerWithReturnType<object,HoverEventArgs,bool>)
+   * provided by the user. Hovered signal is emitted when hover input is received.
+   */
+  public event DaliEventHandlerWithReturnType<object,HoverEventArgs,bool> Hovered
+  {
+    add
+    {
+      lock(this)
+      {
+        // Restricted to only one listener
+        if (_viewHoverHandler == null)
+        {
+          _viewHoverHandler += value;
+
+          _viewHoverCallbackDelegate = new HoverCallbackDelegate(OnHover);
+          this.HoveredSignal().Connect(_viewHoverCallbackDelegate);
+        }
+      }
+    }
+
+    remove
+    {
+      lock(this)
+      {
+        if (_viewHoverHandler != null)
+        {
+          this.HoveredSignal().Disconnect(_viewHoverCallbackDelegate);
+        }
+
+        _viewHoverHandler -= value;
+      }
+    }
+  }
+
+  // Callback for View Hover signal
+  private bool OnHover(IntPtr view, IntPtr hover)
+  {
+    HoverEventArgs e = new HoverEventArgs();
+
+    // Populate all members of "e" (HoverEventArgs) with real data
+    e.View = View.GetViewFromPtr(view);
+    e.Hover = Dali.Hover.GetHoverFromPtr(hover);
+
+    if (_viewHoverHandler != null)
+    {
+      //here we send all data to user event handlers
+      return _viewHoverHandler(this, e);
+    }
+
+    return false;
+  }
+
+  /**
+   * @brief Event for WheelMoved signal which can be used to subscribe/unsubscribe the event handler
+   * (in the type of WheelHandler-DaliEventHandlerWithReturnType<object,WheelEventArgs,bool>)
+   * provided by the user. WheelMoved signal is emitted when wheel event is received.
+   */
+  public event DaliEventHandlerWithReturnType<object,WheelEventArgs,bool> WheelMoved
+  {
+    add
+    {
+      lock(this)
+      {
+        // Restricted to only one listener
+        if (_viewWheelHandler == null)
+        {
+          _viewWheelHandler += value;
+          Console.WriteLine("View Wheel EVENT LOCKED....");
+          _viewWheelCallbackDelegate = new WheelCallbackDelegate(OnWheel);
+          this.WheelEventSignal().Connect(_viewWheelCallbackDelegate);
+        }
+      }
+    }
+
+    remove
+    {
+      lock(this)
+      {
+        if (_viewWheelHandler != null)
+        {
+          this.WheelEventSignal().Disconnect(_viewWheelCallbackDelegate);
+        }
+
+        _viewWheelHandler -= value;
+      }
+    }
+  }
+
+  // Callback for View Wheel signal
+  private bool OnWheel(IntPtr view, IntPtr wheel)
+  {
+    WheelEventArgs e = new WheelEventArgs();
+    Console.WriteLine("View Wheel EVENT ....");
+    // Populate all members of "e" (WheelEventArgs) with real data
+    e.View = View.GetViewFromPtr(view);
+    e.Wheel = Dali.Wheel.GetWheelFromPtr(wheel);
+
+    if (_viewWheelHandler != null)
+    {
+      //here we send all data to user event handlers
+      return _viewWheelHandler(this, e);
+    }
+
+    return false;
+  }
+
+  /**
+   * @brief Event for OnStage signal which can be used to subscribe/unsubscribe the event handler
+   * (in the type of OnStageEventHandler) provided by the user.
+   * OnStage signal is emitted after the view has been connected to the stage.
+   */
+  public event DaliEventHandler<object,OnStageEventArgs> OnStageEvent
+  {
+    add
+    {
+      lock(this)
+      {
+        // Restricted to only one listener
+        if (_viewOnStageEventHandler == null)
+        {
+          _viewOnStageEventHandler += value;
+
+          _viewOnStageEventCallbackDelegate = new OnStageEventCallbackDelegate(OnStage);
+          this.OnStageSignal().Connect(_viewOnStageEventCallbackDelegate);
+        }
+      }
+    }
+
+    remove
+    {
+      lock(this)
+      {
+        if (_viewOnStageEventHandler != null)
+        {
+          this.OnStageSignal().Disconnect(_viewOnStageEventCallbackDelegate);
+        }
+
+        _viewOnStageEventHandler -= value;
+      }
+    }
+  }
+
+  // Callback for View OnStage signal
+  private void OnStage(IntPtr data)
+  {
+    OnStageEventArgs e = new OnStageEventArgs();
+
+    // Populate all members of "e" (OnStageEventArgs) with real data
+    e.View = View.GetViewFromPtr(data);
+
+    //Console.WriteLine("############# OnStage()! e.View.Name=" + e.View.Name);
+
+    if (_viewOnStageEventHandler != null)
+    {
+      //here we send all data to user event handlers
+      _viewOnStageEventHandler(this, e);
+    }
+  }
+
+  /**
+   * @brief Event for OffStage signal which can be used to subscribe/unsubscribe the event handler
+   * (in the type of OffStageEventHandler) provided by the user.
+   * OffStage signal is emitted after the view has been disconnected from the stage.
+   */
+  public event DaliEventHandler<object,OffStageEventArgs> OffStageEvent
+  {
+    add
+    {
+      lock(this)
+      {
+        // Restricted to only one listener
+        if (_viewOffStageEventHandler == null)
+        {
+          _viewOffStageEventHandler += value;
+
+          _viewOffStageEventCallbackDelegate = new OffStageEventCallbackDelegate(OffStage);
+          this.OnStageSignal().Connect(_viewOffStageEventCallbackDelegate);
+        }
+      }
+    }
+
+    remove
+    {
+      lock(this)
+      {
+        if (_viewOffStageEventHandler != null)
+        {
+          this.OnStageSignal().Disconnect(_viewOffStageEventCallbackDelegate);
+        }
+
+        _viewOffStageEventHandler -= value;
+      }
+    }
+  }
+
+  // Callback for View OffStage signal
+  private void OffStage(IntPtr data)
+  {
+    OffStageEventArgs e = new OffStageEventArgs();
+
+    // Populate all members of "e" (OffStageEventArgs) with real data
+    e.View = View.GetViewFromPtr(data);
+
+    if (_viewOffStageEventHandler != null)
+    {
+      //here we send all data to user event handlers
+      _viewOffStageEventHandler(this, e);
+    }
+  }
+
+  public static View GetViewFromPtr(global::System.IntPtr cPtr) {
+    View ret = new View(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public 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;
+    }
+
+    ~Property() {
+      Dispose();
+    }
+
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_View_Property(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+
+    public static readonly int TOOLTIP = NDalicManualPINVOKE.View_Property_TOOLTIP_get();
+    public static readonly int STATE = NDalicManualPINVOKE.View_Property_STATE_get();
+    public static readonly int SUB_STATE = NDalicManualPINVOKE.View_Property_SUB_STATE_get();
+    public static readonly int LEFT_FOCUSABLE_ACTOR_ID = NDalicManualPINVOKE.View_Property_LEFT_FOCUSABLE_ACTOR_ID_get();
+    public static readonly int RIGHT_FOCUSABLE_ACTOR_ID = NDalicManualPINVOKE.View_Property_RIGHT_FOCUSABLE_ACTOR_ID_get();
+    public static readonly int UP_FOCUSABLE_ACTOR_ID = NDalicManualPINVOKE.View_Property_UP_FOCUSABLE_ACTOR_ID_get();
+    public static readonly int DOWN_FOCUSABLE_ACTOR_ID = NDalicManualPINVOKE.View_Property_DOWN_FOCUSABLE_ACTOR_ID_get();
+
+    public Property() : this(NDalicPINVOKE.new_View_Property(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+
+    public static readonly int STYLE_NAME = NDalicPINVOKE.View_Property_STYLE_NAME_get();
+    public static readonly int BACKGROUND_COLOR = NDalicPINVOKE.View_Property_BACKGROUND_COLOR_get();
+    public static readonly int BACKGROUND_IMAGE = NDalicPINVOKE.View_Property_BACKGROUND_IMAGE_get();
+    public static readonly int KEY_INPUT_FOCUS = NDalicPINVOKE.View_Property_KEY_INPUT_FOCUS_get();
+    public static readonly int BACKGROUND = NDalicPINVOKE.View_Property_BACKGROUND_get();
+
+  }
+
+  public class KeyboardFocus : global::System.IDisposable {
+    private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+    protected bool swigCMemOwn;
+
+    internal KeyboardFocus(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(KeyboardFocus obj) {
+      return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+    }
+
+    ~KeyboardFocus() {
+      Dispose();
+    }
+
+    public virtual void Dispose() {
+      lock(this) {
+        if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+          if (swigCMemOwn) {
+            swigCMemOwn = false;
+            NDalicPINVOKE.delete_View_KeyboardFocus(swigCPtr);
+          }
+          swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+        }
+        global::System.GC.SuppressFinalize(this);
+      }
+    }
+
+    public KeyboardFocus() : this(NDalicPINVOKE.new_View_KeyboardFocus(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+
+    public enum Direction {
+      LEFT,
+      RIGHT,
+      UP,
+      DOWN,
+      PAGE_UP,
+      PAGE_DOWN
+    }
+  }
+
+  public View () : this (NDalicPINVOKE.View_New(), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public View(View uiControl) : this(NDalicPINVOKE.new_View__SWIG_1(View.getCPtr(uiControl)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public View Assign(View handle) {
+    View ret = new View(NDalicPINVOKE.View_Assign(swigCPtr, View.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private new static View DownCast(BaseHandle handle) {
+    View ret = new View(NDalicPINVOKE.View_DownCast(BaseHandle.getCPtr(handle)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static T DownCast<T>(Actor actor) where T : View
+  {
+      return (T)( ViewRegistry.GetViewFromActor( actor ) );
+  }
+
+  private View ConvertIdToView(uint id)
+  {
+    Actor actor = null;
+
+    if (Parent)
+    {
+      actor = Parent.FindChildById(id);
+    }
+
+    if (!actor)
+    {
+      actor = Stage.Instance.GetRootLayer().FindChildById(id);
+    }
+
+    return View.DownCast<View>(actor);
+  }
+
+  public void SetKeyInputFocus() {
+    NDalicPINVOKE.View_SetKeyInputFocus(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool HasKeyInputFocus() {
+    bool ret = NDalicPINVOKE.View_HasKeyInputFocus(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void ClearKeyInputFocus() {
+    NDalicPINVOKE.View_ClearKeyInputFocus(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PinchGestureDetector GetPinchGestureDetector() {
+    PinchGestureDetector ret = new PinchGestureDetector(NDalicPINVOKE.View_GetPinchGestureDetector(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public PanGestureDetector GetPanGestureDetector() {
+    PanGestureDetector ret = new PanGestureDetector(NDalicPINVOKE.View_GetPanGestureDetector(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public TapGestureDetector GetTapGestureDetector() {
+    TapGestureDetector ret = new TapGestureDetector(NDalicPINVOKE.View_GetTapGestureDetector(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public LongPressGestureDetector GetLongPressGestureDetector() {
+    LongPressGestureDetector ret = new LongPressGestureDetector(NDalicPINVOKE.View_GetLongPressGestureDetector(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetStyleName(string styleName) {
+    NDalicPINVOKE.View_SetStyleName(swigCPtr, styleName);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public string GetStyleName() {
+    string ret = NDalicPINVOKE.View_GetStyleName(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetBackgroundColor(Vector4 color) {
+    NDalicPINVOKE.View_SetBackgroundColor(swigCPtr, Vector4.getCPtr(color));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector4 GetBackgroundColor() {
+    Vector4 ret = new Vector4(NDalicPINVOKE.View_GetBackgroundColor(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetBackgroundImage(Image image) {
+    NDalicPINVOKE.View_SetBackgroundImage(swigCPtr, Image.getCPtr(image));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void ClearBackground() {
+    NDalicPINVOKE.View_ClearBackground(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ControlKeySignal KeyEventSignal() {
+    ControlKeySignal ret = new ControlKeySignal(NDalicPINVOKE.View_KeyEventSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public KeyInputFocusSignal KeyInputFocusGainedSignal() {
+    KeyInputFocusSignal ret = new KeyInputFocusSignal(NDalicPINVOKE.View_KeyInputFocusGainedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public KeyInputFocusSignal KeyInputFocusLostSignal() {
+    KeyInputFocusSignal ret = new KeyInputFocusSignal(NDalicPINVOKE.View_KeyInputFocusLostSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public View(ViewImpl implementation) : this(NDalicPINVOKE.new_View__SWIG_2(ViewImpl.getCPtr(implementation)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public enum PropertyRange {
+    PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+    CONTROL_PROPERTY_START_INDEX = PROPERTY_START_INDEX,
+    CONTROL_PROPERTY_END_INDEX = CONTROL_PROPERTY_START_INDEX+1000
+  }
+
+  public string StyleName
+  {
+    get
+    {
+      string temp;
+      GetProperty( View.Property.STYLE_NAME).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( View.Property.STYLE_NAME, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public Vector4 BackgroundColor
+  {
+    get
+    {
+      Vector4 backgroundColor = new Vector4(0.0f,0.0f,0.0f,0.0f);
+
+      Dali.Property.Map background = Background;
+      int visualType = 0;
+      background.Find( Dali.Constants.Visual.Property.Type ).Get( ref visualType );
+      if(visualType == (int)Dali.Constants.Visual.Type.Color)
+      {
+        background.Find( Dali.Constants.ColorVisualProperty.MixColor ).Get( backgroundColor );
+      }
+
+      return backgroundColor;
+    }
+    set
+    {
+      SetProperty( View.Property.BACKGROUND, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public string BackgroundImage
+  {
+    get
+    {
+      string backgroundImage = "";
+
+      Dali.Property.Map background = Background;
+      int visualType = 0;
+      background.Find( Dali.Constants.Visual.Property.Type ).Get( ref visualType );
+      if(visualType == (int)Dali.Constants.Visual.Type.Image)
+      {
+        background.Find( Dali.Constants.ImageVisualProperty.URL ).Get( out backgroundImage );
+      }
+
+      return backgroundImage;
+    }
+    set
+    {
+      SetProperty( View.Property.BACKGROUND, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public bool KeyInputFocus
+  {
+    get
+    {
+      bool temp = false;
+      GetProperty( View.Property.KEY_INPUT_FOCUS).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( View.Property.KEY_INPUT_FOCUS, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public Dali.Property.Map Background
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( View.Property.BACKGROUND).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( View.Property.BACKGROUND, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public string State
+  {
+    get
+    {
+      string temp;
+      GetProperty( View.Property.STATE).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( View.Property.STATE, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public string SubState
+  {
+    get
+    {
+      string temp;
+      GetProperty( View.Property.SUB_STATE).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( View.Property.SUB_STATE, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public Dali.Property.Map Tooltip
+  {
+    get
+    {
+      Dali.Property.Map temp = new Dali.Property.Map();
+      GetProperty( View.Property.TOOLTIP).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( View.Property.TOOLTIP, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public string TooltipText
+  {
+    set
+    {
+      SetProperty( View.Property.TOOLTIP, new Dali.Property.Value( value ) );
+    }
+  }
+
+  private int LeftFocusableActorId
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( View.Property.LEFT_FOCUSABLE_ACTOR_ID).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( View.Property.LEFT_FOCUSABLE_ACTOR_ID, new Dali.Property.Value( value ) );
+    }
+  }
+
+  private int RightFocusableActorId
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( View.Property.RIGHT_FOCUSABLE_ACTOR_ID).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( View.Property.RIGHT_FOCUSABLE_ACTOR_ID, new Dali.Property.Value( value ) );
+    }
+  }
+
+  private int UpFocusableActorId
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( View.Property.UP_FOCUSABLE_ACTOR_ID).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( View.Property.UP_FOCUSABLE_ACTOR_ID, new Dali.Property.Value( value ) );
+    }
+  }
+
+  private int DownFocusableActorId
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( View.Property.DOWN_FOCUSABLE_ACTOR_ID).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( View.Property.DOWN_FOCUSABLE_ACTOR_ID, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public float Flex
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( FlexContainer.ChildProperty.FLEX).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( FlexContainer.ChildProperty.FLEX, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public int AlignSelf
+  {
+    get
+    {
+      int temp = 0;
+      GetProperty( FlexContainer.ChildProperty.ALIGN_SELF).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( FlexContainer.ChildProperty.ALIGN_SELF, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public Vector4 FlexMargin
+  {
+    get
+    {
+      Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
+      GetProperty( FlexContainer.ChildProperty.FLEX_MARGIN).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( FlexContainer.ChildProperty.FLEX_MARGIN, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public Vector2 CellIndex
+  {
+    get
+    {
+      Vector2 temp = new Vector2(0.0f,0.0f);
+      GetProperty( TableView.ChildProperty.CELL_INDEX).Get(  temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TableView.ChildProperty.CELL_INDEX, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public float RowSpan
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( TableView.ChildProperty.ROW_SPAN).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TableView.ChildProperty.ROW_SPAN, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public float ColumnSpan
+  {
+    get
+    {
+      float temp = 0.0f;
+      GetProperty( TableView.ChildProperty.COLUMN_SPAN).Get( ref temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TableView.ChildProperty.COLUMN_SPAN, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public string CellHorizontalAlignment
+  {
+    get
+    {
+      string temp;
+      GetProperty( TableView.ChildProperty.CELL_HORIZONTAL_ALIGNMENT).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TableView.ChildProperty.CELL_HORIZONTAL_ALIGNMENT, new Dali.Property.Value( value ) );
+    }
+  }
+
+  public string CellVerticalAlignment
+  {
+    get
+    {
+      string temp;
+      GetProperty( TableView.ChildProperty.CELL_VERTICAL_ALIGNMENT).Get( out temp );
+      return temp;
+    }
+    set
+    {
+      SetProperty( TableView.ChildProperty.CELL_VERTICAL_ALIGNMENT, new Dali.Property.Value( value ) );
+    }
+  }
+
+  /**
+   * @brief The left focusable view.
+   * @note This will return NULL if not set.
+   * This will also return NULL if the specified left focusable view is not on stage.
+   *
+   */
+  public View LeftFocusableView
+  {
+    // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
+    get
+    {
+      if (LeftFocusableActorId >= 0)
+      {
+        return ConvertIdToView((uint)LeftFocusableActorId);
+      }
+      return null;
+    }
+    set
+    {
+      LeftFocusableActorId = (int)value.GetId();
+    }
+  }
+
+  /**
+   * @brief The right focusable view.
+   * @note This will return NULL if not set.
+   * This will also return NULL if the specified right focusable view is not on stage.
+   *
+   */
+  public View RightFocusableView
+  {
+    // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
+    get
+    {
+      if (RightFocusableActorId >= 0)
+      {
+        return ConvertIdToView((uint)RightFocusableActorId);
+      }
+      return null;
+    }
+    set
+    {
+      RightFocusableActorId = (int)value.GetId();
+    }
+  }
+
+  /**
+   * @brief The up focusable view.
+   * @note This will return NULL if not set.
+   * This will also return NULL if the specified up focusable view is not on stage.
+   *
+   */
+  public View UpFocusableView
+  {
+    // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
+    get
+    {
+      if (UpFocusableActorId >= 0)
+      {
+        return ConvertIdToView((uint)UpFocusableActorId);
+      }
+      return null;
+    }
+    set
+    {
+      UpFocusableActorId = (int)value.GetId();
+    }
+  }
+
+  /**
+   * @brief The down focusable view.
+   * @note This will return NULL if not set.
+   * This will also return NULL if the specified down focusable view is not on stage.
+   *
+   */
+  public View DownFocusableView
+  {
+    // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
+    get
+    {
+      if (DownFocusableActorId >= 0)
+      {
+        return ConvertIdToView((uint)DownFocusableActorId);
+      }
+      return null;
+    }
+    set
+    {
+      DownFocusableActorId = (int)value.GetId();
+    }
+  }
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ViewImpl.cs b/plugins/dali-sharp/sharp/internal/ViewImpl.cs
new file mode 100644 (file)
index 0000000..e462aa7
--- /dev/null
@@ -0,0 +1,792 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ViewImpl : CustomActorImpl {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal ViewImpl(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ViewImpl_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ViewImpl obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  public override void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          throw new global::System.MethodAccessException("C++ destructor does not have public access");
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+  public static View New() {
+    View ret = new View(NDalicPINVOKE.ViewImpl_New(), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetStyleName(string styleName) {
+    NDalicPINVOKE.ViewImpl_SetStyleName(swigCPtr, styleName);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public string GetStyleName() {
+    string ret = NDalicPINVOKE.ViewImpl_GetStyleName(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetBackgroundColor(Vector4 color) {
+    NDalicPINVOKE.ViewImpl_SetBackgroundColor(swigCPtr, Vector4.getCPtr(color));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Vector4 GetBackgroundColor() {
+    Vector4 ret = new Vector4(NDalicPINVOKE.ViewImpl_GetBackgroundColor(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetBackgroundImage(Image image) {
+    NDalicPINVOKE.ViewImpl_SetBackgroundImage(swigCPtr, Image.getCPtr(image));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetBackground(Property.Map map) {
+    NDalicPINVOKE.ViewImpl_SetBackground(swigCPtr, Property.Map.getCPtr(map));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void ClearBackground() {
+    NDalicPINVOKE.ViewImpl_ClearBackground(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void EnableGestureDetection(Gesture.GestureType type) {
+    NDalicPINVOKE.ViewImpl_EnableGestureDetection(swigCPtr, (int)type);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void DisableGestureDetection(Gesture.GestureType type) {
+    NDalicPINVOKE.ViewImpl_DisableGestureDetection(swigCPtr, (int)type);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public PinchGestureDetector GetPinchGestureDetector() {
+    PinchGestureDetector ret = new PinchGestureDetector(NDalicPINVOKE.ViewImpl_GetPinchGestureDetector(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public PanGestureDetector GetPanGestureDetector() {
+    PanGestureDetector ret = new PanGestureDetector(NDalicPINVOKE.ViewImpl_GetPanGestureDetector(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public TapGestureDetector GetTapGestureDetector() {
+    TapGestureDetector ret = new TapGestureDetector(NDalicPINVOKE.ViewImpl_GetTapGestureDetector(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public LongPressGestureDetector GetLongPressGestureDetector() {
+    LongPressGestureDetector ret = new LongPressGestureDetector(NDalicPINVOKE.ViewImpl_GetLongPressGestureDetector(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetKeyboardNavigationSupport(bool isSupported) {
+    NDalicPINVOKE.ViewImpl_SetKeyboardNavigationSupport(swigCPtr, isSupported);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool IsKeyboardNavigationSupported() {
+    bool ret = NDalicPINVOKE.ViewImpl_IsKeyboardNavigationSupported(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetKeyInputFocus() {
+    NDalicPINVOKE.ViewImpl_SetKeyInputFocus(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool HasKeyInputFocus() {
+    bool ret = NDalicPINVOKE.ViewImpl_HasKeyInputFocus(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void ClearKeyInputFocus() {
+    NDalicPINVOKE.ViewImpl_ClearKeyInputFocus(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetAsKeyboardFocusGroup(bool isFocusGroup) {
+    NDalicPINVOKE.ViewImpl_SetAsKeyboardFocusGroup(swigCPtr, isFocusGroup);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool IsKeyboardFocusGroup() {
+    bool ret = NDalicPINVOKE.ViewImpl_IsKeyboardFocusGroup(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void AccessibilityActivate() {
+    NDalicPINVOKE.ViewImpl_AccessibilityActivate(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void KeyboardEnter() {
+    NDalicPINVOKE.ViewImpl_KeyboardEnter(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ControlKeySignal KeyEventSignal() {
+    ControlKeySignal ret = new ControlKeySignal(NDalicPINVOKE.ViewImpl_KeyEventSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public KeyInputFocusSignal KeyInputFocusGainedSignal() {
+    KeyInputFocusSignal ret = new KeyInputFocusSignal(NDalicPINVOKE.ViewImpl_KeyInputFocusGainedSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public KeyInputFocusSignal KeyInputFocusLostSignal() {
+    KeyInputFocusSignal ret = new KeyInputFocusSignal(NDalicPINVOKE.ViewImpl_KeyInputFocusLostSignal(swigCPtr), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool EmitKeyEventSignal(Key arg0) {
+    bool ret = NDalicPINVOKE.ViewImpl_EmitKeyEventSignal(swigCPtr, Key.getCPtr(arg0));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  protected virtual new void OnStageConnection(int depth) {
+    if (SwigDerivedClassHasMethod("OnStageConnection", swigMethodTypes0)) NDalicPINVOKE.ViewImpl_OnStageConnectionSwigExplicitViewImpl(swigCPtr, depth); else NDalicPINVOKE.ViewImpl_OnStageConnection(swigCPtr, depth);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  protected virtual new void OnStageDisconnection() {
+    if (SwigDerivedClassHasMethod("OnStageDisconnection", swigMethodTypes1)) NDalicPINVOKE.ViewImpl_OnStageDisconnectionSwigExplicitViewImpl(swigCPtr); else NDalicPINVOKE.ViewImpl_OnStageDisconnection(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  protected virtual new void OnChildAdd(Actor child) {
+    if (SwigDerivedClassHasMethod("OnChildAdd", swigMethodTypes2)) NDalicPINVOKE.ViewImpl_OnChildAddSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(child)); else NDalicPINVOKE.ViewImpl_OnChildAdd(swigCPtr, Actor.getCPtr(child));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  protected virtual new void OnChildRemove(Actor child) {
+    if (SwigDerivedClassHasMethod("OnChildRemove", swigMethodTypes3)) NDalicPINVOKE.ViewImpl_OnChildRemoveSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(child)); else NDalicPINVOKE.ViewImpl_OnChildRemove(swigCPtr, Actor.getCPtr(child));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  protected virtual new void OnPropertySet(int index, Property.Value propertyValue) {
+    if (SwigDerivedClassHasMethod("OnPropertySet", swigMethodTypes4)) NDalicPINVOKE.ViewImpl_OnPropertySetSwigExplicitViewImpl(swigCPtr, index, Property.Value.getCPtr(propertyValue)); else NDalicPINVOKE.ViewImpl_OnPropertySet(swigCPtr, index, Property.Value.getCPtr(propertyValue));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  protected virtual new void OnSizeSet(Vector3 targetSize) {
+    if (SwigDerivedClassHasMethod("OnSizeSet", swigMethodTypes5)) NDalicPINVOKE.ViewImpl_OnSizeSetSwigExplicitViewImpl(swigCPtr, Vector3.getCPtr(targetSize)); else NDalicPINVOKE.ViewImpl_OnSizeSet(swigCPtr, Vector3.getCPtr(targetSize));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  protected virtual new void OnSizeAnimation(Animation animation, Vector3 targetSize) {
+    if (SwigDerivedClassHasMethod("OnSizeAnimation", swigMethodTypes6)) NDalicPINVOKE.ViewImpl_OnSizeAnimationSwigExplicitViewImpl(swigCPtr, Animation.getCPtr(animation), Vector3.getCPtr(targetSize)); else NDalicPINVOKE.ViewImpl_OnSizeAnimation(swigCPtr, Animation.getCPtr(animation), Vector3.getCPtr(targetSize));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  protected virtual new bool OnTouchEvent(SWIGTYPE_p_Dali__TouchEvent arg0) {
+    bool ret = (SwigDerivedClassHasMethod("OnTouchEvent", swigMethodTypes7) ? NDalicPINVOKE.ViewImpl_OnTouchEventSwigExplicitViewImpl(swigCPtr, SWIGTYPE_p_Dali__TouchEvent.getCPtr(arg0)) : NDalicPINVOKE.ViewImpl_OnTouchEvent(swigCPtr, SWIGTYPE_p_Dali__TouchEvent.getCPtr(arg0)));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  protected virtual new bool OnHoverEvent(Hover arg0) {
+    bool ret = (SwigDerivedClassHasMethod("OnHoverEvent", swigMethodTypes8) ? NDalicPINVOKE.ViewImpl_OnHoverEventSwigExplicitViewImpl(swigCPtr, Hover.getCPtr(arg0)) : NDalicPINVOKE.ViewImpl_OnHoverEvent(swigCPtr, Hover.getCPtr(arg0)));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  protected virtual new bool OnKeyEvent(Key arg0) {
+    bool ret = (SwigDerivedClassHasMethod("OnKeyEvent", swigMethodTypes9) ? NDalicPINVOKE.ViewImpl_OnKeyEventSwigExplicitViewImpl(swigCPtr, Key.getCPtr(arg0)) : NDalicPINVOKE.ViewImpl_OnKeyEvent(swigCPtr, Key.getCPtr(arg0)));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  protected virtual new bool OnWheelEvent(Wheel arg0) {
+    bool ret = (SwigDerivedClassHasMethod("OnWheelEvent", swigMethodTypes10) ? NDalicPINVOKE.ViewImpl_OnWheelEventSwigExplicitViewImpl(swigCPtr, Wheel.getCPtr(arg0)) : NDalicPINVOKE.ViewImpl_OnWheelEvent(swigCPtr, Wheel.getCPtr(arg0)));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  protected virtual new void OnRelayout(Vector2 size, RelayoutContainer container) {
+    if (SwigDerivedClassHasMethod("OnRelayout", swigMethodTypes11)) NDalicPINVOKE.ViewImpl_OnRelayoutSwigExplicitViewImpl(swigCPtr, Vector2.getCPtr(size), RelayoutContainer.getCPtr(container)); else NDalicPINVOKE.ViewImpl_OnRelayout(swigCPtr, Vector2.getCPtr(size), RelayoutContainer.getCPtr(container));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  protected virtual new void OnSetResizePolicy(ResizePolicyType policy, DimensionType dimension) {
+    if (SwigDerivedClassHasMethod("OnSetResizePolicy", swigMethodTypes12)) NDalicPINVOKE.ViewImpl_OnSetResizePolicySwigExplicitViewImpl(swigCPtr, (int)policy, (int)dimension); else NDalicPINVOKE.ViewImpl_OnSetResizePolicy(swigCPtr, (int)policy, (int)dimension);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  protected virtual new Vector3 GetNaturalSize() {
+    Vector3 ret = new Vector3((SwigDerivedClassHasMethod("GetNaturalSize", swigMethodTypes13) ? NDalicPINVOKE.ViewImpl_GetNaturalSizeSwigExplicitViewImpl(swigCPtr) : NDalicPINVOKE.ViewImpl_GetNaturalSize(swigCPtr)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  protected virtual new float CalculateChildSize(Actor child, DimensionType dimension) {
+    float ret = (SwigDerivedClassHasMethod("CalculateChildSize", swigMethodTypes14) ? NDalicPINVOKE.ViewImpl_CalculateChildSizeSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(child), (int)dimension) : NDalicPINVOKE.ViewImpl_CalculateChildSize(swigCPtr, Actor.getCPtr(child), (int)dimension));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  protected virtual new float GetHeightForWidth(float width) {
+    float ret = (SwigDerivedClassHasMethod("GetHeightForWidth", swigMethodTypes15) ? NDalicPINVOKE.ViewImpl_GetHeightForWidthSwigExplicitViewImpl(swigCPtr, width) : NDalicPINVOKE.ViewImpl_GetHeightForWidth(swigCPtr, width));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  protected virtual new float GetWidthForHeight(float height) {
+    float ret = (SwigDerivedClassHasMethod("GetWidthForHeight", swigMethodTypes16) ? NDalicPINVOKE.ViewImpl_GetWidthForHeightSwigExplicitViewImpl(swigCPtr, height) : NDalicPINVOKE.ViewImpl_GetWidthForHeight(swigCPtr, height));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  protected virtual new bool RelayoutDependentOnChildren(DimensionType dimension) {
+    bool ret = (SwigDerivedClassHasMethod("RelayoutDependentOnChildren", swigMethodTypes17) ? NDalicPINVOKE.ViewImpl_RelayoutDependentOnChildrenSwigExplicitViewImpl__SWIG_0(swigCPtr, (int)dimension) : NDalicPINVOKE.ViewImpl_RelayoutDependentOnChildren__SWIG_0(swigCPtr, (int)dimension));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  protected virtual new bool RelayoutDependentOnChildren() {
+    bool ret = (SwigDerivedClassHasMethod("RelayoutDependentOnChildren", swigMethodTypes18) ? NDalicPINVOKE.ViewImpl_RelayoutDependentOnChildrenSwigExplicitViewImpl__SWIG_1(swigCPtr) : NDalicPINVOKE.ViewImpl_RelayoutDependentOnChildren__SWIG_1(swigCPtr));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  protected virtual new void OnCalculateRelayoutSize(DimensionType dimension) {
+    if (SwigDerivedClassHasMethod("OnCalculateRelayoutSize", swigMethodTypes19)) NDalicPINVOKE.ViewImpl_OnCalculateRelayoutSizeSwigExplicitViewImpl(swigCPtr, (int)dimension); else NDalicPINVOKE.ViewImpl_OnCalculateRelayoutSize(swigCPtr, (int)dimension);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  protected virtual new void OnLayoutNegotiated(float size, DimensionType dimension) {
+    if (SwigDerivedClassHasMethod("OnLayoutNegotiated", swigMethodTypes20)) NDalicPINVOKE.ViewImpl_OnLayoutNegotiatedSwigExplicitViewImpl(swigCPtr, size, (int)dimension); else NDalicPINVOKE.ViewImpl_OnLayoutNegotiated(swigCPtr, size, (int)dimension);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual void OnInitialize() {
+    if (SwigDerivedClassHasMethod("OnInitialize", swigMethodTypes21)) NDalicPINVOKE.ViewImpl_OnInitializeSwigExplicitViewImpl(swigCPtr); else NDalicPINVOKE.ViewImpl_OnInitialize(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual void OnControlChildAdd(Actor child) {
+    if (SwigDerivedClassHasMethod("OnControlChildAdd", swigMethodTypes22)) NDalicPINVOKE.ViewImpl_OnControlChildAddSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(child)); else NDalicPINVOKE.ViewImpl_OnControlChildAdd(swigCPtr, Actor.getCPtr(child));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual void OnControlChildRemove(Actor child) {
+    if (SwigDerivedClassHasMethod("OnControlChildRemove", swigMethodTypes23)) NDalicPINVOKE.ViewImpl_OnControlChildRemoveSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(child)); else NDalicPINVOKE.ViewImpl_OnControlChildRemove(swigCPtr, Actor.getCPtr(child));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual void OnStyleChange(StyleManager styleManager, StyleChangeType change) {
+    if (SwigDerivedClassHasMethod("OnStyleChange", swigMethodTypes24)) NDalicPINVOKE.ViewImpl_OnStyleChangeSwigExplicitViewImpl(swigCPtr, StyleManager.getCPtr(styleManager), (int)change); else NDalicPINVOKE.ViewImpl_OnStyleChange(swigCPtr, StyleManager.getCPtr(styleManager), (int)change);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual bool OnAccessibilityActivated() {
+    bool ret = (SwigDerivedClassHasMethod("OnAccessibilityActivated", swigMethodTypes25) ? NDalicPINVOKE.ViewImpl_OnAccessibilityActivatedSwigExplicitViewImpl(swigCPtr) : NDalicPINVOKE.ViewImpl_OnAccessibilityActivated(swigCPtr));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual bool OnAccessibilityPan(PanGesture gesture) {
+    bool ret = (SwigDerivedClassHasMethod("OnAccessibilityPan", swigMethodTypes26) ? NDalicPINVOKE.ViewImpl_OnAccessibilityPanSwigExplicitViewImpl(swigCPtr, PanGesture.getCPtr(gesture)) : NDalicPINVOKE.ViewImpl_OnAccessibilityPan(swigCPtr, PanGesture.getCPtr(gesture)));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual bool OnAccessibilityTouch(SWIGTYPE_p_Dali__TouchEvent touchEvent) {
+    bool ret = (SwigDerivedClassHasMethod("OnAccessibilityTouch", swigMethodTypes27) ? NDalicPINVOKE.ViewImpl_OnAccessibilityTouchSwigExplicitViewImpl(swigCPtr, SWIGTYPE_p_Dali__TouchEvent.getCPtr(touchEvent)) : NDalicPINVOKE.ViewImpl_OnAccessibilityTouch(swigCPtr, SWIGTYPE_p_Dali__TouchEvent.getCPtr(touchEvent)));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual bool OnAccessibilityValueChange(bool isIncrease) {
+    bool ret = (SwigDerivedClassHasMethod("OnAccessibilityValueChange", swigMethodTypes28) ? NDalicPINVOKE.ViewImpl_OnAccessibilityValueChangeSwigExplicitViewImpl(swigCPtr, isIncrease) : NDalicPINVOKE.ViewImpl_OnAccessibilityValueChange(swigCPtr, isIncrease));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual bool OnAccessibilityZoom() {
+    bool ret = (SwigDerivedClassHasMethod("OnAccessibilityZoom", swigMethodTypes29) ? NDalicPINVOKE.ViewImpl_OnAccessibilityZoomSwigExplicitViewImpl(swigCPtr) : NDalicPINVOKE.ViewImpl_OnAccessibilityZoom(swigCPtr));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual void OnKeyInputFocusGained() {
+    if (SwigDerivedClassHasMethod("OnKeyInputFocusGained", swigMethodTypes30)) NDalicPINVOKE.ViewImpl_OnKeyInputFocusGainedSwigExplicitViewImpl(swigCPtr); else NDalicPINVOKE.ViewImpl_OnKeyInputFocusGained(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual void OnKeyInputFocusLost() {
+    if (SwigDerivedClassHasMethod("OnKeyInputFocusLost", swigMethodTypes31)) NDalicPINVOKE.ViewImpl_OnKeyInputFocusLostSwigExplicitViewImpl(swigCPtr); else NDalicPINVOKE.ViewImpl_OnKeyInputFocusLost(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual Actor GetNextKeyboardFocusableActor(Actor currentFocusedActor, View.KeyboardFocus.Direction direction, bool loopEnabled) {
+    Actor ret = new Actor((SwigDerivedClassHasMethod("GetNextKeyboardFocusableActor", swigMethodTypes32) ? NDalicPINVOKE.ViewImpl_GetNextKeyboardFocusableActorSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(currentFocusedActor), (int)direction, loopEnabled) : NDalicPINVOKE.ViewImpl_GetNextKeyboardFocusableActor(swigCPtr, Actor.getCPtr(currentFocusedActor), (int)direction, loopEnabled)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual void OnKeyboardFocusChangeCommitted(Actor commitedFocusableActor) {
+    if (SwigDerivedClassHasMethod("OnKeyboardFocusChangeCommitted", swigMethodTypes33)) NDalicPINVOKE.ViewImpl_OnKeyboardFocusChangeCommittedSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(commitedFocusableActor)); else NDalicPINVOKE.ViewImpl_OnKeyboardFocusChangeCommitted(swigCPtr, Actor.getCPtr(commitedFocusableActor));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual bool OnKeyboardEnter() {
+    bool ret = (SwigDerivedClassHasMethod("OnKeyboardEnter", swigMethodTypes34) ? NDalicPINVOKE.ViewImpl_OnKeyboardEnterSwigExplicitViewImpl(swigCPtr) : NDalicPINVOKE.ViewImpl_OnKeyboardEnter(swigCPtr));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public virtual void OnPinch(PinchGesture pinch) {
+    if (SwigDerivedClassHasMethod("OnPinch", swigMethodTypes35)) NDalicPINVOKE.ViewImpl_OnPinchSwigExplicitViewImpl(swigCPtr, PinchGesture.getCPtr(pinch)); else NDalicPINVOKE.ViewImpl_OnPinch(swigCPtr, PinchGesture.getCPtr(pinch));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual void OnPan(PanGesture pan) {
+    if (SwigDerivedClassHasMethod("OnPan", swigMethodTypes36)) NDalicPINVOKE.ViewImpl_OnPanSwigExplicitViewImpl(swigCPtr, PanGesture.getCPtr(pan)); else NDalicPINVOKE.ViewImpl_OnPan(swigCPtr, PanGesture.getCPtr(pan));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual void OnTap(TapGesture tap) {
+    if (SwigDerivedClassHasMethod("OnTap", swigMethodTypes37)) NDalicPINVOKE.ViewImpl_OnTapSwigExplicitViewImpl(swigCPtr, TapGesture.getCPtr(tap)); else NDalicPINVOKE.ViewImpl_OnTap(swigCPtr, TapGesture.getCPtr(tap));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual void OnLongPress(LongPressGesture longPress) {
+    if (SwigDerivedClassHasMethod("OnLongPress", swigMethodTypes38)) NDalicPINVOKE.ViewImpl_OnLongPressSwigExplicitViewImpl(swigCPtr, LongPressGesture.getCPtr(longPress)); else NDalicPINVOKE.ViewImpl_OnLongPress(swigCPtr, LongPressGesture.getCPtr(longPress));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual void SignalConnected(SlotObserver slotObserver, SWIGTYPE_p_Dali__CallbackBase callback) {
+    if (SwigDerivedClassHasMethod("SignalConnected", swigMethodTypes39)) NDalicPINVOKE.ViewImpl_SignalConnectedSwigExplicitViewImpl(swigCPtr, SlotObserver.getCPtr(slotObserver), SWIGTYPE_p_Dali__CallbackBase.getCPtr(callback)); else NDalicPINVOKE.ViewImpl_SignalConnected(swigCPtr, SlotObserver.getCPtr(slotObserver), SWIGTYPE_p_Dali__CallbackBase.getCPtr(callback));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public virtual void SignalDisconnected(SlotObserver slotObserver, SWIGTYPE_p_Dali__CallbackBase callback) {
+    if (SwigDerivedClassHasMethod("SignalDisconnected", swigMethodTypes40)) NDalicPINVOKE.ViewImpl_SignalDisconnectedSwigExplicitViewImpl(swigCPtr, SlotObserver.getCPtr(slotObserver), SWIGTYPE_p_Dali__CallbackBase.getCPtr(callback)); else NDalicPINVOKE.ViewImpl_SignalDisconnected(swigCPtr, SlotObserver.getCPtr(slotObserver), SWIGTYPE_p_Dali__CallbackBase.getCPtr(callback));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  private void SwigDirectorConnect() {
+    if (SwigDerivedClassHasMethod("OnStageConnection", swigMethodTypes0))
+      swigDelegate0 = new SwigDelegateViewImpl_0(SwigDirectorOnStageConnection);
+    if (SwigDerivedClassHasMethod("OnStageDisconnection", swigMethodTypes1))
+      swigDelegate1 = new SwigDelegateViewImpl_1(SwigDirectorOnStageDisconnection);
+    if (SwigDerivedClassHasMethod("OnChildAdd", swigMethodTypes2))
+      swigDelegate2 = new SwigDelegateViewImpl_2(SwigDirectorOnChildAdd);
+    if (SwigDerivedClassHasMethod("OnChildRemove", swigMethodTypes3))
+      swigDelegate3 = new SwigDelegateViewImpl_3(SwigDirectorOnChildRemove);
+    if (SwigDerivedClassHasMethod("OnPropertySet", swigMethodTypes4))
+      swigDelegate4 = new SwigDelegateViewImpl_4(SwigDirectorOnPropertySet);
+    if (SwigDerivedClassHasMethod("OnSizeSet", swigMethodTypes5))
+      swigDelegate5 = new SwigDelegateViewImpl_5(SwigDirectorOnSizeSet);
+    if (SwigDerivedClassHasMethod("OnSizeAnimation", swigMethodTypes6))
+      swigDelegate6 = new SwigDelegateViewImpl_6(SwigDirectorOnSizeAnimation);
+    if (SwigDerivedClassHasMethod("OnTouchEvent", swigMethodTypes7))
+      swigDelegate7 = new SwigDelegateViewImpl_7(SwigDirectorOnTouchEvent);
+    if (SwigDerivedClassHasMethod("OnHoverEvent", swigMethodTypes8))
+      swigDelegate8 = new SwigDelegateViewImpl_8(SwigDirectorOnHoverEvent);
+    if (SwigDerivedClassHasMethod("OnKeyEvent", swigMethodTypes9))
+      swigDelegate9 = new SwigDelegateViewImpl_9(SwigDirectorOnKeyEvent);
+    if (SwigDerivedClassHasMethod("OnWheelEvent", swigMethodTypes10))
+      swigDelegate10 = new SwigDelegateViewImpl_10(SwigDirectorOnWheelEvent);
+    if (SwigDerivedClassHasMethod("OnRelayout", swigMethodTypes11))
+      swigDelegate11 = new SwigDelegateViewImpl_11(SwigDirectorOnRelayout);
+    if (SwigDerivedClassHasMethod("OnSetResizePolicy", swigMethodTypes12))
+      swigDelegate12 = new SwigDelegateViewImpl_12(SwigDirectorOnSetResizePolicy);
+    if (SwigDerivedClassHasMethod("GetNaturalSize", swigMethodTypes13))
+      swigDelegate13 = new SwigDelegateViewImpl_13(SwigDirectorGetNaturalSize);
+    if (SwigDerivedClassHasMethod("CalculateChildSize", swigMethodTypes14))
+      swigDelegate14 = new SwigDelegateViewImpl_14(SwigDirectorCalculateChildSize);
+    if (SwigDerivedClassHasMethod("GetHeightForWidth", swigMethodTypes15))
+      swigDelegate15 = new SwigDelegateViewImpl_15(SwigDirectorGetHeightForWidth);
+    if (SwigDerivedClassHasMethod("GetWidthForHeight", swigMethodTypes16))
+      swigDelegate16 = new SwigDelegateViewImpl_16(SwigDirectorGetWidthForHeight);
+    if (SwigDerivedClassHasMethod("RelayoutDependentOnChildren", swigMethodTypes17))
+      swigDelegate17 = new SwigDelegateViewImpl_17(SwigDirectorRelayoutDependentOnChildren__SWIG_0);
+    if (SwigDerivedClassHasMethod("RelayoutDependentOnChildren", swigMethodTypes18))
+      swigDelegate18 = new SwigDelegateViewImpl_18(SwigDirectorRelayoutDependentOnChildren__SWIG_1);
+    if (SwigDerivedClassHasMethod("OnCalculateRelayoutSize", swigMethodTypes19))
+      swigDelegate19 = new SwigDelegateViewImpl_19(SwigDirectorOnCalculateRelayoutSize);
+    if (SwigDerivedClassHasMethod("OnLayoutNegotiated", swigMethodTypes20))
+      swigDelegate20 = new SwigDelegateViewImpl_20(SwigDirectorOnLayoutNegotiated);
+    if (SwigDerivedClassHasMethod("OnInitialize", swigMethodTypes21))
+      swigDelegate21 = new SwigDelegateViewImpl_21(SwigDirectorOnInitialize);
+    if (SwigDerivedClassHasMethod("OnControlChildAdd", swigMethodTypes22))
+      swigDelegate22 = new SwigDelegateViewImpl_22(SwigDirectorOnControlChildAdd);
+    if (SwigDerivedClassHasMethod("OnControlChildRemove", swigMethodTypes23))
+      swigDelegate23 = new SwigDelegateViewImpl_23(SwigDirectorOnControlChildRemove);
+    if (SwigDerivedClassHasMethod("OnStyleChange", swigMethodTypes24))
+      swigDelegate24 = new SwigDelegateViewImpl_24(SwigDirectorOnStyleChange);
+    if (SwigDerivedClassHasMethod("OnAccessibilityActivated", swigMethodTypes25))
+      swigDelegate25 = new SwigDelegateViewImpl_25(SwigDirectorOnAccessibilityActivated);
+    if (SwigDerivedClassHasMethod("OnAccessibilityPan", swigMethodTypes26))
+      swigDelegate26 = new SwigDelegateViewImpl_26(SwigDirectorOnAccessibilityPan);
+    if (SwigDerivedClassHasMethod("OnAccessibilityTouch", swigMethodTypes27))
+      swigDelegate27 = new SwigDelegateViewImpl_27(SwigDirectorOnAccessibilityTouch);
+    if (SwigDerivedClassHasMethod("OnAccessibilityValueChange", swigMethodTypes28))
+      swigDelegate28 = new SwigDelegateViewImpl_28(SwigDirectorOnAccessibilityValueChange);
+    if (SwigDerivedClassHasMethod("OnAccessibilityZoom", swigMethodTypes29))
+      swigDelegate29 = new SwigDelegateViewImpl_29(SwigDirectorOnAccessibilityZoom);
+    if (SwigDerivedClassHasMethod("OnKeyInputFocusGained", swigMethodTypes30))
+      swigDelegate30 = new SwigDelegateViewImpl_30(SwigDirectorOnKeyInputFocusGained);
+    if (SwigDerivedClassHasMethod("OnKeyInputFocusLost", swigMethodTypes31))
+      swigDelegate31 = new SwigDelegateViewImpl_31(SwigDirectorOnKeyInputFocusLost);
+    if (SwigDerivedClassHasMethod("GetNextKeyboardFocusableActor", swigMethodTypes32))
+      swigDelegate32 = new SwigDelegateViewImpl_32(SwigDirectorGetNextKeyboardFocusableActor);
+    if (SwigDerivedClassHasMethod("OnKeyboardFocusChangeCommitted", swigMethodTypes33))
+      swigDelegate33 = new SwigDelegateViewImpl_33(SwigDirectorOnKeyboardFocusChangeCommitted);
+    if (SwigDerivedClassHasMethod("OnKeyboardEnter", swigMethodTypes34))
+      swigDelegate34 = new SwigDelegateViewImpl_34(SwigDirectorOnKeyboardEnter);
+    if (SwigDerivedClassHasMethod("OnPinch", swigMethodTypes35))
+      swigDelegate35 = new SwigDelegateViewImpl_35(SwigDirectorOnPinch);
+    if (SwigDerivedClassHasMethod("OnPan", swigMethodTypes36))
+      swigDelegate36 = new SwigDelegateViewImpl_36(SwigDirectorOnPan);
+    if (SwigDerivedClassHasMethod("OnTap", swigMethodTypes37))
+      swigDelegate37 = new SwigDelegateViewImpl_37(SwigDirectorOnTap);
+    if (SwigDerivedClassHasMethod("OnLongPress", swigMethodTypes38))
+      swigDelegate38 = new SwigDelegateViewImpl_38(SwigDirectorOnLongPress);
+    if (SwigDerivedClassHasMethod("SignalConnected", swigMethodTypes39))
+      swigDelegate39 = new SwigDelegateViewImpl_39(SwigDirectorSignalConnected);
+    if (SwigDerivedClassHasMethod("SignalDisconnected", swigMethodTypes40))
+      swigDelegate40 = new SwigDelegateViewImpl_40(SwigDirectorSignalDisconnected);
+    NDalicPINVOKE.ViewImpl_director_connect(swigCPtr, swigDelegate0, swigDelegate1, swigDelegate2, swigDelegate3, swigDelegate4, swigDelegate5, swigDelegate6, swigDelegate7, swigDelegate8, swigDelegate9, swigDelegate10, swigDelegate11, swigDelegate12, swigDelegate13, swigDelegate14, swigDelegate15, swigDelegate16, swigDelegate17, swigDelegate18, swigDelegate19, swigDelegate20, swigDelegate21, swigDelegate22, swigDelegate23, swigDelegate24, swigDelegate25, swigDelegate26, swigDelegate27, swigDelegate28, swigDelegate29, swigDelegate30, swigDelegate31, swigDelegate32, swigDelegate33, swigDelegate34, swigDelegate35, swigDelegate36, swigDelegate37, swigDelegate38, swigDelegate39, swigDelegate40);
+  }
+
+  private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes) {
+    global::System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(methodName, global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance, null, methodTypes, null);
+    bool hasDerivedMethod = methodInfo.DeclaringType.IsSubclassOf(typeof(ViewImpl));
+    return hasDerivedMethod;
+  }
+
+  private void SwigDirectorOnStageConnection(int depth) {
+    OnStageConnection(depth);
+  }
+
+  private void SwigDirectorOnStageDisconnection() {
+    OnStageDisconnection();
+  }
+
+  private void SwigDirectorOnChildAdd(global::System.IntPtr child) {
+    OnChildAdd(new Actor(child, false));
+  }
+
+  private void SwigDirectorOnChildRemove(global::System.IntPtr child) {
+    OnChildRemove(new Actor(child, false));
+  }
+
+  private void SwigDirectorOnPropertySet(int index, global::System.IntPtr propertyValue) {
+    OnPropertySet(index, new Property.Value(propertyValue, true));
+  }
+
+  private void SwigDirectorOnSizeSet(global::System.IntPtr targetSize) {
+    OnSizeSet(new Vector3(targetSize, false));
+  }
+
+  private void SwigDirectorOnSizeAnimation(global::System.IntPtr animation, global::System.IntPtr targetSize) {
+    OnSizeAnimation(new Animation(animation, false), new Vector3(targetSize, false));
+  }
+
+  private bool SwigDirectorOnTouchEvent(global::System.IntPtr arg0) {
+    return OnTouchEvent(new SWIGTYPE_p_Dali__TouchEvent(arg0, false));
+  }
+
+  private bool SwigDirectorOnHoverEvent(global::System.IntPtr arg0) {
+    return OnHoverEvent(new Hover(arg0, false));
+  }
+
+  private bool SwigDirectorOnKeyEvent(global::System.IntPtr arg0) {
+    return OnKeyEvent(new Key(arg0, false));
+  }
+
+  private bool SwigDirectorOnWheelEvent(global::System.IntPtr arg0) {
+    return OnWheelEvent(new Wheel(arg0, false));
+  }
+
+  private void SwigDirectorOnRelayout(global::System.IntPtr size, global::System.IntPtr container) {
+    OnRelayout(new Vector2(size, false), new RelayoutContainer(container, false));
+  }
+
+  private void SwigDirectorOnSetResizePolicy(int policy, int dimension) {
+    OnSetResizePolicy((ResizePolicyType)policy, (DimensionType)dimension);
+  }
+
+  private global::System.IntPtr SwigDirectorGetNaturalSize() {
+    return Vector3.getCPtr(GetNaturalSize()).Handle;
+  }
+
+  private float SwigDirectorCalculateChildSize(global::System.IntPtr child, int dimension) {
+    return CalculateChildSize(new Actor(child, false), (DimensionType)dimension);
+  }
+
+  private float SwigDirectorGetHeightForWidth(float width) {
+    return GetHeightForWidth(width);
+  }
+
+  private float SwigDirectorGetWidthForHeight(float height) {
+    return GetWidthForHeight(height);
+  }
+
+  private bool SwigDirectorRelayoutDependentOnChildren__SWIG_0(int dimension) {
+    return RelayoutDependentOnChildren((DimensionType)dimension);
+  }
+
+  private bool SwigDirectorRelayoutDependentOnChildren__SWIG_1() {
+    return RelayoutDependentOnChildren();
+  }
+
+  private void SwigDirectorOnCalculateRelayoutSize(int dimension) {
+    OnCalculateRelayoutSize((DimensionType)dimension);
+  }
+
+  private void SwigDirectorOnLayoutNegotiated(float size, int dimension) {
+    OnLayoutNegotiated(size, (DimensionType)dimension);
+  }
+
+  private void SwigDirectorOnInitialize() {
+    OnInitialize();
+  }
+
+  private void SwigDirectorOnControlChildAdd(global::System.IntPtr child) {
+    OnControlChildAdd(new Actor(child, false));
+  }
+
+  private void SwigDirectorOnControlChildRemove(global::System.IntPtr child) {
+    OnControlChildRemove(new Actor(child, false));
+  }
+
+  private void SwigDirectorOnStyleChange(global::System.IntPtr styleManager, int change) {
+    OnStyleChange(new StyleManager(styleManager, true), (StyleChangeType)change);
+  }
+
+  private bool SwigDirectorOnAccessibilityActivated() {
+    return OnAccessibilityActivated();
+  }
+
+  private bool SwigDirectorOnAccessibilityPan(global::System.IntPtr gesture) {
+    return OnAccessibilityPan(new PanGesture(gesture, true));
+  }
+
+  private bool SwigDirectorOnAccessibilityTouch(global::System.IntPtr touchEvent) {
+    return OnAccessibilityTouch(new SWIGTYPE_p_Dali__TouchEvent(touchEvent, false));
+  }
+
+  private bool SwigDirectorOnAccessibilityValueChange(bool isIncrease) {
+    return OnAccessibilityValueChange(isIncrease);
+  }
+
+  private bool SwigDirectorOnAccessibilityZoom() {
+    return OnAccessibilityZoom();
+  }
+
+  private void SwigDirectorOnKeyInputFocusGained() {
+    OnKeyInputFocusGained();
+  }
+
+  private void SwigDirectorOnKeyInputFocusLost() {
+    OnKeyInputFocusLost();
+  }
+
+  private global::System.IntPtr SwigDirectorGetNextKeyboardFocusableActor(global::System.IntPtr currentFocusedActor, int direction, bool loopEnabled) {
+    return Actor.getCPtr(GetNextKeyboardFocusableActor(new Actor(currentFocusedActor, true), (View.KeyboardFocus.Direction)direction, loopEnabled)).Handle;
+  }
+
+  private void SwigDirectorOnKeyboardFocusChangeCommitted(global::System.IntPtr commitedFocusableActor) {
+    OnKeyboardFocusChangeCommitted(new Actor(commitedFocusableActor, true));
+  }
+
+  private bool SwigDirectorOnKeyboardEnter() {
+    return OnKeyboardEnter();
+  }
+
+  private void SwigDirectorOnPinch(global::System.IntPtr pinch) {
+    OnPinch(new PinchGesture(pinch, false));
+  }
+
+  private void SwigDirectorOnPan(global::System.IntPtr pan) {
+    OnPan(new PanGesture(pan, false));
+  }
+
+  private void SwigDirectorOnTap(global::System.IntPtr tap) {
+    OnTap(new TapGesture(tap, false));
+  }
+
+  private void SwigDirectorOnLongPress(global::System.IntPtr longPress) {
+    OnLongPress(new LongPressGesture(longPress, false));
+  }
+
+  private void SwigDirectorSignalConnected(global::System.IntPtr slotObserver, global::System.IntPtr callback) {
+    SignalConnected((slotObserver == global::System.IntPtr.Zero) ? null : new SlotObserver(slotObserver, false), (callback == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_Dali__CallbackBase(callback, false));
+  }
+
+  private void SwigDirectorSignalDisconnected(global::System.IntPtr slotObserver, global::System.IntPtr callback) {
+    SignalDisconnected((slotObserver == global::System.IntPtr.Zero) ? null : new SlotObserver(slotObserver, false), (callback == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_Dali__CallbackBase(callback, false));
+  }
+
+  public delegate void SwigDelegateViewImpl_0(int depth);
+  public delegate void SwigDelegateViewImpl_1();
+  public delegate void SwigDelegateViewImpl_2(global::System.IntPtr child);
+  public delegate void SwigDelegateViewImpl_3(global::System.IntPtr child);
+  public delegate void SwigDelegateViewImpl_4(int index, global::System.IntPtr propertyValue);
+  public delegate void SwigDelegateViewImpl_5(global::System.IntPtr targetSize);
+  public delegate void SwigDelegateViewImpl_6(global::System.IntPtr animation, global::System.IntPtr targetSize);
+  public delegate bool SwigDelegateViewImpl_7(global::System.IntPtr arg0);
+  public delegate bool SwigDelegateViewImpl_8(global::System.IntPtr arg0);
+  public delegate bool SwigDelegateViewImpl_9(global::System.IntPtr arg0);
+  public delegate bool SwigDelegateViewImpl_10(global::System.IntPtr arg0);
+  public delegate void SwigDelegateViewImpl_11(global::System.IntPtr size, global::System.IntPtr container);
+  public delegate void SwigDelegateViewImpl_12(int policy, int dimension);
+  public delegate global::System.IntPtr SwigDelegateViewImpl_13();
+  public delegate float SwigDelegateViewImpl_14(global::System.IntPtr child, int dimension);
+  public delegate float SwigDelegateViewImpl_15(float width);
+  public delegate float SwigDelegateViewImpl_16(float height);
+  public delegate bool SwigDelegateViewImpl_17(int dimension);
+  public delegate bool SwigDelegateViewImpl_18();
+  public delegate void SwigDelegateViewImpl_19(int dimension);
+  public delegate void SwigDelegateViewImpl_20(float size, int dimension);
+  public delegate void SwigDelegateViewImpl_21();
+  public delegate void SwigDelegateViewImpl_22(global::System.IntPtr child);
+  public delegate void SwigDelegateViewImpl_23(global::System.IntPtr child);
+  public delegate void SwigDelegateViewImpl_24(global::System.IntPtr styleManager, int change);
+  public delegate bool SwigDelegateViewImpl_25();
+  public delegate bool SwigDelegateViewImpl_26(global::System.IntPtr gesture);
+  public delegate bool SwigDelegateViewImpl_27(global::System.IntPtr touchEvent);
+  public delegate bool SwigDelegateViewImpl_28(bool isIncrease);
+  public delegate bool SwigDelegateViewImpl_29();
+  public delegate void SwigDelegateViewImpl_30();
+  public delegate void SwigDelegateViewImpl_31();
+  public delegate global::System.IntPtr SwigDelegateViewImpl_32(global::System.IntPtr currentFocusedActor, int direction, bool loopEnabled);
+  public delegate void SwigDelegateViewImpl_33(global::System.IntPtr commitedFocusableActor);
+  public delegate bool SwigDelegateViewImpl_34();
+  public delegate void SwigDelegateViewImpl_35(global::System.IntPtr pinch);
+  public delegate void SwigDelegateViewImpl_36(global::System.IntPtr pan);
+  public delegate void SwigDelegateViewImpl_37(global::System.IntPtr tap);
+  public delegate void SwigDelegateViewImpl_38(global::System.IntPtr longPress);
+  public delegate void SwigDelegateViewImpl_39(global::System.IntPtr slotObserver, global::System.IntPtr callback);
+  public delegate void SwigDelegateViewImpl_40(global::System.IntPtr slotObserver, global::System.IntPtr callback);
+
+  private SwigDelegateViewImpl_0 swigDelegate0;
+  private SwigDelegateViewImpl_1 swigDelegate1;
+  private SwigDelegateViewImpl_2 swigDelegate2;
+  private SwigDelegateViewImpl_3 swigDelegate3;
+  private SwigDelegateViewImpl_4 swigDelegate4;
+  private SwigDelegateViewImpl_5 swigDelegate5;
+  private SwigDelegateViewImpl_6 swigDelegate6;
+  private SwigDelegateViewImpl_7 swigDelegate7;
+  private SwigDelegateViewImpl_8 swigDelegate8;
+  private SwigDelegateViewImpl_9 swigDelegate9;
+  private SwigDelegateViewImpl_10 swigDelegate10;
+  private SwigDelegateViewImpl_11 swigDelegate11;
+  private SwigDelegateViewImpl_12 swigDelegate12;
+  private SwigDelegateViewImpl_13 swigDelegate13;
+  private SwigDelegateViewImpl_14 swigDelegate14;
+  private SwigDelegateViewImpl_15 swigDelegate15;
+  private SwigDelegateViewImpl_16 swigDelegate16;
+  private SwigDelegateViewImpl_17 swigDelegate17;
+  private SwigDelegateViewImpl_18 swigDelegate18;
+  private SwigDelegateViewImpl_19 swigDelegate19;
+  private SwigDelegateViewImpl_20 swigDelegate20;
+  private SwigDelegateViewImpl_21 swigDelegate21;
+  private SwigDelegateViewImpl_22 swigDelegate22;
+  private SwigDelegateViewImpl_23 swigDelegate23;
+  private SwigDelegateViewImpl_24 swigDelegate24;
+  private SwigDelegateViewImpl_25 swigDelegate25;
+  private SwigDelegateViewImpl_26 swigDelegate26;
+  private SwigDelegateViewImpl_27 swigDelegate27;
+  private SwigDelegateViewImpl_28 swigDelegate28;
+  private SwigDelegateViewImpl_29 swigDelegate29;
+  private SwigDelegateViewImpl_30 swigDelegate30;
+  private SwigDelegateViewImpl_31 swigDelegate31;
+  private SwigDelegateViewImpl_32 swigDelegate32;
+  private SwigDelegateViewImpl_33 swigDelegate33;
+  private SwigDelegateViewImpl_34 swigDelegate34;
+  private SwigDelegateViewImpl_35 swigDelegate35;
+  private SwigDelegateViewImpl_36 swigDelegate36;
+  private SwigDelegateViewImpl_37 swigDelegate37;
+  private SwigDelegateViewImpl_38 swigDelegate38;
+  private SwigDelegateViewImpl_39 swigDelegate39;
+  private SwigDelegateViewImpl_40 swigDelegate40;
+
+  private static global::System.Type[] swigMethodTypes0 = new global::System.Type[] { typeof(int) };
+  private static global::System.Type[] swigMethodTypes1 = new global::System.Type[] {  };
+  private static global::System.Type[] swigMethodTypes2 = new global::System.Type[] { typeof(Actor) };
+  private static global::System.Type[] swigMethodTypes3 = new global::System.Type[] { typeof(Actor) };
+  private static global::System.Type[] swigMethodTypes4 = new global::System.Type[] { typeof(int), typeof(Property.Value) };
+  private static global::System.Type[] swigMethodTypes5 = new global::System.Type[] { typeof(Vector3) };
+  private static global::System.Type[] swigMethodTypes6 = new global::System.Type[] { typeof(Animation), typeof(Vector3) };
+  private static global::System.Type[] swigMethodTypes7 = new global::System.Type[] { typeof(SWIGTYPE_p_Dali__TouchEvent) };
+  private static global::System.Type[] swigMethodTypes8 = new global::System.Type[] { typeof(Hover) };
+  private static global::System.Type[] swigMethodTypes9 = new global::System.Type[] { typeof(Key) };
+  private static global::System.Type[] swigMethodTypes10 = new global::System.Type[] { typeof(Wheel) };
+  private static global::System.Type[] swigMethodTypes11 = new global::System.Type[] { typeof(Vector2), typeof(RelayoutContainer) };
+  private static global::System.Type[] swigMethodTypes12 = new global::System.Type[] { typeof(ResizePolicyType), typeof(DimensionType) };
+  private static global::System.Type[] swigMethodTypes13 = new global::System.Type[] {  };
+  private static global::System.Type[] swigMethodTypes14 = new global::System.Type[] { typeof(Actor), typeof(DimensionType) };
+  private static global::System.Type[] swigMethodTypes15 = new global::System.Type[] { typeof(float) };
+  private static global::System.Type[] swigMethodTypes16 = new global::System.Type[] { typeof(float) };
+  private static global::System.Type[] swigMethodTypes17 = new global::System.Type[] { typeof(DimensionType) };
+  private static global::System.Type[] swigMethodTypes18 = new global::System.Type[] {  };
+  private static global::System.Type[] swigMethodTypes19 = new global::System.Type[] { typeof(DimensionType) };
+  private static global::System.Type[] swigMethodTypes20 = new global::System.Type[] { typeof(float), typeof(DimensionType) };
+  private static global::System.Type[] swigMethodTypes21 = new global::System.Type[] {  };
+  private static global::System.Type[] swigMethodTypes22 = new global::System.Type[] { typeof(Actor) };
+  private static global::System.Type[] swigMethodTypes23 = new global::System.Type[] { typeof(Actor) };
+  private static global::System.Type[] swigMethodTypes24 = new global::System.Type[] { typeof(StyleManager), typeof(StyleChangeType) };
+  private static global::System.Type[] swigMethodTypes25 = new global::System.Type[] {  };
+  private static global::System.Type[] swigMethodTypes26 = new global::System.Type[] { typeof(PanGesture) };
+  private static global::System.Type[] swigMethodTypes27 = new global::System.Type[] { typeof(SWIGTYPE_p_Dali__TouchEvent) };
+  private static global::System.Type[] swigMethodTypes28 = new global::System.Type[] { typeof(bool) };
+  private static global::System.Type[] swigMethodTypes29 = new global::System.Type[] {  };
+  private static global::System.Type[] swigMethodTypes30 = new global::System.Type[] {  };
+  private static global::System.Type[] swigMethodTypes31 = new global::System.Type[] {  };
+  private static global::System.Type[] swigMethodTypes32 = new global::System.Type[] { typeof(Actor), typeof(View.KeyboardFocus.Direction), typeof(bool) };
+  private static global::System.Type[] swigMethodTypes33 = new global::System.Type[] { typeof(Actor) };
+  private static global::System.Type[] swigMethodTypes34 = new global::System.Type[] {  };
+  private static global::System.Type[] swigMethodTypes35 = new global::System.Type[] { typeof(PinchGesture) };
+  private static global::System.Type[] swigMethodTypes36 = new global::System.Type[] { typeof(PanGesture) };
+  private static global::System.Type[] swigMethodTypes37 = new global::System.Type[] { typeof(TapGesture) };
+  private static global::System.Type[] swigMethodTypes38 = new global::System.Type[] { typeof(LongPressGesture) };
+  private static global::System.Type[] swigMethodTypes39 = new global::System.Type[] { typeof(SlotObserver), typeof(SWIGTYPE_p_Dali__CallbackBase) };
+  private static global::System.Type[] swigMethodTypes40 = new global::System.Type[] { typeof(SlotObserver), typeof(SWIGTYPE_p_Dali__CallbackBase) };
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ViewMode.cs b/plugins/dali-sharp/sharp/internal/ViewMode.cs
new file mode 100644 (file)
index 0000000..e50bee6
--- /dev/null
@@ -0,0 +1,20 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum ViewMode {
+  MONO,
+  STEREO_HORIZONTAL,
+  STEREO_VERTICAL,
+  STEREO_INTERLACED
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ViewRegistry.cs b/plugins/dali-sharp/sharp/internal/ViewRegistry.cs
new file mode 100755 (executable)
index 0000000..a359297
--- /dev/null
@@ -0,0 +1,531 @@
+using System;
+using System.Runtime.InteropServices;
+using System.Collections.Generic;
+
+namespace Dali
+{
+  /// <summary>
+  /// Add this attribute to any property belonging to a View (control) you want to be scriptable from JSON
+  /// </summary>
+  /// <remarks>
+  /// Example:
+  ///
+  /// class MyView : public CustomView
+  /// {
+  ///  [ScriptableProperty()]
+  ///  public int MyProperty
+  ///  {
+  ///   get
+  ///   {
+  ///     return _myProperty;
+  ///   }
+  ///   set
+  ///   {
+  ///    _myProperty = value;
+  ///   }
+  ///  }
+  /// }
+  ///
+  /// Internally the following occurs for property registration ( this only occurs once per Type, not per Instance):
+  ///
+  /// - The controls static constructor should call ViewRegistry.Register()  (only called once for the lifecycle of the app)
+  /// - Within Register() the code will introspect the Controls properties, looking for the ScriptableProperty() attribute
+  /// - For every property with the ScriptableProperty() attribute, TypeRegistration.RegisterProperty is called.
+  /// - TypeRegistration.RegisterProperty calls in to DALi C++ Code Dali::CSharpTypeRegistry::RegisterProperty()
+  /// - DALi C++ now knows the existance of the property and will try calling SetProperty, if it finds the property in a JSON file (loaded using builder).
+  ///
+  ///  The DALi C# example
+  ///
+  ///  class MyView : public CustomView
+  ///  {
+  ///
+  ///    [ScriptableProperty()]
+  ///    public double Hours
+  ///    {
+  ///     get { return seconds / 3600; }
+  ///     set { seconds = value * 3600; }
+  ///    }
+  ///  }
+  ///
+  ///  Equivalent code in DALi C++:
+  ///  in MyControl.h
+  ///  class MyControl : public Control
+  ///  {
+  ///    struct Property
+  ///    {
+  ///      enum
+  ///      {
+  ///        HOURS =  Control::CONTROL_PROPERTY_END_INDEX + 1
+  ///      }
+  ///    }
+  ///  }
+  ///
+  /// in MyControl-impl.cpp
+  ///
+  /// DALI_TYPE_REGISTRATION_BEGIN( Toolkit::MyControl, Toolkit::Control, Create );
+  /// DALI_PROPERTY_REGISTRATION( Toolkit, MyControl, "Hours",  INTEGER, DISABLED                     )
+  /// DALI_TYPE_REGISTRATION_END()
+  /// </remarks>
+  ///
+  ///
+  public class ScriptableProperty : System.Attribute
+  {
+    public enum ScriptableType
+    {
+      Default,    // Read Writable, non-animatable property, event thread only
+    //  Animatable // Animatable property, Currently disabled, UK
+    }
+    public readonly ScriptableType type;
+
+    public ScriptableProperty(ScriptableType type = ScriptableType.Default )
+    {
+      this.type = type;
+    }
+  }
+
+  /// <summary>
+  /// View Registry singleton.
+  /// Used for registering controls and any scriptable properties they have ( see ScriptableProperty )
+  ///
+  /// Internal Design from C# to C++
+  ///
+  /// - Each custom C# view should have it's static constructor called before any JSON file is loaded.
+  /// Static constructors for a class will only run once ( they are run per control type, not per instance).
+  /// Example of running a static constructor:
+  ///      System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor (typeof(Spin).TypeHandle);
+  /// Inside the static constructor the control should register it's type with the ViewRegistry
+  /// e.g.
+  ///
+  ///  static Spin()
+  ///  {
+  ///     ViewRegistry.Instance.Register(CreateInstance, typeof(Spin) );
+  ///  }
+  ///
+  ///  The control should also provide a CreateInstance function, which gets passed to the ViewRegistry
+  ///  // Eventually it will be called if DALi Builderfinds a Spin control in a JSON file
+  ///  static CustomView CreateInstance()
+  ///  {
+  ///    return new Spin();
+  ///  }
+  ///
+  ///
+  ///
+  /// The DALi C++ equivalent of this is
+  ///
+  ///  TypeRegistration mType( typeid(Toolkit::Spin), typeid(Toolkit::Control), CreateInstance );
+  ///
+  ///
+  ///
+  /// </summary>
+  public sealed class ViewRegistry
+  {
+    /// <summary>
+    /// ViewRegistry is a singleton
+    /// </summary>
+    private static ViewRegistry instance = null;
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    delegate IntPtr CreateControlDelegate( IntPtr cPtrControlName );
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    delegate IntPtr GetPropertyDelegate( IntPtr controlPtr, IntPtr propertyName );
+
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    delegate void SetPropertyDelegate( IntPtr controlPtr, IntPtr propertyName, IntPtr propertyValue );
+
+    private CreateControlDelegate _createCallback;
+    private SetPropertyDelegate _setPropertyCallback;
+    private GetPropertyDelegate _getPropertyCallback;
+    private PropertyRangeManager _propertyRangeManager;
+
+    /// <summary>
+    /// Given a C++ control the dictionary allows us to find which C# control (View) it belongs to.
+    /// By keeping the weak reference only, it will allow the object to be garbage collected.
+    /// </summary>
+    private Dictionary<IntPtr, WeakReference> _controlMap;
+
+    ///<summary>
+    // Maps the name of a custom view to a create instance function
+    /// E.g. 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
+    /// </summary>
+    private static readonly Dictionary<string, Dali.Property.Type> _daliPropertyTypeLookup
+    = new Dictionary< string, Dali.Property.Type  >
+    {
+      { "float",   Property.Type.FLOAT },
+      { "int",     Property.Type.INTEGER },
+      { "Int32",   Property.Type.INTEGER },
+      { "Boolean", Property.Type.BOOLEAN },
+      { "string",  Property.Type.STRING },
+      { "Vector2", Property.Type.VECTOR2 },
+      { "Vector3", Property.Type.VECTOR3 },
+      { "Vector4", Property.Type.VECTOR4 },
+      { "Size",    Property.Type.VECTOR2 },
+      { "Position",Property.Type.VECTOR3 },
+      { "Color",   Property.Type.VECTOR4 },
+    //  { "Matrix3", Property.Type.MATRIX3 }, commented out until we need to use Matrices from JSON
+    //  { "Matrix",  Property.Type.MATRIX },
+    };
+
+
+    public ViewRegistry()
+    {
+      _createCallback = new CreateControlDelegate( CreateControl );
+      _getPropertyCallback = new GetPropertyDelegate (GetProperty);
+      _setPropertyCallback  = new SetPropertyDelegate (SetProperty);
+
+      _controlMap = new Dictionary<IntPtr, WeakReference>();
+      _constructorMap = new Dictionary<string, Func<CustomView>>();
+      _propertyRangeManager = new PropertyRangeManager();
+
+    }
+
+    private Dali.Property.Type GetDaliPropertyType( string cSharpTypeName )
+    {
+      Dali.Property.Type daliType;
+      if ( _daliPropertyTypeLookup.TryGetValue (cSharpTypeName, out daliType) )
+      {
+        //Console.WriteLine("mapped "+ cSharpTypeName + " to dAli type " +daliType );
+        return daliType;
+      }
+      else
+      {
+       // Console.WriteLine("Failed to find a mapping between C# property" + cSharpTypeName +" and DALi type");
+        return Property.Type.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);
+      // Console.WriteLine ("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 ();
+        return newControl.GetPtrfromActor();  // return pointer to handle
+      }
+      else
+      {
+        throw new global::System.InvalidOperationException("C# View not registererd with ViewRegistry"+ controlName );
+        return IntPtr.Zero;
+      }
+    }
+
+    /// <summary>
+    /// Store the mapping between this instance of control (View) and native part.
+    /// </summary>
+    /// <param name="view"> The instance of control (View)</param>
+    public static void RegisterView( View view )
+    {
+      // We store a pointer to the RefObject for the control
+      RefObject refObj = view.GetObjectPtr();
+      IntPtr refCptr = (IntPtr) RefObject.getCPtr(refObj);
+
+      //Console.WriteLine ("________Storing ref object cptr in control map Hex: {0:X}", refCptr);
+      if ( !Instance._controlMap.ContainsKey(refCptr) )
+      {
+        Instance._controlMap.Add(refCptr, new WeakReference(view, false));
+      }
+
+      return;
+    }
+
+    /// <summary>
+    /// Remove the this instance of control (View) and native part from the mapping table.
+    /// </summary>
+    /// <param name="view"> The instance of control (View)</param>
+    public static void UnregisterView( View view )
+    {
+      RefObject refObj = view.GetObjectPtr();
+      IntPtr refCptr = (IntPtr) RefObject.getCPtr(refObj);
+
+      if ( Instance._controlMap.ContainsKey(refCptr) )
+      {
+        Instance._controlMap.Remove(refCptr);
+      }
+
+      return;
+    }
+
+    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);
+      //Console.WriteLine ( SetControlProperty  called for:" + name );
+      Instance.SetPropertyValue ( controlPtr, name, propertyValue);
+
+    }
+
+    public static ViewRegistry Instance
+    {
+      get
+      {
+        if (instance==null)
+        {
+          instance = new ViewRegistry();
+        }
+        return instance;
+      }
+    }
+
+    public static View GetViewFromActor( Actor actor )
+    {
+      // we store a dictionary of ref-obects (C++ land) to custom views (C# land)
+
+      RefObject refObj = actor.GetObjectPtr ();
+      IntPtr refObjectPtr = (IntPtr) RefObject.getCPtr(refObj);
+
+      WeakReference viewReference;
+      if ( Instance._controlMap.TryGetValue ( refObjectPtr, out viewReference) )
+      {
+        View view = viewReference.Target as View;
+        return view;
+      }
+      else
+      {
+        return null;
+      }
+    }
+
+
+    /// <summary>
+    /// Function which registers a view and all it's scriptable properties with DALi's type registry.
+    /// Means the View can be created / configured from a JSON script.
+    ///
+    /// The function uses introspection to scan a Views C# properties, then selects the ones with
+    ///[ScriptableProperty] attribute to be registered.
+    /// Example of a Spin view registering itself
+    ///   static Spin()
+    /// {
+    ///   ViewRegistry registers control type with DALi type registery
+    ///   also uses introspection to find any properties that need to be registered with type registry
+    ///   ViewRegistry.Instance.Register(CreateInstance, typeof(Spin) );
+    /// }
+    ///
+    /// </summary>
+    public void Register(Func< CustomView > createFunction, System.Type viewType )
+    {
+      // add the mapping between the view name and it's create function
+      _constructorMap.Add (viewType.Name, createFunction);
+
+      // Call into DALi C++ to register the control with the type registry
+      TypeRegistration.RegisterControl( viewType.Name, _createCallback );
+
+      // Cycle through each property in the class
+      foreach (System.Reflection.PropertyInfo propertyInfo in viewType.GetProperties())
+      {
+
+        if ( propertyInfo.CanRead )
+        {
+
+          System.Attribute[] attrs = System.Attribute.GetCustomAttributes(propertyInfo);
+          foreach (System.Attribute attr in attrs)
+          {
+            // If the Scriptable attribute exists, then register it with the type registry.
+            if (attr is ScriptableProperty)
+            {
+              //Console.WriteLine ("Got a DALi JSON scriptable property = " + propertyInfo.Name +", of type " + propertyInfo.PropertyType.Name);
+
+              // first get the attribute type, ( default, or animatable)
+              ScriptableProperty scriptableProp = attr as ScriptableProperty;
+
+              // we get the start property index, based on the type and it's heirachy, e.g. DateView (70,000)-> Spin (60,000) -> View (50,000)
+              int propertyIndex =  _propertyRangeManager.GetPropertyIndex( viewType.Name, viewType, scriptableProp.type );
+
+              // get the enum for the property type... E.g. registering a string property returns Dali.PropertyType.String
+              Dali.Property.Type propertyType = GetDaliPropertyType( propertyInfo.PropertyType.Name );
+
+              // Example   RegisterProperty("spin","maxValue", 50001, FLOAT, set, get );
+              // Native call to register the property
+              TypeRegistration.RegisterProperty (viewType.Name, propertyInfo.Name , propertyIndex, propertyType, _setPropertyCallback, _getPropertyCallback);
+            }
+          }
+          // Console.WriteLine ("property name = " + propertyInfo.Name);
+        }
+      }
+    }
+
+    /// <summary>
+    /// Get a property value from a View
+    ///
+    /// </summary>
+    private IntPtr GetPropertyValue ( IntPtr controlPtr, string propertyName)
+    {
+      // Get the C# control that maps to the C++ control
+      BaseHandle baseHandle = new BaseHandle (controlPtr, false);
+
+      RefObject refObj = baseHandle.GetObjectPtr ();
+
+      IntPtr refObjectPtr = (IntPtr) RefObject.getCPtr(refObj);
+
+      WeakReference viewReference;
+      if ( _controlMap.TryGetValue ( refObjectPtr, out viewReference) )
+      {
+        View view = viewReference.Target as View;
+
+        // call the get property function
+        System.Object val = view.GetType ().GetProperty (propertyName).GetAccessors () [0].Invoke (view, null);
+
+        Property.Value value = Property.Value.CreateFromObject (val);
+
+        return (IntPtr)Property.Value.getCPtr (value);
+      }
+      else
+      {
+        return IntPtr.Zero;
+      }
+    }
+
+    /// <summary>
+    /// Set a property value on a View
+    ///
+    /// </summary>
+    private void SetPropertyValue ( IntPtr controlPtr, string propertyName, IntPtr propertyValuePtr)
+    {
+      // Get the C# control that maps to the C++ control
+
+      //Console.WriteLine ("SetPropertyValue   refObjectPtr = {0:X}", controlPtr);
+
+      Property.Value propValue = new Property.Value (propertyValuePtr, false);
+
+      WeakReference viewReference;
+      if ( _controlMap.TryGetValue ( controlPtr, out viewReference) )
+      {
+        View view = viewReference.Target as View;
+        System.Reflection.PropertyInfo propertyInfo = view.GetType().GetProperty(propertyName);
+
+        // We know the property name, we know it's type, we just need to convert from a DALi property value to native C# type
+        System.Type type = propertyInfo.PropertyType;
+        bool ok = false;
+
+        if ( type.Equals (typeof(Int32)) )
+        {
+          int value = 0;
+          ok = propValue.Get( ref value );
+          if ( ok )
+          {
+            propertyInfo.SetValue (view, value);
+          }
+        }
+        else if ( type.Equals (typeof(bool)) )
+        {
+          bool value = false;
+          ok = propValue.Get( ref value );
+          if ( ok )
+          {
+            propertyInfo.SetValue (view, value);
+          }
+        }
+        else if ( type.Equals (typeof(float)) )
+        {
+          float value = 0;
+          ok = propValue.Get( ref value );
+          if ( ok )
+          {
+            propertyInfo.SetValue (view, value);
+          }
+        }
+        else if ( type.Equals (typeof(string)) )
+        {
+          string value = "";
+          ok = propValue.Get( out value );
+          if ( ok )
+          {
+            propertyInfo.SetValue (view, value);
+          }
+        }
+        else if ( type.Equals (typeof(Vector2)) )
+        {
+          Vector2 value = new Vector2 ();
+          ok = propValue.Get( value );
+          if ( ok )
+          {
+            propertyInfo.SetValue (view, value);
+          }
+        }
+        else if ( type.Equals (typeof(Vector3)) )
+        {
+          Vector3 value = new Vector3 ();
+          ok = propValue.Get( value );
+          if ( ok )
+          {
+            propertyInfo.SetValue (view, value);
+          }
+        }
+        else if ( type.Equals (typeof(Vector4)) )
+        {
+          Vector4 value = new Vector4 ();
+          ok = propValue.Get( value );
+
+          if ( ok )
+          {
+           propertyInfo.SetValue (view, value);
+          }
+        }
+        else if ( type.Equals (typeof(Position)) )
+        {
+          Position value = new Position ();
+          ok = propValue.Get( value );
+          if ( ok )
+          {
+            propertyInfo.SetValue (view, value);
+          }
+        }
+        else if ( type.Equals (typeof(Size)) )
+        {
+          Size value = new Size();
+          ok = propValue.Get( value );
+          if ( ok )
+          {
+            propertyInfo.SetValue(view, new Size(value.Width, value.Height, value.Depth));
+          };
+        }
+        else if ( type.Equals (typeof(Color)) )
+        {
+          // Colors are stored as Vector4's in DALi
+          Vector4 value = new Vector4();
+          ok = propValue.Get( value );
+          if ( ok )
+          {
+            propertyInfo.SetValue (view, (Color)value);
+          };
+        }
+        else
+        {
+          throw new global::System.InvalidOperationException("SetPropertyValue Unimplemented type for Property Value");
+        }
+        if ( !ok )
+        {
+          throw new global::System.InvalidOperationException("SetPropertyValue propValue.Get failed");
+        }
+      }
+      else
+      {
+        throw new global::System.InvalidOperationException("failed to find the control to write a property to: cptr = " + controlPtr);
+      }
+
+    }
+
+  }
+
+
+}
\ No newline at end of file
diff --git a/plugins/dali-sharp/sharp/internal/ViewRegistryHelper.cs b/plugins/dali-sharp/sharp/internal/ViewRegistryHelper.cs
new file mode 100644 (file)
index 0000000..320f58a
--- /dev/null
@@ -0,0 +1,15 @@
+using System;
+
+// include all custom views here which will be
+namespace Dali
+{
+  public class ViewRegistryHelper
+  {
+    static public void Initialize()
+    {
+       // Register all views with the type registry
+       //System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor (typeof(Dali.Spin).TypeHandle);
+    }
+  }
+}
+
diff --git a/plugins/dali-sharp/sharp/internal/ViewWrapper.cs b/plugins/dali-sharp/sharp/internal/ViewWrapper.cs
new file mode 100755 (executable)
index 0000000..bcc54ec
--- /dev/null
@@ -0,0 +1,90 @@
+/** 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 Dali
+{
+    public class ViewWrapper : View
+    {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        protected ViewWrapperImpl viewWrapperImpl;
+
+        internal ViewWrapper(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.ViewWrapper_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal 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;
+        }
+
+        ~ViewWrapper()
+        {
+            DisposeQueue.Instance.Add(this);
+        }
+
+        public override void Dispose()
+        {
+            if (!Stage.IsInstalled())
+            {
+                DisposeQueue.Instance.Add(this);
+                return;
+            }
+
+            lock (this)
+            {
+                if (swigCPtr.Handle != global::System.IntPtr.Zero)
+                {
+                    if (swigCMemOwn)
+                    {
+                        swigCMemOwn = false;
+                        NDalicManualPINVOKE.delete_ViewWrapper(swigCPtr);
+                    }
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                }
+                global::System.GC.SuppressFinalize(this);
+                base.Dispose();
+            }
+        }
+
+
+        public ViewWrapper(string typeName, ViewWrapperImpl implementation) : this(NDalicManualPINVOKE.ViewWrapper_New(typeName, ViewWrapperImpl.getCPtr(implementation)), true)
+        {
+            viewWrapperImpl = implementation;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        public ViewWrapper(ViewWrapper handle) : this(NDalicManualPINVOKE.new_ViewWrapper__SWIG_1(ViewWrapper.getCPtr(handle)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        public ViewWrapper Assign(ViewWrapper handle)
+        {
+            ViewWrapper ret = new ViewWrapper(NDalicManualPINVOKE.ViewWrapper_Assign(swigCPtr, ViewWrapper.getCPtr(handle)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        public new static ViewWrapper DownCast(BaseHandle handle)
+        {
+            ViewWrapper ret = new ViewWrapper(NDalicManualPINVOKE.ViewWrapper_DownCast(BaseHandle.getCPtr(handle)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+    }
+}
+
diff --git a/plugins/dali-sharp/sharp/internal/ViewWrapperImpl.cs b/plugins/dali-sharp/sharp/internal/ViewWrapperImpl.cs
new file mode 100644 (file)
index 0000000..145ab54
--- /dev/null
@@ -0,0 +1,590 @@
+/*
+ * 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 Dali
+{
+    public sealed class ViewWrapperImpl : ViewImpl
+    {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        public delegate void OnStageConnectionDelegate(int depth);
+        public delegate void OnStageDisconnectionDelegate();
+        public delegate void OnChildAddDelegate(Actor actor);
+        public delegate void OnChildRemoveDelegate(Actor actor);
+        public delegate void OnPropertySetDelegate(int index, Property.Value propertyValue);
+        public delegate void OnSizeSetDelegate(Vector3 targetSize);
+        public delegate void OnSizeAnimationDelegate(Animation animation, Vector3 targetSize);
+        public delegate bool OnTouchDelegate(Touch touch);
+        public delegate bool OnHoverDelegate(Hover hover);
+        public delegate bool OnKeyDelegate(Key key);
+        public delegate bool OnWheelDelegate(Wheel wheel);
+        public delegate void OnRelayoutDelegate(Vector2 size, RelayoutContainer container);
+        public delegate void OnSetResizePolicyDelegate(ResizePolicyType policy, DimensionType dimension);
+        public delegate Vector3 GetNaturalSizeDelegate();
+        public delegate float CalculateChildSizeDelegate(Actor child, DimensionType dimension);
+        public delegate float GetHeightForWidthDelegate(float width);
+        public delegate float GetWidthForHeightDelegate(float height);
+        public delegate bool RelayoutDependentOnChildrenDimensionDelegate(DimensionType dimension);
+        public delegate bool RelayoutDependentOnChildrenDelegate();
+        public delegate void OnCalculateRelayoutSizeDelegate(DimensionType dimension);
+        public delegate void OnLayoutNegotiatedDelegate(float size, DimensionType dimension);
+        public delegate void OnControlChildAddDelegate(Actor child);
+        public delegate void OnControlChildRemoveDelegate(Actor child);
+        public delegate void OnStyleChangeDelegate(StyleManager styleManager, StyleChangeType change);
+        public delegate bool OnAccessibilityActivatedDelegate();
+        public delegate bool OnAccessibilityPanDelegate(PanGesture gestures);
+        public delegate bool OnAccessibilityTouchDelegate(Touch touch);
+        public delegate bool OnAccessibilityValueChangeDelegate(bool isIncrease);
+        public delegate bool OnAccessibilityZoomDelegate();
+        public delegate void OnKeyInputFocusGainedDelegate();
+        public delegate void OnKeyInputFocusLostDelegate();
+        public delegate Actor GetNextKeyboardFocusableActorDelegate(Actor currentFocusedActor, View.KeyboardFocus.Direction direction, bool loopEnabled);
+        public delegate void OnKeyboardFocusChangeCommittedDelegate(Actor commitedFocusableActor);
+        public delegate bool OnKeyboardEnterDelegate();
+        public delegate void OnPinchDelegate(PinchGesture pinch);
+        public delegate void OnPanDelegate(PanGesture pan);
+        public delegate void OnTapDelegate(TapGesture tap);
+        public delegate void OnLongPressDelegate(LongPressGesture longPress);
+
+        public OnStageConnectionDelegate OnStageConnection;
+        public OnStageDisconnectionDelegate OnStageDisconnection;
+        public OnChildAddDelegate OnChildAdd;
+        public OnChildRemoveDelegate OnChildRemove;
+        public OnPropertySetDelegate OnPropertySet;
+        public OnSizeSetDelegate OnSizeSet;
+        public OnSizeAnimationDelegate OnSizeAnimation;
+        public OnTouchDelegate OnTouch;
+        public OnHoverDelegate OnHover;
+        public OnKeyDelegate OnKey;
+        public OnWheelDelegate OnWheel;
+        public OnRelayoutDelegate OnRelayout;
+        public OnSetResizePolicyDelegate OnSetResizePolicy;
+        public GetNaturalSizeDelegate GetNaturalSize;
+        public CalculateChildSizeDelegate CalculateChildSize;
+        public GetHeightForWidthDelegate GetHeightForWidth;
+        public GetWidthForHeightDelegate GetWidthForHeight;
+        public RelayoutDependentOnChildrenDimensionDelegate RelayoutDependentOnChildrenDimension;
+        public RelayoutDependentOnChildrenDelegate RelayoutDependentOnChildren;
+        public OnCalculateRelayoutSizeDelegate OnCalculateRelayoutSize;
+        public OnLayoutNegotiatedDelegate OnLayoutNegotiated;
+        public OnControlChildAddDelegate OnControlChildAdd;
+        public OnControlChildRemoveDelegate OnControlChildRemove;
+        public OnStyleChangeDelegate OnStyleChange;
+        public OnAccessibilityActivatedDelegate OnAccessibilityActivated;
+        public OnAccessibilityPanDelegate OnAccessibilityPan;
+        public OnAccessibilityTouchDelegate OnAccessibilityTouch;
+        public OnAccessibilityValueChangeDelegate OnAccessibilityValueChange;
+        public OnAccessibilityZoomDelegate OnAccessibilityZoom;
+        public OnKeyInputFocusGainedDelegate OnKeyInputFocusGained;
+        public OnKeyInputFocusLostDelegate OnKeyInputFocusLost;
+        public GetNextKeyboardFocusableActorDelegate GetNextKeyboardFocusableActor;
+        public OnKeyboardFocusChangeCommittedDelegate OnKeyboardFocusChangeCommitted;
+        public OnKeyboardEnterDelegate OnKeyboardEnter;
+        public OnPinchDelegate OnPinch;
+        public OnPanDelegate OnPan;
+        public OnTapDelegate OnTap;
+        public OnLongPressDelegate OnLongPress;
+
+        internal ViewWrapperImpl(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.ViewWrapperImpl_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ViewWrapperImpl obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        ~ViewWrapperImpl()
+        {
+            DisposeQueue.Instance.Add(this);
+        }
+
+        public override void Dispose()
+        {
+            if (!Stage.IsInstalled())
+            {
+                DisposeQueue.Instance.Add(this);
+                return;
+            }
+
+            lock(this)
+            {
+                if (swigCPtr.Handle != global::System.IntPtr.Zero)
+                {
+                    if (swigCMemOwn)
+                    {
+                        swigCMemOwn = false;
+                        NDalicManualPINVOKE.delete_ViewWrapperImpl(swigCPtr);
+                    }
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                }
+                global::System.GC.SuppressFinalize(this);
+                base.Dispose();
+            }
+        }
+
+        public ViewWrapperImpl(ViewWrapperImpl.CustomViewBehaviour behaviourFlags) : this(NDalicManualPINVOKE.new_ViewWrapperImpl((int)behaviourFlags), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            DirectorConnect();
+        }
+
+        public static ViewWrapper New(string typeName, ViewWrapperImpl viewWrapper)
+        {
+            ViewWrapper ret = new ViewWrapper(NDalicManualPINVOKE.ViewWrapperImpl_New(typeName, ViewWrapperImpl.getCPtr(viewWrapper)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        public void RelayoutRequest()
+        {
+            NDalicManualPINVOKE.ViewWrapperImpl_RelayoutRequest(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        public float GetHeightForWidthBase(float width)
+        {
+            float ret = NDalicManualPINVOKE.ViewWrapperImpl_GetHeightForWidthBase(swigCPtr, width);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        public float GetWidthForHeightBase(float height)
+        {
+            float ret = NDalicManualPINVOKE.ViewWrapperImpl_GetWidthForHeightBase(swigCPtr, height);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        public float CalculateChildSizeBase(Actor child, DimensionType dimension)
+        {
+            float ret = NDalicManualPINVOKE.ViewWrapperImpl_CalculateChildSizeBase(swigCPtr, Actor.getCPtr(child), (int)dimension);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        public bool RelayoutDependentOnChildrenBase(DimensionType dimension)
+        {
+            bool ret = NDalicManualPINVOKE.ViewWrapperImpl_RelayoutDependentOnChildrenBase__SWIG_0(swigCPtr, (int)dimension);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        public bool RelayoutDependentOnChildrenBase()
+        {
+            bool ret = NDalicManualPINVOKE.ViewWrapperImpl_RelayoutDependentOnChildrenBase__SWIG_1(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        public void RegisterVisual(int index, VisualBase visual)
+        {
+            NDalicManualPINVOKE.ViewWrapperImpl_RegisterVisual__SWIG_0(swigCPtr, index, VisualBase.getCPtr(visual));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        public void RegisterVisual(int index, VisualBase visual, bool enabled)
+        {
+            NDalicManualPINVOKE.ViewWrapperImpl_RegisterVisual__SWIG_1(swigCPtr, index, VisualBase.getCPtr(visual), enabled);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        public void UnregisterVisual(int index)
+        {
+            NDalicManualPINVOKE.ViewWrapperImpl_UnregisterVisual(swigCPtr, index);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        public VisualBase GetVisual(int index)
+        {
+            VisualBase ret = new VisualBase(NDalicManualPINVOKE.ViewWrapperImpl_GetVisual(swigCPtr, index), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        public void EnableVisual(int index, bool enable)
+        {
+            NDalicManualPINVOKE.ViewWrapperImpl_EnableVisual(swigCPtr, index, enable);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        public bool IsVisualEnabled(int index)
+        {
+            bool ret = NDalicManualPINVOKE.ViewWrapperImpl_IsVisualEnabled(swigCPtr, index);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        public Animation CreateTransition(TransitionData transitionData)
+        {
+            Animation ret = new Animation(NDalicManualPINVOKE.ViewWrapperImpl_CreateTransition(swigCPtr, TransitionData.getCPtr(transitionData)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        public void EmitKeyInputFocusSignal(bool focusGained)
+        {
+            NDalicManualPINVOKE.ViewWrapperImpl_EmitKeyInputFocusSignal(swigCPtr, focusGained);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        public void ApplyThemeStyle()
+        {
+            NDalicManualPINVOKE.ViewWrapperImpl_ApplyThemeStyle(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        private void DirectorConnect()
+        {
+            Delegate0 = new DelegateViewWrapperImpl_0(DirectorOnStageConnection);
+            Delegate1 = new DelegateViewWrapperImpl_1(DirectorOnStageDisconnection);
+            Delegate2 = new DelegateViewWrapperImpl_2(DirectorOnChildAdd);
+            Delegate3 = new DelegateViewWrapperImpl_3(DirectorOnChildRemove);
+            Delegate4 = new DelegateViewWrapperImpl_4(DirectorOnPropertySet);
+            Delegate5 = new DelegateViewWrapperImpl_5(DirectorOnSizeSet);
+            Delegate6 = new DelegateViewWrapperImpl_6(DirectorOnSizeAnimation);
+            Delegate7 = new DelegateViewWrapperImpl_7(DirectorOnTouch);
+            Delegate8 = new DelegateViewWrapperImpl_8(DirectorOnHover);
+            Delegate9 = new DelegateViewWrapperImpl_9(DirectorOnKey);
+            Delegate10 = new DelegateViewWrapperImpl_10(DirectorOnWheel);
+            Delegate11 = new DelegateViewWrapperImpl_11(DirectorOnRelayout);
+            Delegate12 = new DelegateViewWrapperImpl_12(DirectorOnSetResizePolicy);
+            Delegate13 = new DelegateViewWrapperImpl_13(DirectorGetNaturalSize);
+            Delegate14 = new DelegateViewWrapperImpl_14(DirectorCalculateChildSize);
+            Delegate15 = new DelegateViewWrapperImpl_15(DirectorGetHeightForWidth);
+            Delegate16 = new DelegateViewWrapperImpl_16(DirectorGetWidthForHeight);
+            Delegate17 = new DelegateViewWrapperImpl_17(DirectorRelayoutDependentOnChildren__SWIG_0);
+            Delegate18 = new DelegateViewWrapperImpl_18(DirectorRelayoutDependentOnChildren__SWIG_1);
+            Delegate19 = new DelegateViewWrapperImpl_19(DirectorOnCalculateRelayoutSize);
+            Delegate20 = new DelegateViewWrapperImpl_20(DirectorOnLayoutNegotiated);
+            Delegate21 = new DelegateViewWrapperImpl_21(DirectorOnInitialize);
+            Delegate22 = new DelegateViewWrapperImpl_22(DirectorOnControlChildAdd);
+            Delegate23 = new DelegateViewWrapperImpl_23(DirectorOnControlChildRemove);
+            Delegate24 = new DelegateViewWrapperImpl_24(DirectorOnStyleChange);
+            Delegate25 = new DelegateViewWrapperImpl_25(DirectorOnAccessibilityActivated);
+            Delegate26 = new DelegateViewWrapperImpl_26(DirectorOnAccessibilityPan);
+            Delegate27 = new DelegateViewWrapperImpl_27(DirectorOnAccessibilityTouch);
+            Delegate28 = new DelegateViewWrapperImpl_28(DirectorOnAccessibilityValueChange);
+            Delegate29 = new DelegateViewWrapperImpl_29(DirectorOnAccessibilityZoom);
+            Delegate30 = new DelegateViewWrapperImpl_30(DirectorOnKeyInputFocusGained);
+            Delegate31 = new DelegateViewWrapperImpl_31(DirectorOnKeyInputFocusLost);
+            Delegate32 = new DelegateViewWrapperImpl_32(DirectorGetNextKeyboardFocusableActor);
+            Delegate33 = new DelegateViewWrapperImpl_33(DirectorOnKeyboardFocusChangeCommitted);
+            Delegate34 = new DelegateViewWrapperImpl_34(DirectorOnKeyboardEnter);
+            Delegate35 = new DelegateViewWrapperImpl_35(DirectorOnPinch);
+            Delegate36 = new DelegateViewWrapperImpl_36(DirectorOnPan);
+            Delegate37 = new DelegateViewWrapperImpl_37(DirectorOnTap);
+            Delegate38 = new DelegateViewWrapperImpl_38(DirectorOnLongPress);
+            NDalicManualPINVOKE.ViewWrapperImpl_director_connect(swigCPtr, Delegate0, Delegate1, Delegate2, Delegate3, Delegate4, Delegate5, Delegate6, Delegate7, Delegate8, Delegate9, Delegate10, Delegate11, Delegate12, Delegate13, Delegate14, Delegate15, Delegate16, Delegate17, Delegate18, Delegate19, Delegate20, Delegate21, Delegate22, Delegate23, Delegate24, Delegate25, Delegate26, Delegate27, Delegate28, Delegate29, Delegate30, Delegate31, Delegate32, Delegate33, Delegate34, Delegate35, Delegate36, Delegate37, Delegate38, null, null);
+        }
+
+        private void DirectorOnStageConnection(int depth)
+        {
+            OnStageConnection(depth);
+        }
+
+        private void DirectorOnStageDisconnection()
+        {
+            OnStageDisconnection();
+        }
+
+        private void DirectorOnChildAdd(global::System.IntPtr child)
+        {
+            OnChildAdd(new Actor(child, false));
+        }
+
+        private void DirectorOnChildRemove(global::System.IntPtr child)
+        {
+            OnChildRemove(new Actor(child, false));
+        }
+
+        private void DirectorOnPropertySet(int index, global::System.IntPtr propertyValue)
+        {
+            if (OnPropertySet != null)
+            {
+                OnPropertySet(index, new Property.Value(propertyValue, true));
+            }
+        }
+
+        private void DirectorOnSizeSet(global::System.IntPtr targetSize)
+        {
+            OnSizeSet(new Vector3(targetSize, false));
+        }
+
+        private void DirectorOnSizeAnimation(global::System.IntPtr animation, global::System.IntPtr targetSize)
+        {
+            OnSizeAnimation(new Animation(animation, false), new Vector3(targetSize, false));
+        }
+
+        private bool DirectorOnTouch(global::System.IntPtr arg0)
+        {
+            return OnTouch(new Touch(arg0, false));
+        }
+
+        private bool DirectorOnHover(global::System.IntPtr arg0)
+        {
+            return OnHover(new Hover(arg0, false));
+        }
+
+        private bool DirectorOnKey(global::System.IntPtr arg0)
+        {
+            return OnKey(new Key(arg0, false));
+        }
+
+        private bool DirectorOnWheel(global::System.IntPtr arg0)
+        {
+            return OnWheel(new Wheel(arg0, false));
+        }
+
+        private void DirectorOnRelayout(global::System.IntPtr size, global::System.IntPtr container)
+        {
+            OnRelayout(new Vector2(size, false), new RelayoutContainer(container, false));
+        }
+
+        private void DirectorOnSetResizePolicy(int policy, int dimension)
+        {
+            OnSetResizePolicy((ResizePolicyType)policy, (DimensionType)dimension);
+        }
+
+        private global::System.IntPtr DirectorGetNaturalSize()
+        {
+            return Vector3.getCPtr(GetNaturalSize()).Handle;
+        }
+
+        private float DirectorCalculateChildSize(global::System.IntPtr child, int dimension)
+        {
+            return CalculateChildSize(new Actor(child, false), (DimensionType)dimension);
+        }
+
+        private float DirectorGetHeightForWidth(float width)
+        {
+            return GetHeightForWidth(width);
+        }
+
+        private float DirectorGetWidthForHeight(float height)
+        {
+            return GetWidthForHeight(height);
+        }
+
+        private bool DirectorRelayoutDependentOnChildren__SWIG_0(int dimension)
+        {
+            return RelayoutDependentOnChildrenDimension((DimensionType)dimension);
+        }
+
+        private bool DirectorRelayoutDependentOnChildren__SWIG_1()
+        {
+            return RelayoutDependentOnChildren();
+        }
+
+        private void DirectorOnCalculateRelayoutSize(int dimension)
+        {
+            OnCalculateRelayoutSize((DimensionType)dimension);
+        }
+
+        private void DirectorOnLayoutNegotiated(float size, int dimension)
+        {
+            OnLayoutNegotiated(size, (DimensionType)dimension);
+        }
+
+        private void DirectorOnInitialize()
+        {
+        }
+
+        private void DirectorOnControlChildAdd(global::System.IntPtr child)
+        {
+            OnControlChildAdd(new Actor(child, false));
+        }
+
+        private void DirectorOnControlChildRemove(global::System.IntPtr child)
+        {
+            OnControlChildRemove(new Actor(child, false));
+        }
+
+        private void DirectorOnStyleChange(global::System.IntPtr styleManager, int change)
+        {
+            if (OnStyleChange != null)
+            {
+                OnStyleChange(new StyleManager(styleManager, false), (StyleChangeType)change);
+            }
+        }
+
+        private bool DirectorOnAccessibilityActivated()
+        {
+            return OnAccessibilityActivated();
+        }
+
+        private bool DirectorOnAccessibilityPan(global::System.IntPtr gesture)
+        {
+            return OnAccessibilityPan(new PanGesture(gesture, false));
+        }
+
+        private bool DirectorOnAccessibilityTouch(global::System.IntPtr touch)
+        {
+            return OnAccessibilityTouch(new Touch(touch, false));
+        }
+
+        private bool DirectorOnAccessibilityValueChange(bool isIncrease)
+        {
+            return OnAccessibilityValueChange(isIncrease);
+        }
+
+        private bool DirectorOnAccessibilityZoom()
+        {
+            return OnAccessibilityZoom();
+        }
+
+        private void DirectorOnKeyInputFocusGained()
+        {
+            OnKeyInputFocusGained();
+        }
+
+        private void DirectorOnKeyInputFocusLost()
+        {
+            OnKeyInputFocusLost();
+        }
+
+        private global::System.IntPtr DirectorGetNextKeyboardFocusableActor(global::System.IntPtr currentFocusedActor, int direction, bool loopEnabled)
+        {
+            return Actor.getCPtr(GetNextKeyboardFocusableActor(new Actor(currentFocusedActor, false), (View.KeyboardFocus.Direction)direction, loopEnabled)).Handle;
+        }
+
+        private void DirectorOnKeyboardFocusChangeCommitted(global::System.IntPtr commitedFocusableActor)
+        {
+            OnKeyboardFocusChangeCommitted(new Actor(commitedFocusableActor, false));
+        }
+
+        private bool DirectorOnKeyboardEnter()
+        {
+            return OnKeyboardEnter();
+        }
+
+        private void DirectorOnPinch(global::System.IntPtr pinch)
+        {
+            OnPinch(new PinchGesture(pinch, false));
+        }
+
+        private void DirectorOnPan(global::System.IntPtr pan)
+        {
+            OnPan(new PanGesture(pan, false));
+        }
+
+        private void DirectorOnTap(global::System.IntPtr tap)
+        {
+            OnTap(new TapGesture(tap, false));
+        }
+
+        private void DirectorOnLongPress(global::System.IntPtr longPress)
+        {
+            OnLongPress(new LongPressGesture(longPress, false));
+        }
+
+        public delegate void DelegateViewWrapperImpl_0(int depth);
+        public delegate void DelegateViewWrapperImpl_1();
+        public delegate void DelegateViewWrapperImpl_2(global::System.IntPtr child);
+        public delegate void DelegateViewWrapperImpl_3(global::System.IntPtr child);
+        public delegate void DelegateViewWrapperImpl_4(int index, global::System.IntPtr propertyValue);
+        public delegate void DelegateViewWrapperImpl_5(global::System.IntPtr targetSize);
+        public delegate void DelegateViewWrapperImpl_6(global::System.IntPtr animation, global::System.IntPtr targetSize);
+        public delegate bool DelegateViewWrapperImpl_7(global::System.IntPtr arg0);
+        public delegate bool DelegateViewWrapperImpl_8(global::System.IntPtr arg0);
+        public delegate bool DelegateViewWrapperImpl_9(global::System.IntPtr arg0);
+        public delegate bool DelegateViewWrapperImpl_10(global::System.IntPtr arg0);
+        public delegate void DelegateViewWrapperImpl_11(global::System.IntPtr size, global::System.IntPtr container);
+        public delegate void DelegateViewWrapperImpl_12(int policy, int dimension);
+        public delegate global::System.IntPtr DelegateViewWrapperImpl_13();
+        public delegate float DelegateViewWrapperImpl_14(global::System.IntPtr child, int dimension);
+        public delegate float DelegateViewWrapperImpl_15(float width);
+        public delegate float DelegateViewWrapperImpl_16(float height);
+        public delegate bool DelegateViewWrapperImpl_17(int dimension);
+        public delegate bool DelegateViewWrapperImpl_18();
+        public delegate void DelegateViewWrapperImpl_19(int dimension);
+        public delegate void DelegateViewWrapperImpl_20(float size, int dimension);
+        public delegate void DelegateViewWrapperImpl_21();
+        public delegate void DelegateViewWrapperImpl_22(global::System.IntPtr child);
+        public delegate void DelegateViewWrapperImpl_23(global::System.IntPtr child);
+        public delegate void DelegateViewWrapperImpl_24(global::System.IntPtr styleManager, int change);
+        public delegate bool DelegateViewWrapperImpl_25();
+        public delegate bool DelegateViewWrapperImpl_26(global::System.IntPtr gesture);
+        public delegate bool DelegateViewWrapperImpl_27(global::System.IntPtr touch);
+        public delegate bool DelegateViewWrapperImpl_28(bool isIncrease);
+        public delegate bool DelegateViewWrapperImpl_29();
+        public delegate void DelegateViewWrapperImpl_30();
+        public delegate void DelegateViewWrapperImpl_31();
+        public delegate global::System.IntPtr DelegateViewWrapperImpl_32(global::System.IntPtr currentFocusedActor, int direction, bool loopEnabled);
+        public delegate void DelegateViewWrapperImpl_33(global::System.IntPtr commitedFocusableActor);
+        public delegate bool DelegateViewWrapperImpl_34();
+        public delegate void DelegateViewWrapperImpl_35(global::System.IntPtr pinch);
+        public delegate void DelegateViewWrapperImpl_36(global::System.IntPtr pan);
+        public delegate void DelegateViewWrapperImpl_37(global::System.IntPtr tap);
+        public delegate void DelegateViewWrapperImpl_38(global::System.IntPtr longPress);
+        public delegate void DelegateViewWrapperImpl_39(global::System.IntPtr slotObserver, global::System.IntPtr callback);
+        public delegate void DelegateViewWrapperImpl_40(global::System.IntPtr slotObserver, global::System.IntPtr callback);
+
+        private DelegateViewWrapperImpl_0 Delegate0;
+        private DelegateViewWrapperImpl_1 Delegate1;
+        private DelegateViewWrapperImpl_2 Delegate2;
+        private DelegateViewWrapperImpl_3 Delegate3;
+        private DelegateViewWrapperImpl_4 Delegate4;
+        private DelegateViewWrapperImpl_5 Delegate5;
+        private DelegateViewWrapperImpl_6 Delegate6;
+        private DelegateViewWrapperImpl_7 Delegate7;
+        private DelegateViewWrapperImpl_8 Delegate8;
+        private DelegateViewWrapperImpl_9 Delegate9;
+        private DelegateViewWrapperImpl_10 Delegate10;
+        private DelegateViewWrapperImpl_11 Delegate11;
+        private DelegateViewWrapperImpl_12 Delegate12;
+        private DelegateViewWrapperImpl_13 Delegate13;
+        private DelegateViewWrapperImpl_14 Delegate14;
+        private DelegateViewWrapperImpl_15 Delegate15;
+        private DelegateViewWrapperImpl_16 Delegate16;
+        private DelegateViewWrapperImpl_17 Delegate17;
+        private DelegateViewWrapperImpl_18 Delegate18;
+        private DelegateViewWrapperImpl_19 Delegate19;
+        private DelegateViewWrapperImpl_20 Delegate20;
+        private DelegateViewWrapperImpl_21 Delegate21;
+        private DelegateViewWrapperImpl_22 Delegate22;
+        private DelegateViewWrapperImpl_23 Delegate23;
+        private DelegateViewWrapperImpl_24 Delegate24;
+        private DelegateViewWrapperImpl_25 Delegate25;
+        private DelegateViewWrapperImpl_26 Delegate26;
+        private DelegateViewWrapperImpl_27 Delegate27;
+        private DelegateViewWrapperImpl_28 Delegate28;
+        private DelegateViewWrapperImpl_29 Delegate29;
+        private DelegateViewWrapperImpl_30 Delegate30;
+        private DelegateViewWrapperImpl_31 Delegate31;
+        private DelegateViewWrapperImpl_32 Delegate32;
+        private DelegateViewWrapperImpl_33 Delegate33;
+        private DelegateViewWrapperImpl_34 Delegate34;
+        private DelegateViewWrapperImpl_35 Delegate35;
+        private DelegateViewWrapperImpl_36 Delegate36;
+        private DelegateViewWrapperImpl_37 Delegate37;
+        private DelegateViewWrapperImpl_38 Delegate38;
+        private DelegateViewWrapperImpl_39 Delegate39;
+        private DelegateViewWrapperImpl_40 Delegate40;
+
+        public enum CustomViewBehaviour
+        {
+            VIEW_BEHAVIOUR_DEFAULT = 0,
+            DISABLE_SIZE_NEGOTIATION = 1 << 0,
+            REQUIRES_KEYBOARD_NAVIGATION_SUPPORT = 1 << 5,
+            DISABLE_STYLE_CHANGE_SIGNALS = 1 << 6,
+            LAST_VIEW_BEHAVIOUR_FLAG
+        }
+
+        public static readonly int VIEW_BEHAVIOUR_FLAG_COUNT = NDalicManualPINVOKE.ViewWrapperImpl_CONTROL_BEHAVIOUR_FLAG_COUNT_get();
+    }
+}
diff --git a/plugins/dali-sharp/sharp/internal/VisualBase.cs b/plugins/dali-sharp/sharp/internal/VisualBase.cs
new file mode 100644 (file)
index 0000000..92dca4d
--- /dev/null
@@ -0,0 +1,117 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class VisualBase : BaseHandle {
+  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;
+  }
+
+  ~VisualBase() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public VisualBase() : this(NDalicPINVOKE.new_VisualBase__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public VisualBase(VisualBase handle) : this(NDalicPINVOKE.new_VisualBase__SWIG_1(VisualBase.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public VisualBase Assign(VisualBase handle) {
+    VisualBase ret = new VisualBase(NDalicPINVOKE.VisualBase_Assign(swigCPtr, VisualBase.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetName(string name) {
+    NDalicPINVOKE.VisualBase_SetName(swigCPtr, name);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public string GetName() {
+    string ret = NDalicPINVOKE.VisualBase_GetName(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void SetTransformAndSize(Property.Map transform, Vector2 controlSize) {
+    NDalicPINVOKE.VisualBase_SetTransformAndSize(swigCPtr, Property.Map.getCPtr(transform), Vector2.getCPtr(controlSize));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetHeightForWidth(float width) {
+    float ret = NDalicPINVOKE.VisualBase_GetHeightForWidth(swigCPtr, width);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public float GetWidthForHeight(float height) {
+    float ret = NDalicPINVOKE.VisualBase_GetWidthForHeight(swigCPtr, height);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void GetNaturalSize(Vector2 naturalSize) {
+    NDalicPINVOKE.VisualBase_GetNaturalSize(swigCPtr, Vector2.getCPtr(naturalSize));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetDepthIndex(float index) {
+    NDalicPINVOKE.VisualBase_SetDepthIndex(swigCPtr, index);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float GetDepthIndex() {
+    float ret = NDalicPINVOKE.VisualBase_GetDepthIndex(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void CreatePropertyMap(Property.Map map) {
+    NDalicPINVOKE.VisualBase_CreatePropertyMap(swigCPtr, Property.Map.getCPtr(map));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public VisualBase(SWIGTYPE_p_Dali__Toolkit__Internal__Visual__Base impl) : this(NDalicPINVOKE.new_VisualBase__SWIG_2(SWIGTYPE_p_Dali__Toolkit__Internal__Visual__Base.getCPtr(impl)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/VisualFactory.cs b/plugins/dali-sharp/sharp/internal/VisualFactory.cs
new file mode 100644 (file)
index 0000000..217079f
--- /dev/null
@@ -0,0 +1,88 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class VisualFactory : BaseHandle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal VisualFactory(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.VisualFactory_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  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;
+  }
+
+  ~VisualFactory() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_VisualFactory(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+  public static VisualFactory Get() {
+    VisualFactory ret = new VisualFactory(NDalicPINVOKE.VisualFactory_Get(), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public VisualFactory() : this(NDalicPINVOKE.new_VisualFactory__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public VisualFactory(VisualFactory handle) : this(NDalicPINVOKE.new_VisualFactory__SWIG_1(VisualFactory.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public VisualFactory Assign(VisualFactory handle) {
+    VisualFactory ret = new VisualFactory(NDalicPINVOKE.VisualFactory_Assign(swigCPtr, VisualFactory.getCPtr(handle)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public VisualBase CreateVisual(Property.Map propertyMap) {
+    VisualBase ret = new VisualBase(NDalicPINVOKE.VisualFactory_CreateVisual__SWIG_0(swigCPtr, Property.Map.getCPtr(propertyMap)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public VisualBase CreateVisual(Image image) {
+    VisualBase ret = new VisualBase(NDalicPINVOKE.VisualFactory_CreateVisual__SWIG_1(swigCPtr, Image.getCPtr(image)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public VisualBase CreateVisual(string url, Uint16Pair size) {
+    VisualBase ret = new VisualBase(NDalicPINVOKE.VisualFactory_CreateVisual__SWIG_2(swigCPtr, url, Uint16Pair.getCPtr(size)), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/VisualTransformPolicyType.cs b/plugins/dali-sharp/sharp/internal/VisualTransformPolicyType.cs
new file mode 100644 (file)
index 0000000..6fedda7
--- /dev/null
@@ -0,0 +1,18 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum VisualTransformPolicyType {
+  RELATIVE = 0,
+  ABSOLUTE = 1
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/VisualTransformPropertyType.cs b/plugins/dali-sharp/sharp/internal/VisualTransformPropertyType.cs
new file mode 100644 (file)
index 0000000..3ad7ee8
--- /dev/null
@@ -0,0 +1,22 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum VisualTransformPropertyType {
+  OFFSET,
+  SIZE,
+  ORIGIN,
+  ANCHOR_POINT,
+  OFFSET_POLICY,
+  SIZE_POLICY
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/VisualType.cs b/plugins/dali-sharp/sharp/internal/VisualType.cs
new file mode 100644 (file)
index 0000000..46c8ad0
--- /dev/null
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum VisualType {
+  BORDER,
+  COLOR,
+  GRADIENT,
+  IMAGE,
+  MESH,
+  PRIMITIVE,
+  WIREFRAME
+
+  ,
+  TEXT,
+  N_PATCH,
+  SVG,
+  ANIMATED_IMAGE
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/VoidSignal.cs b/plugins/dali-sharp/sharp/internal/VoidSignal.cs
new file mode 100644 (file)
index 0000000..b7cb4d2
--- /dev/null
@@ -0,0 +1,93 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class VoidSignal : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal VoidSignal(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(VoidSignal obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~VoidSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_VoidSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public VoidSignal() : this(NDalicPINVOKE.new_VoidSignal(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.VoidSignal_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.VoidSignal_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.VoidSignal_Connect__SWIG_0(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.VoidSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Connect(ConnectionTrackerInterface connectionTracker, SWIGTYPE_p_Dali__FunctorDelegate arg1) {
+    NDalicPINVOKE.VoidSignal_Connect__SWIG_4(swigCPtr, ConnectionTrackerInterface.getCPtr(connectionTracker), SWIGTYPE_p_Dali__FunctorDelegate.getCPtr(arg1));
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Emit() {
+    NDalicPINVOKE.VoidSignal_Emit(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Wheel.cs b/plugins/dali-sharp/sharp/internal/Wheel.cs
new file mode 100644 (file)
index 0000000..6c0cf40
--- /dev/null
@@ -0,0 +1,209 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class Wheel : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  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;
+  }
+
+  ~Wheel() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      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);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+
+  public static Wheel GetWheelFromPtr(global::System.IntPtr cPtr) {
+    Wheel ret = new Wheel(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Wheel.WheelType Type
+  {
+    get
+    {
+      return type;
+    }
+  }
+
+  public int Direction
+  {
+    get
+    {
+      return direction;
+    }
+  }
+
+  public uint Modifiers
+  {
+    get
+    {
+      return modifiers;
+    }
+  }
+
+  public Vector2 Point
+  {
+    get
+    {
+      return point;
+    }
+  }
+
+  public int Z
+  {
+    get
+    {
+      return z;
+    }
+  }
+
+  public uint TimeStamp
+  {
+    get
+    {
+      return timeStamp;
+    }
+  }
+
+  public Wheel() : this(NDalicPINVOKE.new_Wheel__SWIG_0(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  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();
+  }
+
+  public bool IsShiftModifier() {
+    bool ret = NDalicPINVOKE.Wheel_IsShiftModifier(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool IsCtrlModifier() {
+    bool ret = NDalicPINVOKE.Wheel_IsCtrlModifier(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public bool IsAltModifier() {
+    bool ret = NDalicPINVOKE.Wheel_IsAltModifier(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  private Wheel.WheelType type {
+    set {
+      NDalicPINVOKE.Wheel_type_set(swigCPtr, (int)value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      Wheel.WheelType ret = (Wheel.WheelType)NDalicPINVOKE.Wheel_type_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private int direction {
+    set {
+      NDalicPINVOKE.Wheel_direction_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      int ret = NDalicPINVOKE.Wheel_direction_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private uint modifiers {
+    set {
+      NDalicPINVOKE.Wheel_modifiers_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      uint ret = NDalicPINVOKE.Wheel_modifiers_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private Vector2 point {
+    set {
+      NDalicPINVOKE.Wheel_point_set(swigCPtr, Vector2.getCPtr(value));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      global::System.IntPtr cPtr = NDalicPINVOKE.Wheel_point_get(swigCPtr);
+      Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private int z {
+    set {
+      NDalicPINVOKE.Wheel_z_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      int ret = NDalicPINVOKE.Wheel_z_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  private uint timeStamp {
+    set {
+      NDalicPINVOKE.Wheel_timeStamp_set(swigCPtr, value);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      uint ret = NDalicPINVOKE.Wheel_timeStamp_get(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public enum WheelType {
+    MOUSE_WHEEL,
+    CUSTOM_WHEEL
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/Window.cs b/plugins/dali-sharp/sharp/internal/Window.cs
new file mode 100644 (file)
index 0000000..ad470ff
--- /dev/null
@@ -0,0 +1,269 @@
+/** 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.
+*
+*/
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+    using System;
+    using System.Runtime.InteropServices;
+
+public class Window : BaseHandle {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+  internal Window(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Window_SWIGUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+  }
+
+  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Window obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Window() {
+    DisposeQueue.Instance.Add(this);
+  }
+
+  public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_Window(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+
+
+    public void SetAcceptFocus( bool accept )
+    {
+      NDalicPINVOKE.SetAcceptFocus(swigCPtr, accept);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+
+    public bool IsFocusAcceptable()
+    {
+      return NDalicPINVOKE.IsFocusAcceptable(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+
+    public void Show()
+    {
+      NDalicPINVOKE.Show(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+
+    public void Hide()
+    {
+      NDalicPINVOKE.Hide(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+
+    public void IsVisible()
+    {
+      NDalicPINVOKE.IsVisible(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+
+    public class WindowFocusChangedEventArgs : EventArgs
+    {
+        public bool FocusGained
+        {
+            get;
+            set;
+        }
+    }
+
+    private WindowFocusChangedEventCallbackType _windowFocusChangedEventCallback;
+    [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+    private delegate void WindowFocusChangedEventCallbackType(bool focusGained);
+    private event EventHandler<WindowFocusChangedEventArgs> _windowFocusChangedEventHandler;
+
+    public event EventHandler<WindowFocusChangedEventArgs> WindowFocusChanged
+    {
+        add
+        {
+            if (_windowFocusChangedEventHandler == null)
+            {
+                _windowFocusChangedEventCallback = OnWindowFocusedChanged;
+                WindowFocusChangedSignal().Connect(_windowFocusChangedEventCallback);
+            }
+
+            _windowFocusChangedEventHandler += value;
+        }
+        remove
+        {
+            _windowFocusChangedEventHandler -= value;
+
+            if (_windowFocusChangedEventHandler == null && _windowFocusChangedEventCallback != null)
+            {
+                WindowFocusChangedSignal().Disconnect(_windowFocusChangedEventCallback);
+            }
+        }
+    }
+
+    private void OnWindowFocusedChanged(bool focusGained)
+    {
+        WindowFocusChangedEventArgs e = new WindowFocusChangedEventArgs();
+
+        e.FocusGained = focusGained;
+
+        if (_windowFocusChangedEventHandler != null)
+        {
+            _windowFocusChangedEventHandler(this, e);
+        }
+    }
+
+    public WindowFocusSignalType WindowFocusChangedSignal() {
+      WindowFocusSignalType ret = new WindowFocusSignalType(NDalicPINVOKE.FocusChangedSignal(swigCPtr), false);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+
+
+  public Window (Rectangle windowPosition, string name, bool isTransparent) : this (NDalicPINVOKE.Window_New__SWIG_0(Rectangle.getCPtr(windowPosition), name, isTransparent), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public Window (Rectangle windowPosition, string name) : this (NDalicPINVOKE.Window_New__SWIG_1(Rectangle.getCPtr(windowPosition), name), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public Window (Rectangle windowPosition, string name, string className, bool isTransparent) : this (NDalicPINVOKE.Window_New__SWIG_2(Rectangle.getCPtr(windowPosition), name, className, isTransparent), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public Window (Rectangle windowPosition, string name, string className) : this (NDalicPINVOKE.Window_New__SWIG_3(Rectangle.getCPtr(windowPosition), name, className), true) {
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+  }
+  public Window(Window handle) : this(NDalicPINVOKE.new_Window__SWIG_1(Window.getCPtr(handle)), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Window Assign(Window rhs) {
+    Window ret = new Window(NDalicPINVOKE.Window_Assign(swigCPtr, Window.getCPtr(rhs)), false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void ShowIndicator(Window.IndicatorVisibleMode visibleMode) {
+    NDalicPINVOKE.Window_ShowIndicator(swigCPtr, (int)visibleMode);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetIndicatorBgOpacity(Window.IndicatorBgOpacity opacity) {
+    NDalicPINVOKE.Window_SetIndicatorBgOpacity(swigCPtr, (int)opacity);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RotateIndicator(Window.WindowOrientation orientation) {
+    NDalicPINVOKE.Window_RotateIndicator(swigCPtr, (int)orientation);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetClass(string name, string klass) {
+    NDalicPINVOKE.Window_SetClass(swigCPtr, name, klass);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Raise() {
+    NDalicPINVOKE.Window_Raise(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Lower() {
+    NDalicPINVOKE.Window_Lower(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void Activate() {
+    NDalicPINVOKE.Window_Activate(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void AddAvailableOrientation(Window.WindowOrientation orientation) {
+    NDalicPINVOKE.Window_AddAvailableOrientation(swigCPtr, (int)orientation);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void RemoveAvailableOrientation(Window.WindowOrientation orientation) {
+    NDalicPINVOKE.Window_RemoveAvailableOrientation(swigCPtr, (int)orientation);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void SetPreferredOrientation(Window.WindowOrientation orientation) {
+    NDalicPINVOKE.Window_SetPreferredOrientation(swigCPtr, (int)orientation);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public Window.WindowOrientation GetPreferredOrientation() {
+    Window.WindowOrientation ret = (Window.WindowOrientation)NDalicPINVOKE.Window_GetPreferredOrientation(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public DragAndDropDetector GetDragAndDropDetector() {
+    DragAndDropDetector ret = new DragAndDropDetector(NDalicPINVOKE.Window_GetDragAndDropDetector(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public Any GetNativeHandle() {
+    Any ret = new Any(NDalicPINVOKE.Window_GetNativeHandle(swigCPtr), true);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public enum WindowOrientation {
+    PORTRAIT = 0,
+    LANDSCAPE = 90,
+    PORTRAIT_INVERSE = 180,
+    LANDSCAPE_INVERSE = 270
+  }
+
+  public enum IndicatorBgOpacity {
+    OPAQUE = 100,
+    TRANSLUCENT = 50,
+    TRANSPARENT = 0
+  }
+
+  public enum IndicatorVisibleMode {
+    INVISIBLE = 0,
+    VISIBLE = 1,
+    AUTO = 2
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/WindowFocusSignalType.cs b/plugins/dali-sharp/sharp/internal/WindowFocusSignalType.cs
new file mode 100644 (file)
index 0000000..ae9dde1
--- /dev/null
@@ -0,0 +1,82 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class WindowFocusSignalType : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal WindowFocusSignalType(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(WindowFocusSignalType obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~WindowFocusSignalType() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_WindowFocusSignalType(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+  public bool Empty() {
+    bool ret = NDalicPINVOKE.WindowFocusSignalType_Empty(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public uint GetConnectionCount() {
+    uint ret = NDalicPINVOKE.WindowFocusSignalType_GetConnectionCount(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.WindowFocusSignalType_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); 
+    {
+      NDalicPINVOKE.WindowFocusSignalType_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    }
+  }
+
+  public void Emit(bool arg) {
+    NDalicPINVOKE.WindowFocusSignalType_Emit(swigCPtr, arg);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public WindowFocusSignalType() : this(NDalicPINVOKE.new_WindowFocusSignalType(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/WrapModeType.cs b/plugins/dali-sharp/sharp/internal/WrapModeType.cs
new file mode 100644 (file)
index 0000000..e03e3a3
--- /dev/null
@@ -0,0 +1,20 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public enum WrapModeType {
+  DEFAULT = 0,
+  CLAMP_TO_EDGE,
+  REPEAT,
+  MIRRORED_REPEAT
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/doublep.cs b/plugins/dali-sharp/sharp/internal/doublep.cs
new file mode 100644 (file)
index 0000000..8e677fb
--- /dev/null
@@ -0,0 +1,74 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class doublep : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal doublep(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(doublep obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~doublep() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_doublep(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+  public doublep() : this(NDalicPINVOKE.new_doublep(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void assign(double value) {
+    NDalicPINVOKE.doublep_assign(swigCPtr, value);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public double value() {
+    double ret = NDalicPINVOKE.doublep_value(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SWIGTYPE_p_double cast() {
+    global::System.IntPtr cPtr = NDalicPINVOKE.doublep_cast(swigCPtr);
+    SWIGTYPE_p_double ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_double(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static doublep frompointer(SWIGTYPE_p_double t) {
+    global::System.IntPtr cPtr = NDalicPINVOKE.doublep_frompointer(SWIGTYPE_p_double.getCPtr(t));
+    doublep ret = (cPtr == global::System.IntPtr.Zero) ? null : new doublep(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/floatp.cs b/plugins/dali-sharp/sharp/internal/floatp.cs
new file mode 100644 (file)
index 0000000..65406e2
--- /dev/null
@@ -0,0 +1,74 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class floatp : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal floatp(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(floatp obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~floatp() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_floatp(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+  public floatp() : this(NDalicPINVOKE.new_floatp(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void assign(float value) {
+    NDalicPINVOKE.floatp_assign(swigCPtr, value);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public float value() {
+    float ret = NDalicPINVOKE.floatp_value(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SWIGTYPE_p_float cast() {
+    global::System.IntPtr cPtr = NDalicPINVOKE.floatp_cast(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;
+  }
+
+  public static floatp frompointer(SWIGTYPE_p_float t) {
+    global::System.IntPtr cPtr = NDalicPINVOKE.floatp_frompointer(SWIGTYPE_p_float.getCPtr(t));
+    floatp ret = (cPtr == global::System.IntPtr.Zero) ? null : new floatp(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/intp.cs b/plugins/dali-sharp/sharp/internal/intp.cs
new file mode 100644 (file)
index 0000000..2ebfdcc
--- /dev/null
@@ -0,0 +1,74 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class intp : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal intp(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(intp obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~intp() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_intp(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+  public intp() : this(NDalicPINVOKE.new_intp(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void assign(int value) {
+    NDalicPINVOKE.intp_assign(swigCPtr, value);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public int value() {
+    int ret = NDalicPINVOKE.intp_value(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SWIGTYPE_p_int cast() {
+    global::System.IntPtr cPtr = NDalicPINVOKE.intp_cast(swigCPtr);
+    SWIGTYPE_p_int ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_int(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static intp frompointer(SWIGTYPE_p_int t) {
+    global::System.IntPtr cPtr = NDalicPINVOKE.intp_frompointer(SWIGTYPE_p_int.getCPtr(t));
+    intp ret = (cPtr == global::System.IntPtr.Zero) ? null : new intp(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/uintp.cs b/plugins/dali-sharp/sharp/internal/uintp.cs
new file mode 100644 (file)
index 0000000..8ce3bea
--- /dev/null
@@ -0,0 +1,74 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class uintp : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal uintp(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(uintp obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~uintp() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_uintp(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+  public uintp() : this(NDalicPINVOKE.new_uintp(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void assign(uint value) {
+    NDalicPINVOKE.uintp_assign(swigCPtr, value);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public uint value() {
+    uint ret = NDalicPINVOKE.uintp_value(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SWIGTYPE_p_unsigned_int cast() {
+    global::System.IntPtr cPtr = NDalicPINVOKE.uintp_cast(swigCPtr);
+    SWIGTYPE_p_unsigned_int ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_int(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static uintp frompointer(SWIGTYPE_p_unsigned_int t) {
+    global::System.IntPtr cPtr = NDalicPINVOKE.uintp_frompointer(SWIGTYPE_p_unsigned_int.getCPtr(t));
+    uintp ret = (cPtr == global::System.IntPtr.Zero) ? null : new uintp(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/internal/ushortp.cs b/plugins/dali-sharp/sharp/internal/ushortp.cs
new file mode 100644 (file)
index 0000000..dcdc615
--- /dev/null
@@ -0,0 +1,74 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.10
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Dali {
+
+public class ushortp : global::System.IDisposable {
+  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal ushortp(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(ushortp obj) {
+    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ushortp() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_ushortp(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+
+  public ushortp() : this(NDalicPINVOKE.new_ushortp(), true) {
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public void assign(ushort value) {
+    NDalicPINVOKE.ushortp_assign(swigCPtr, value);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public ushort value() {
+    ushort ret = NDalicPINVOKE.ushortp_value(swigCPtr);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public SWIGTYPE_p_unsigned_short cast() {
+    global::System.IntPtr cPtr = NDalicPINVOKE.ushortp_cast(swigCPtr);
+    SWIGTYPE_p_unsigned_short ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_short(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static ushortp frompointer(SWIGTYPE_p_unsigned_short t) {
+    global::System.IntPtr cPtr = NDalicPINVOKE.ushortp_frompointer(SWIGTYPE_p_unsigned_short.getCPtr(t));
+    ushortp ret = (cPtr == global::System.IntPtr.Zero) ? null : new ushortp(cPtr, false);
+    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+}
+
+}
diff --git a/plugins/dali-sharp/sharp/public/README.txt b/plugins/dali-sharp/sharp/public/README.txt
new file mode 100644 (file)
index 0000000..1551175
--- /dev/null
@@ -0,0 +1 @@
+helloe
index 98a45f5..3c4d144 100755 (executable)
@@ -244,6 +244,7 @@ typedef std::pair< Dali::Radian, Dali::Radian > AngleThresholdPair;
 %include <dali/public-api/events/long-press-gesture-detector.h>
 %include <dali/public-api/events/long-press-gesture.h>
 %include <dali/public-api/events/wheel-event.h>
+%include <dali/devel-api/events/key-event-devel.h>
 
 %include <dali/public-api/actors/actor.h>
 %include <dali/devel-api/actors/actor-devel.h>
index 4e3fdb5..4c1e882 100755 (executable)
@@ -50,6 +50,7 @@
 #include <dali-toolkit/dali-toolkit.h>
 
 #include <dali/devel-api/actors/actor-devel.h>
+#include <dali/devel-api/events/key-event-devel.h>
 
 #include <dali/public-api/math/matrix.h>
 #include <dali/public-api/math/matrix3.h>
index 9ba9232..8fdd05f 100644 (file)
@@ -8,6 +8,9 @@
 %csmethodmodifiers Dali::KeyEvent::time "private";
 %csmethodmodifiers Dali::KeyEvent::state "private";
 
+%csmethodmodifiers Dali::DevelKeyEvent::GetDeviceName "private";
+%csmethodmodifiers Dali::DevelKeyEvent::SetDeviceName "private";
+
 %typemap(cscode) Dali::KeyEvent %{
   public static Key GetKeyFromPtr(global::System.IntPtr cPtr) {
     Key ret = new Key(cPtr, false);
     return ret;
   }
 
+  public string DeviceName
+  {
+    get
+    {
+      string ret = NDalicPINVOKE.GetDeviceName(swigCPtr);
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
+  }
+
   public string KeyPressedName
   {
     get