Merge "Usage of CustomeView for ScrollContainer and code refactoring accordingly...
authorKimmo Hoikka <kimmo.hoikka@samsung.com>
Fri, 18 Nov 2016 15:09:07 +0000 (07:09 -0800)
committerGerrit Code Review <gerrit@review.vlan103.tizen.org>
Fri, 18 Nov 2016 15:09:07 +0000 (07:09 -0800)
326 files changed:
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.h
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-harness.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-event-thread-callback.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-event-thread-callback.h
automated-tests/src/dali-toolkit/utc-Dali-AsyncImageLoader.cpp
automated-tests/src/dali-toolkit/utc-Dali-ImageAtlas.cpp
automated-tests/src/dali-toolkit/utc-Dali-ImageView.cpp
automated-tests/src/dali-toolkit/utc-Dali-KeyboardFocusManager.cpp
automated-tests/src/dali-toolkit/utc-Dali-Visual.cpp
automated-tests/src/dali-toolkit/utc-Dali-VisualFactory.cpp
build/tizen/plugins/csharp/Makefile.am
dali-toolkit/devel-api/visual-factory/visual-base.cpp
dali-toolkit/devel-api/visual-factory/visual-base.h
dali-toolkit/internal/controls/image-view/image-view-impl.cpp
dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp
dali-toolkit/internal/text/text-controller-impl.cpp
dali-toolkit/internal/visuals/color/color-visual.cpp
dali-toolkit/internal/visuals/color/color-visual.h
dali-toolkit/internal/visuals/gradient/gradient-visual.cpp
dali-toolkit/internal/visuals/gradient/gradient-visual.h
dali-toolkit/internal/visuals/image/batch-image-visual.cpp
dali-toolkit/internal/visuals/image/batch-image-visual.h
dali-toolkit/internal/visuals/image/image-visual.cpp
dali-toolkit/internal/visuals/mesh/mesh-visual.cpp
dali-toolkit/internal/visuals/mesh/mesh-visual.h
dali-toolkit/internal/visuals/primitive/primitive-visual.cpp
dali-toolkit/internal/visuals/primitive/primitive-visual.h
dali-toolkit/internal/visuals/svg/svg-visual.cpp
dali-toolkit/internal/visuals/svg/svg-visual.h
dali-toolkit/internal/visuals/text/text-visual.cpp
dali-toolkit/internal/visuals/text/text-visual.h
dali-toolkit/internal/visuals/transition-data-impl.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-factory-cache.cpp
dali-toolkit/internal/visuals/visual-factory-cache.h
dali-toolkit/internal/visuals/visual-factory-impl.cpp
dali-toolkit/internal/visuals/wireframe/wireframe-visual.cpp
dali-toolkit/internal/visuals/wireframe/wireframe-visual.h
dali-toolkit/public-api/controls/control-impl.cpp
dali-toolkit/public-api/controls/scrollable/item-view/item-layout.h
dali-toolkit/public-api/dali-toolkit-version.cpp
dali-toolkit/public-api/focus-manager/keyboard-focus-manager.h
packaging/dali-addon.spec
packaging/dali-csharp-wrapper.spec
packaging/dali-toolkit.spec
plugins/dali-swig/Makefile.am
plugins/dali-swig/NDali.dll [deleted file]
plugins/dali-swig/SWIG/dali-gc.i [new file with mode: 0644]
plugins/dali-swig/SWIG/dali.i
plugins/dali-swig/SWIG/events/application-event.i
plugins/dali-swig/automatic/cpp/dali_wrap.cpp [deleted file]
plugins/dali-swig/automatic/cpp/dali_wrap.h [deleted file]
plugins/dali-swig/automatic/csharp/.gitignore [deleted file]
plugins/dali-swig/automatic/csharp/AccessibilityActionScrollSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/AccessibilityActionSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/AccessibilityFocusOvershotSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/AccessibilityManager.cs [deleted file]
plugins/dali-swig/automatic/csharp/Actor.cs [deleted file]
plugins/dali-swig/automatic/csharp/ActorContainer.cs [deleted file]
plugins/dali-swig/automatic/csharp/ActorHoverEventSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/ActorSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/ActorTouchDataSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/ActorTouchEventSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/ActorWheelEventSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/Alignment.cs [deleted file]
plugins/dali-swig/automatic/csharp/AlphaFunction.cs [deleted file]
plugins/dali-swig/automatic/csharp/AngleAxis.cs [deleted file]
plugins/dali-swig/automatic/csharp/AngleThresholdPair.cs [deleted file]
plugins/dali-swig/automatic/csharp/Animation.cs [deleted file]
plugins/dali-swig/automatic/csharp/AnimationSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/Any.cs [deleted file]
plugins/dali-swig/automatic/csharp/Application.cs [deleted file]
plugins/dali-swig/automatic/csharp/ApplicationControlSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/ApplicationSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/BaseHandle.cs [deleted file]
plugins/dali-swig/automatic/csharp/BaseObject.cs [deleted file]
plugins/dali-swig/automatic/csharp/BlendEquationType.cs [deleted file]
plugins/dali-swig/automatic/csharp/BlendFactorType.cs [deleted file]
plugins/dali-swig/automatic/csharp/BlendModeType.cs [deleted file]
plugins/dali-swig/automatic/csharp/BoolSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/BufferImage.cs [deleted file]
plugins/dali-swig/automatic/csharp/Builder.cs [deleted file]
plugins/dali-swig/automatic/csharp/Button.cs [deleted file]
plugins/dali-swig/automatic/csharp/ButtonSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/CameraActor.cs [deleted file]
plugins/dali-swig/automatic/csharp/CameraType.cs [deleted file]
plugins/dali-swig/automatic/csharp/CheckBoxButton.cs [deleted file]
plugins/dali-swig/automatic/csharp/ClampState.cs [deleted file]
plugins/dali-swig/automatic/csharp/ClampState2D.cs [deleted file]
plugins/dali-swig/automatic/csharp/ClippingModeType.cs [deleted file]
plugins/dali-swig/automatic/csharp/ColorMode.cs [deleted file]
plugins/dali-swig/automatic/csharp/ConnectionTracker.cs [deleted file]
plugins/dali-swig/automatic/csharp/ConnectionTrackerInterface.cs [deleted file]
plugins/dali-swig/automatic/csharp/ControlKeyEventSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/ControlOrientationType.cs [deleted file]
plugins/dali-swig/automatic/csharp/CustomActor.cs [deleted file]
plugins/dali-swig/automatic/csharp/CustomActorImpl.cs [deleted file]
plugins/dali-swig/automatic/csharp/DefaultItemLayoutType.cs [deleted file]
plugins/dali-swig/automatic/csharp/DefaultRuler.cs [deleted file]
plugins/dali-swig/automatic/csharp/Degree.cs [deleted file]
plugins/dali-swig/automatic/csharp/DepthFunctionType.cs [deleted file]
plugins/dali-swig/automatic/csharp/DepthTestModeType.cs [deleted file]
plugins/dali-swig/automatic/csharp/DepthWriteModeType.cs [deleted file]
plugins/dali-swig/automatic/csharp/DimensionType.cs [deleted file]
plugins/dali-swig/automatic/csharp/DirectionBias.cs [deleted file]
plugins/dali-swig/automatic/csharp/DragAndDropDetector.cs [deleted file]
plugins/dali-swig/automatic/csharp/DrawModeType.cs [deleted file]
plugins/dali-swig/automatic/csharp/EncodedBufferImage.cs [deleted file]
plugins/dali-swig/automatic/csharp/FaceCullingModeType.cs [deleted file]
plugins/dali-swig/automatic/csharp/FilterModeType.cs [deleted file]
plugins/dali-swig/automatic/csharp/FittingModeType.cs [deleted file]
plugins/dali-swig/automatic/csharp/FixedRuler.cs [deleted file]
plugins/dali-swig/automatic/csharp/FlexContainer.cs [deleted file]
plugins/dali-swig/automatic/csharp/FloatSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/FocusChangedSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/FocusGroupChangedSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/FrameBuffer.cs [deleted file]
plugins/dali-swig/automatic/csharp/FrameBufferImage.cs [deleted file]
plugins/dali-swig/automatic/csharp/GaussianBlurView.cs [deleted file]
plugins/dali-swig/automatic/csharp/GaussianBlurViewSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/Geometry.cs [deleted file]
plugins/dali-swig/automatic/csharp/Gesture.cs [deleted file]
plugins/dali-swig/automatic/csharp/GestureDetector.cs [deleted file]
plugins/dali-swig/automatic/csharp/GradientVisualSpreadMethodType.cs [deleted file]
plugins/dali-swig/automatic/csharp/GradientVisualUnitsType.cs [deleted file]
plugins/dali-swig/automatic/csharp/Handle.cs [deleted file]
plugins/dali-swig/automatic/csharp/HorizontalAlignmentType.cs [deleted file]
plugins/dali-swig/automatic/csharp/HoverEvent.cs [deleted file]
plugins/dali-swig/automatic/csharp/Image.cs [deleted file]
plugins/dali-swig/automatic/csharp/ImageSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/ImageView.cs [deleted file]
plugins/dali-swig/automatic/csharp/Item.cs [deleted file]
plugins/dali-swig/automatic/csharp/ItemContainer.cs [deleted file]
plugins/dali-swig/automatic/csharp/ItemFactory.cs [deleted file]
plugins/dali-swig/automatic/csharp/ItemIdContainer.cs [deleted file]
plugins/dali-swig/automatic/csharp/ItemLayout.cs [deleted file]
plugins/dali-swig/automatic/csharp/ItemRange.cs [deleted file]
plugins/dali-swig/automatic/csharp/ItemView.cs [deleted file]
plugins/dali-swig/automatic/csharp/KeyEvent.cs [deleted file]
plugins/dali-swig/automatic/csharp/KeyEventSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/KeyFrames.cs [deleted file]
plugins/dali-swig/automatic/csharp/KeyInputFocusSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/Layer.cs [deleted file]
plugins/dali-swig/automatic/csharp/LinearConstrainer.cs [deleted file]
plugins/dali-swig/automatic/csharp/LoadingState.cs [deleted file]
plugins/dali-swig/automatic/csharp/LongPressGesture.cs [deleted file]
plugins/dali-swig/automatic/csharp/LongPressGestureDetectedSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/LongPressGestureDetector.cs [deleted file]
plugins/dali-swig/automatic/csharp/Matrix.cs [deleted file]
plugins/dali-swig/automatic/csharp/Matrix3.cs [deleted file]
plugins/dali-swig/automatic/csharp/MeshVisualShadingModeValue.cs [deleted file]
plugins/dali-swig/automatic/csharp/Meta.cs [deleted file]
plugins/dali-swig/automatic/csharp/Model3dView.cs [deleted file]
plugins/dali-swig/automatic/csharp/NDalic.cs [deleted file]
plugins/dali-swig/automatic/csharp/NDalicPINVOKE.cs [deleted file]
plugins/dali-swig/automatic/csharp/NativeImage.cs [deleted file]
plugins/dali-swig/automatic/csharp/NativeImageInterface.cs [deleted file]
plugins/dali-swig/automatic/csharp/NinePatchImage.cs [deleted file]
plugins/dali-swig/automatic/csharp/ObjectCreatedSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/ObjectDestroyedSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/ObjectRegistry.cs [deleted file]
plugins/dali-swig/automatic/csharp/PageFactory.cs [deleted file]
plugins/dali-swig/automatic/csharp/PagePanSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/PageTurnLandscapeView.cs [deleted file]
plugins/dali-swig/automatic/csharp/PageTurnPortraitView.cs [deleted file]
plugins/dali-swig/automatic/csharp/PageTurnSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/PageTurnView.cs [deleted file]
plugins/dali-swig/automatic/csharp/PanGesture.cs [deleted file]
plugins/dali-swig/automatic/csharp/PanGestureDetectedSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/PanGestureDetector.cs [deleted file]
plugins/dali-swig/automatic/csharp/Path.cs [deleted file]
plugins/dali-swig/automatic/csharp/PathConstrainer.cs [deleted file]
plugins/dali-swig/automatic/csharp/PinchGesture.cs [deleted file]
plugins/dali-swig/automatic/csharp/PinchGestureDetectedSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/PinchGestureDetector.cs [deleted file]
plugins/dali-swig/automatic/csharp/PixelData.cs [deleted file]
plugins/dali-swig/automatic/csharp/PixelFormat.cs [deleted file]
plugins/dali-swig/automatic/csharp/PointStateType.cs [deleted file]
plugins/dali-swig/automatic/csharp/Popup.cs [deleted file]
plugins/dali-swig/automatic/csharp/PositionInheritanceMode.cs [deleted file]
plugins/dali-swig/automatic/csharp/PrimitiveVisualShapeType.cs [deleted file]
plugins/dali-swig/automatic/csharp/ProgressBar.cs [deleted file]
plugins/dali-swig/automatic/csharp/ProjectionMode.cs [deleted file]
plugins/dali-swig/automatic/csharp/Property.cs [deleted file]
plugins/dali-swig/automatic/csharp/PropertyBuffer.cs [deleted file]
plugins/dali-swig/automatic/csharp/PropertyCondition.cs [deleted file]
plugins/dali-swig/automatic/csharp/PropertyNotification.cs [deleted file]
plugins/dali-swig/automatic/csharp/PropertyNotifySignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/PropertyRanges.cs [deleted file]
plugins/dali-swig/automatic/csharp/PushButton.cs [deleted file]
plugins/dali-swig/automatic/csharp/Quaternion.cs [deleted file]
plugins/dali-swig/automatic/csharp/Radian.cs [deleted file]
plugins/dali-swig/automatic/csharp/RadioButton.cs [deleted file]
plugins/dali-swig/automatic/csharp/RectDouble.cs [deleted file]
plugins/dali-swig/automatic/csharp/RectFloat.cs [deleted file]
plugins/dali-swig/automatic/csharp/RectInteger.cs [deleted file]
plugins/dali-swig/automatic/csharp/RectUnsignedInteger.cs [deleted file]
plugins/dali-swig/automatic/csharp/RefObject.cs [deleted file]
plugins/dali-swig/automatic/csharp/RelayoutContainer.cs [deleted file]
plugins/dali-swig/automatic/csharp/RenderBufferFormat.cs [deleted file]
plugins/dali-swig/automatic/csharp/RenderModeType.cs [deleted file]
plugins/dali-swig/automatic/csharp/RenderTask.cs [deleted file]
plugins/dali-swig/automatic/csharp/RenderTaskList.cs [deleted file]
plugins/dali-swig/automatic/csharp/RenderTaskSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/Renderer.cs [deleted file]
plugins/dali-swig/automatic/csharp/RenderingType.cs [deleted file]
plugins/dali-swig/automatic/csharp/ResizePolicyType.cs [deleted file]
plugins/dali-swig/automatic/csharp/ResourceImage.cs [deleted file]
plugins/dali-swig/automatic/csharp/ResourceImageSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/Ruler.cs [deleted file]
plugins/dali-swig/automatic/csharp/RulerDomain.cs [deleted file]
plugins/dali-swig/automatic/csharp/RulerPtr.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_CallbackBase.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_Configuration__ContextLoss.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_Dali__CallbackBase.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_Dali__Constraint.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_Dali__FunctorDelegate.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_Dali__IntrusivePtrT_Dali__Toolkit__ItemLayout_t.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__ProgressBar_floatF_t.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_Dali__SignalT_void_fboolF_t.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_Dali__Toolkit__ClampState.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_Dali__Toolkit__Internal__Visual__Base.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_FunctorDelegate.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_PropertyInputContainer.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_double.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_f___Dali__BaseHandle.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_f___bool.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_f_float__float.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_f_p_q_const__Dali__Any__AnyContainerBase__void.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_f_r_Dali__Vector2__bool.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_f_r_q_const__Dali__Any__AnyContainerBase__p_Dali__Any__AnyContainerBase.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_f_r_q_const__Dali__Vector3__float.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_float.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_int.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_std__type_info.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_uint8_t.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_unsigned_char.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_unsigned_int.cs [deleted file]
plugins/dali-swig/automatic/csharp/SWIGTYPE_p_unsigned_short.cs [deleted file]
plugins/dali-swig/automatic/csharp/Sampler.cs [deleted file]
plugins/dali-swig/automatic/csharp/SamplingModeType.cs [deleted file]
plugins/dali-swig/automatic/csharp/ScrollBar.cs [deleted file]
plugins/dali-swig/automatic/csharp/ScrollView.cs [deleted file]
plugins/dali-swig/automatic/csharp/ScrollViewEffect.cs [deleted file]
plugins/dali-swig/automatic/csharp/ScrollViewPagePathEffect.cs [deleted file]
plugins/dali-swig/automatic/csharp/ScrollViewSnapStartedSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/Scrollable.cs [deleted file]
plugins/dali-swig/automatic/csharp/ScrollableSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/Shader.cs [deleted file]
plugins/dali-swig/automatic/csharp/SignalObserver.cs [deleted file]
plugins/dali-swig/automatic/csharp/SizeScalePolicyType.cs [deleted file]
plugins/dali-swig/automatic/csharp/Slider.cs [deleted file]
plugins/dali-swig/automatic/csharp/SliderMarkReachedSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/SliderValueChangedSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/SlotObserver.cs [deleted file]
plugins/dali-swig/automatic/csharp/SnapType.cs [deleted file]
plugins/dali-swig/automatic/csharp/Stage.cs [deleted file]
plugins/dali-swig/automatic/csharp/StageWheelEventSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/StencilFunctionType.cs [deleted file]
plugins/dali-swig/automatic/csharp/StencilOperationType.cs [deleted file]
plugins/dali-swig/automatic/csharp/StringValuePair.cs [deleted file]
plugins/dali-swig/automatic/csharp/StyleChangeType.cs [deleted file]
plugins/dali-swig/automatic/csharp/StyleChangedSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/StyleManager.cs [deleted file]
plugins/dali-swig/automatic/csharp/TableView.cs [deleted file]
plugins/dali-swig/automatic/csharp/TapGesture.cs [deleted file]
plugins/dali-swig/automatic/csharp/TapGestureDetectedSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/TapGestureDetector.cs [deleted file]
plugins/dali-swig/automatic/csharp/TextEditor.cs [deleted file]
plugins/dali-swig/automatic/csharp/TextEditorSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/TextField.cs [deleted file]
plugins/dali-swig/automatic/csharp/TextFieldSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/TextLabel.cs [deleted file]
plugins/dali-swig/automatic/csharp/Texture.cs [deleted file]
plugins/dali-swig/automatic/csharp/TextureSet.cs [deleted file]
plugins/dali-swig/automatic/csharp/TextureType.cs [deleted file]
plugins/dali-swig/automatic/csharp/TimePeriod.cs [deleted file]
plugins/dali-swig/automatic/csharp/Timer.cs [deleted file]
plugins/dali-swig/automatic/csharp/TimerSignalType.cs [deleted file]
plugins/dali-swig/automatic/csharp/ToolkitPropertyRange.cs [deleted file]
plugins/dali-swig/automatic/csharp/TouchData.cs [deleted file]
plugins/dali-swig/automatic/csharp/TouchEvent.cs [deleted file]
plugins/dali-swig/automatic/csharp/TouchEventSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/TouchPoint.cs [deleted file]
plugins/dali-swig/automatic/csharp/TouchPointContainer.cs [deleted file]
plugins/dali-swig/automatic/csharp/TouchSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/TypeInfo.cs [deleted file]
plugins/dali-swig/automatic/csharp/Uint16Pair.cs [deleted file]
plugins/dali-swig/automatic/csharp/Vector2.cs [deleted file]
plugins/dali-swig/automatic/csharp/Vector3.cs [deleted file]
plugins/dali-swig/automatic/csharp/Vector4.cs [deleted file]
plugins/dali-swig/automatic/csharp/VectorBase.cs [deleted file]
plugins/dali-swig/automatic/csharp/VectorFloat.cs [deleted file]
plugins/dali-swig/automatic/csharp/VectorInteger.cs [deleted file]
plugins/dali-swig/automatic/csharp/VectorUint16Pair.cs [deleted file]
plugins/dali-swig/automatic/csharp/VectorUnsignedChar.cs [deleted file]
plugins/dali-swig/automatic/csharp/VerticalAlignmentType.cs [deleted file]
plugins/dali-swig/automatic/csharp/VideoView.cs [deleted file]
plugins/dali-swig/automatic/csharp/VideoViewSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/View.cs [deleted file]
plugins/dali-swig/automatic/csharp/ViewImpl.cs [deleted file]
plugins/dali-swig/automatic/csharp/ViewMode.cs [deleted file]
plugins/dali-swig/automatic/csharp/VisualBase.cs [deleted file]
plugins/dali-swig/automatic/csharp/VisualFactory.cs [deleted file]
plugins/dali-swig/automatic/csharp/VisualType.cs [deleted file]
plugins/dali-swig/automatic/csharp/VoidSignal.cs [deleted file]
plugins/dali-swig/automatic/csharp/WheelEvent.cs [deleted file]
plugins/dali-swig/automatic/csharp/Window.cs [deleted file]
plugins/dali-swig/automatic/csharp/WrapModeType.cs [deleted file]
plugins/dali-swig/automatic/csharp/doublep.cs [deleted file]
plugins/dali-swig/automatic/csharp/floatp.cs [deleted file]
plugins/dali-swig/automatic/csharp/intp.cs [deleted file]
plugins/dali-swig/automatic/csharp/uintp.cs [deleted file]
plugins/dali-swig/automatic/csharp/ushortp.cs [deleted file]
plugins/dali-swig/manual/cpp/callbackbase_wrap.cpp [new file with mode: 0644]
plugins/dali-swig/manual/csharp/DisposeQueue.cs [new file with mode: 0644]
plugins/dali-swig/manual/csharp/KeyboardFocusManager.cs
plugins/dali-swig/manual/csharp/KeyboardPreFocusChangeSignal.cs
plugins/dali-swig/manual/csharp/ManualPINVOKE.cs

index 6fcc10d..ae4132b 100644 (file)
@@ -19,6 +19,8 @@
 
 #include <dali-toolkit/dali-toolkit.h>
 #include <dali-toolkit/devel-api/visual-factory/visual-factory.h>
+#include <dali-toolkit/devel-api/visual-factory/devel-visual-properties.h>
+#include <dali-toolkit/devel-api/align-enums.h>
 
 namespace Dali
 {
@@ -88,11 +90,23 @@ DummyControlImpl::~DummyControlImpl()
 void DummyControlImpl::RegisterVisual( Property::Index index, Toolkit::Visual::Base visual )
 {
   Control::RegisterVisual( index, visual );
+
+  VisualIndices::iterator iter = std::find( mRegisteredVisualIndices.begin(), mRegisteredVisualIndices.end(), index );
+  if( iter == mRegisteredVisualIndices.end() )
+  {
+    mRegisteredVisualIndices.push_back(index);
+  }
 }
 
 void DummyControlImpl::RegisterVisual( Property::Index index, Toolkit::Visual::Base visual, bool enabled )
 {
   Control::RegisterVisual( index, visual, enabled );
+
+  VisualIndices::iterator iter = std::find( mRegisteredVisualIndices.begin(), mRegisteredVisualIndices.end(), index );
+  if( iter == mRegisteredVisualIndices.end() )
+  {
+    mRegisteredVisualIndices.push_back(index);
+  }
 }
 
 void DummyControlImpl::UnregisterVisual( Property::Index index )
@@ -115,6 +129,7 @@ bool DummyControlImpl::IsVisualEnabled( Property::Index index )
   return Control::IsVisualEnabled( index );
 }
 
+
 Animation DummyControlImpl::CreateTransition( const Toolkit::TransitionData& transition )
 {
   return Control::CreateTransition( transition );
@@ -189,6 +204,24 @@ bool DummyControlImplOverride::OnKeyEvent(const KeyEvent& event) { keyEventCalle
 void DummyControlImplOverride::OnKeyInputFocusGained() { keyInputFocusGained = true; }
 void DummyControlImplOverride::OnKeyInputFocusLost() { keyInputFocusLost = true; }
 
+void DummyControlImplOverride::OnRelayout( const Vector2& size, RelayoutContainer& container )
+{
+  Property::Map transformMap;
+  transformMap
+    .Add( Toolkit::VisualProperty::Transform::Property::OFFSET, Vector2(0.0f, 0.0f) )
+    .Add( Toolkit::VisualProperty::Transform::Property::SIZE, Vector2(1.0f, 1.0f) )
+    .Add( Toolkit::VisualProperty::Transform::Property::ORIGIN, Toolkit::Align::CENTER )
+    .Add( Toolkit::VisualProperty::Transform::Property::ANCHOR_POINT, Toolkit::Align::CENTER )
+    .Add( Toolkit::VisualProperty::Transform::Property::OFFSET_SIZE_MODE, Vector4::ZERO );
+
+  for( VisualIndices::iterator iter = mRegisteredVisualIndices.begin(); iter != mRegisteredVisualIndices.end() ; ++iter )
+  {
+    Visual::Base visual = GetVisual(*iter);
+    visual.SetTransformAndSize( transformMap, size );
+  }
+}
+
+
 DummyControl DummyControl::New( bool override )
 {
   DummyControl control;
index 04847d1..95b4126 100644 (file)
@@ -84,6 +84,8 @@ public:
   void CustomSlot1( Actor actor );
 
   bool mCustomSlot1Called;
+  typedef std::vector<Property::Index> VisualIndices;
+  VisualIndices mRegisteredVisualIndices;
 
 protected:
 
@@ -135,6 +137,7 @@ private: // From CustomActorImpl
   virtual bool OnKeyEvent(const KeyEvent& event);
   virtual void OnKeyInputFocusGained();
   virtual void OnKeyInputFocusLost();
+  virtual void OnRelayout( const Vector2& size, RelayoutContainer& container );
 
 public:
 
index 332ddaa..76b391b 100644 (file)
@@ -329,8 +329,9 @@ void Usage(const char* program)
   printf("Usage: \n"
          "   %s <testcase name>\t\t Execute a test case\n"
          "   %s \t\t Execute all test cases in parallel\n"
-         "   %s -r\t\t Execute all test cases in parallel, rerunning failed test cases\n",
-         program, program, program);
+         "   %s -r\t\t Execute all test cases in parallel, rerunning failed test cases\n"
+         "   %s -s\t\t Execute all test cases serially\n",
+         program, program, program, program);
 }
 
 } // namespace
index f77cdde..b809b87 100644 (file)
 #include <cstddef>
 #include <semaphore.h>
 #include <math.h>
+#include <ctime>
 #include <climits>
+#include <cstdio>
+#include <unistd.h>
 
 namespace Dali
 {
@@ -63,14 +66,18 @@ void EventThreadCallback::Trigger()
   }
 }
 
-void EventThreadCallback::WaitingForTrigger(unsigned int count)
+bool EventThreadCallback::WaitingForTrigger(unsigned int count, unsigned int seconds)
 {
   if(  mImpl->triggeredCount >= count )
   {
-    return;
+    return true;
   }
+  struct timespec now;
+  clock_gettime( CLOCK_REALTIME, &now );
+  now.tv_sec += seconds;
   mImpl->expectedCount = count;
-  sem_wait( &(mImpl->mySemaphore) );
+  int error = sem_timedwait( &(mImpl->mySemaphore), &now );
+  return error != 0;
 }
 
 CallbackBase* EventThreadCallback::GetCallback()
@@ -84,3 +91,46 @@ EventThreadCallback* EventThreadCallback::Get()
 }
 
 }
+
+namespace Test
+{
+
+bool WaitForEventThreadTrigger( int triggerCount )
+{
+  bool success = true;
+  const int TEST_TIMEOUT(30);
+
+  struct timespec startTime;
+  struct timespec now;
+  clock_gettime( CLOCK_REALTIME, &startTime );
+  now.tv_sec = startTime.tv_sec;
+  now.tv_nsec = startTime.tv_nsec;
+
+  Dali::EventThreadCallback* eventTrigger = NULL;
+  while( eventTrigger == NULL )
+  {
+    eventTrigger = Dali::EventThreadCallback::Get();
+    clock_gettime( CLOCK_REALTIME, &now );
+    if( now.tv_sec - startTime.tv_sec > TEST_TIMEOUT )
+    {
+      success = false;
+      break;
+    }
+    usleep(10);
+  }
+  if( eventTrigger != NULL )
+  {
+    Dali::CallbackBase* callback = eventTrigger->GetCallback();
+    eventTrigger->WaitingForTrigger( triggerCount, TEST_TIMEOUT - (now.tv_sec - startTime.tv_sec) );
+    Dali::CallbackBase::Execute( *callback );
+  }
+
+  clock_gettime( CLOCK_REALTIME, &now );
+  if( now.tv_sec > startTime.tv_sec + 1 )
+  {
+    fprintf(stderr, "WaitForEventThreadTrigger took %ld seconds\n", now.tv_sec - startTime.tv_sec );
+  }
+  return success;
+}
+
+}
index d67ca24..a0303be 100644 (file)
@@ -36,7 +36,7 @@ public:
 
   void Trigger();
 
-  void WaitingForTrigger(unsigned int count);
+  bool WaitingForTrigger(unsigned int count, unsigned int seconds );
 
   CallbackBase* GetCallback();
 
@@ -58,4 +58,19 @@ private:
 
 }
 
+namespace Test
+{
+
+/**
+ * Wait for the tested code to create an event trigger, then
+ * wait for triggerCount Trigger calls to occur, and execute the trigger
+ * callback afterwards.
+ *
+ * Will wait for a maximum of 30s before failing the test and returning.
+ */
+bool WaitForEventThreadTrigger( int triggerCount );
+
+}
+
+
 #endif /* __DALI_TOOLKIT_EVENT_THREAD_CALLBACK_H__ */
index 74dcc73..6e99e48 100644 (file)
@@ -174,12 +174,7 @@ int UtcDaliAsyncImageLoaderLoadAndLoadedSignal(void)
   uint32_t id02 = loader.Load( gImage_50_RGBA, ImageDimensions( 25, 25 ) );
   uint32_t id03 = loader.Load( gImage_128_RGB, ImageDimensions( 100, 100 ), FittingMode::SCALE_TO_FILL, SamplingMode::BOX_THEN_LINEAR, true );
 
-  EventThreadCallback* eventTrigger = EventThreadCallback::Get();
-  CallbackBase* callback = eventTrigger->GetCallback();
-
-  eventTrigger->WaitingForTrigger( 3 );// waiting until all three images are loaded
-
-  CallbackBase::Execute( *callback );
+  DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 3 ), true, TEST_LOCATION );
 
   application.SendNotification();
   application.Render();
@@ -205,12 +200,7 @@ int UtcDaliAsyncImageLoaderCancel(void)
   uint32_t id02 = loader.Load( gImage_50_RGBA, ImageDimensions( 25, 25 ) );
   uint32_t id03 = loader.Load( gImage_128_RGB, ImageDimensions( 100, 100 ), FittingMode::SCALE_TO_FILL, SamplingMode::BOX_THEN_LINEAR, true );
 
-  EventThreadCallback* eventTrigger = EventThreadCallback::Get();
-  CallbackBase* callback = eventTrigger->GetCallback();
-
-  eventTrigger->WaitingForTrigger( 3 ); // waiting until images are loaded
-
-  CallbackBase::Execute( *callback );
+  DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 3 ), true, TEST_LOCATION );
 
   application.SendNotification();
   application.Render();
@@ -248,4 +238,3 @@ int UtcDaliAsyncImageLoaderCancelAll(void)
 
   END_TEST;
 }
-
index 5fe744f..0bee5e5 100644 (file)
@@ -207,12 +207,7 @@ int UtcDaliImageAtlasUploadP(void)
   Vector4 textureRect3;
   atlas.Upload( textureRect3, gImage_128_RGB, ImageDimensions(128, 128) );
 
-  EventThreadCallback* eventTrigger = EventThreadCallback::Get();
-  CallbackBase* callback = eventTrigger->GetCallback();
-
-  eventTrigger->WaitingForTrigger( 3 );// waiting until all three images are loaded
-
-  CallbackBase::Execute( *callback );
+  DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 3 ), true, TEST_LOCATION );
 
   application.SendNotification();
   application.Render(RENDER_FRAME_INTERVAL);
@@ -262,8 +257,6 @@ int UtcDaliImageAtlasUploadWithObserver01(void)
   TestApplication application;
   ImageAtlas atlas = ImageAtlas::New( 200, 200 );
 
-  EventThreadCallback* eventTrigger = EventThreadCallback::Get();
-  CallbackBase* callback = eventTrigger->GetCallback();
 
   gCountOfTestFuncCall = 0;
   TestUploadObserver uploadObserver;
@@ -276,8 +269,7 @@ int UtcDaliImageAtlasUploadWithObserver01(void)
   atlas.Upload( textureRect3, gImage_128_RGB, ImageDimensions(128, 128), FittingMode::DEFAULT, true, &uploadObserver );
 
   // waiting until all three images are loaded and uploaded to atlas
-  eventTrigger->WaitingForTrigger( 3 );
-  CallbackBase::Execute( *callback );
+  DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 3 ), true, TEST_LOCATION );
   application.SendNotification();
   application.Render(RENDER_FRAME_INTERVAL);
 
@@ -292,9 +284,6 @@ int UtcDaliImageAtlasUploadWithObserver02(void)
   TestApplication application;
   ImageAtlas atlas = ImageAtlas::New( 200, 200 );
 
-  EventThreadCallback* eventTrigger = EventThreadCallback::Get();
-  CallbackBase* callback = eventTrigger->GetCallback();
-
   gCountOfTestFuncCall = 0;
   TestUploadObserver* uploadObserver = new TestUploadObserver;
 
@@ -309,8 +298,8 @@ int UtcDaliImageAtlasUploadWithObserver02(void)
   delete uploadObserver;
 
  // waiting until all three images are loaded and uploaded to atlas
-  eventTrigger->WaitingForTrigger( 3 );
-  CallbackBase::Execute( *callback );
+  DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 3 ), true, TEST_LOCATION );
+
   application.Render(RENDER_FRAME_INTERVAL);
   application.SendNotification();
 
@@ -382,20 +371,19 @@ int UtcDaliImageAtlasImageView(void)
 
   ImageView imageView1 = ImageView::New( gImage_34_RGBA, ImageDimensions(34, 34) );
   ImageView imageView2 = ImageView::New( gImage_50_RGBA, ImageDimensions(50, 50) );
-  Stage::GetCurrent().Add( imageView1 );
-  Stage::GetCurrent().Add( imageView2 );
 
-  EventThreadCallback* eventTrigger = EventThreadCallback::Get();
-  while( eventTrigger == NULL) // waiting uintil the ImageAtlas is created by ImageAtlasManager
-  {
-    usleep(10);
-    eventTrigger = EventThreadCallback::Get();
-  }
-  CallbackBase* callback = eventTrigger->GetCallback();
+  // ImageView doesn't do size negotiation properly: it only listens to OnSizeSet:
+  imageView1.SetSize( 100, 100 );
+  imageView2.SetSize( 100, 100 );
+  imageView1.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS );
+  imageView2.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS );
 
-  eventTrigger->WaitingForTrigger( 2 );// waiting until both images are loaded
+  application.GetPlatform().SetClosestImageSize(  Vector2(34, 34) );
+  Stage::GetCurrent().Add( imageView1 );
+  application.GetPlatform().SetClosestImageSize(  Vector2(50, 50) );
+  Stage::GetCurrent().Add( imageView2 );
 
-  CallbackBase::Execute( *callback );
+  DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 2 ), true, TEST_LOCATION );
 
   application.SendNotification();
   application.Render(RENDER_FRAME_INTERVAL);
@@ -426,10 +414,10 @@ int UtcDaliImageAtlasImageView(void)
   application.SendNotification();
   application.Render(RENDER_FRAME_INTERVAL);
   ImageView imageView3 = ImageView::New( gImage_128_RGB, ImageDimensions(100, 100) );
+  application.GetPlatform().SetClosestImageSize(  Vector2(100, 100) );
   Stage::GetCurrent().Add( imageView3 );
 
-  eventTrigger->WaitingForTrigger( 3 ); // waiting for the third image loaded
-  CallbackBase::Execute( *callback );
+  DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 3 ), true, TEST_LOCATION );
 
   application.SendNotification();
   application.Render(RENDER_FRAME_INTERVAL);
index 12c3f17..420578b 100644 (file)
@@ -393,6 +393,7 @@ int UtcDaliImageViewAsyncLoadingWithAltasing(void)
   callStack.Reset();
   callStack.Enable(true);
 
+  application.GetPlatform().SetClosestImageSize(Vector2(34, 34));
   BitmapLoader::ResetLatestCreated();
   ImageView imageView = ImageView::New( gImage_34_RGBA, ImageDimensions( 34, 34 ) );
 
@@ -411,16 +412,10 @@ int UtcDaliImageViewAsyncLoadingWithAltasing(void)
   loader = BitmapLoader::GetLatestCreated();
   DALI_TEST_CHECK( loader );
 
-  // worker thread is created
-  EventThreadCallback* eventTrigger = EventThreadCallback::Get();
-  DALI_TEST_CHECK( eventTrigger );
-
   loader.WaitForLoading();// waiting until the image to be loaded
   DALI_TEST_CHECK( loader.IsLoaded() );
 
-  eventTrigger->WaitingForTrigger( 1 );
-  CallbackBase* callback = eventTrigger->GetCallback();
-  CallbackBase::Execute( *callback );
+  DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 1 ), true, TEST_LOCATION );
 
   application.SendNotification();
   application.Render(16);
index 95a6eb5..6ef6e9e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -175,8 +175,19 @@ public:
   Actor mActivatedActor;
 };
 
-} // namespace
+// Used to connect to signals via the ConnectSignal Handle method
+struct CallbackFunctor
+{
+  CallbackFunctor()
+  {
+  }
 
+  void operator()()
+  {
+  }
+};
+
+} // namespace
 
 int UtcDaliKeyboardFocusManagerGet(void)
 {
@@ -668,3 +679,19 @@ int UtcDaliKeyboardFocusManagerSignalFocusGroupChanged(void)
   focusGroupChangedCallback.Reset();
   END_TEST;
 }
+
+int UtcDaliKeyboardFocusManagerSignals(void)
+{
+  ToolkitTestApplication application;
+
+  KeyboardFocusManager manager = KeyboardFocusManager::Get();
+  DALI_TEST_CHECK( manager );
+
+  ConnectionTracker* testTracker = new ConnectionTracker();
+  DALI_TEST_EQUALS( true, manager.ConnectSignal( testTracker, "keyboardPreFocusChange", CallbackFunctor() ), TEST_LOCATION );
+  DALI_TEST_EQUALS( true, manager.ConnectSignal( testTracker, "keyboardFocusChanged", CallbackFunctor() ), TEST_LOCATION );
+  DALI_TEST_EQUALS( true, manager.ConnectSignal( testTracker, "keyboardFocusGroupChanged", CallbackFunctor() ), TEST_LOCATION );
+  DALI_TEST_EQUALS( true, manager.ConnectSignal( testTracker, "keyboardFocusedActorEnterKey", CallbackFunctor() ), TEST_LOCATION );
+
+  END_TEST;
+}
index c0bb0b1..814af17 100644 (file)
@@ -42,6 +42,18 @@ const char* TEST_RESOURCE_LOCATION = TEST_RESOURCE_DIR "/";
 
 const std::string DEFAULT_FONT_DIR( "/resources/fonts" );
 
+Property::Map DefaultTransform()
+{
+  Property::Map transformMap;
+  transformMap
+    .Add( Toolkit::VisualProperty::Transform::Property::OFFSET, Vector2(0.0f, 0.0f) )
+    .Add( Toolkit::VisualProperty::Transform::Property::SIZE, Vector2(1.0f, 1.0f) )
+    .Add( Toolkit::VisualProperty::Transform::Property::ORIGIN, Toolkit::Align::CENTER )
+    .Add( Toolkit::VisualProperty::Transform::Property::ANCHOR_POINT, Toolkit::Align::CENTER )
+    .Add( Toolkit::VisualProperty::Transform::Property::OFFSET_SIZE_MODE, Vector4::ZERO );
+  return transformMap;
+}
+
 bool DaliTestCheckMaps( const Property::Map& fontStyleMapGet, const Property::Map& fontStyleMapSet )
 {
   if( fontStyleMapGet.Count() == fontStyleMapSet.Count() )
@@ -173,24 +185,25 @@ int UtcDaliVisualSize(void)
   tet_infoline( "UtcDaliVisualGetNaturalSize" );
 
   VisualFactory factory = VisualFactory::Get();
-  Vector2 visualSize( 20.f, 30.f );
+  Vector2 controlSize( 20.f, 30.f );
   Vector2 naturalSize;
 
   // color colorVisual
   Dali::Property::Map map;
   map[ Visual::Property::TYPE ] = Visual::COLOR;
   map[ ColorVisual::Property::MIX_COLOR ] = Color::MAGENTA;
+
   Visual::Base colorVisual = factory.CreateVisual( map );
-  colorVisual.SetSize( visualSize );
-  DALI_TEST_EQUALS( colorVisual.GetSize(), visualSize, TEST_LOCATION );
+  colorVisual.SetTransformAndSize(DefaultTransform(), controlSize );
+
   colorVisual.GetNaturalSize(naturalSize);
   DALI_TEST_EQUALS( naturalSize, Vector2::ZERO, TEST_LOCATION );
 
   // image visual
   Image image = ResourceImage::New(TEST_IMAGE_FILE_NAME, ImageDimensions(100, 200));
   Visual::Base imageVisual = factory.CreateVisual( image );
-  imageVisual.SetSize( visualSize );
-  DALI_TEST_EQUALS( imageVisual.GetSize(), visualSize, TEST_LOCATION );
+  imageVisual.SetTransformAndSize(DefaultTransform(), controlSize );
+
   imageVisual.GetNaturalSize(naturalSize);
   DALI_TEST_EQUALS( naturalSize, Vector2(100.f, 200.f), TEST_LOCATION );
 
@@ -203,8 +216,7 @@ int UtcDaliVisualSize(void)
   map[ BorderVisual::Property::COLOR  ] = Color::RED;
   map[ BorderVisual::Property::SIZE   ] = borderSize;
   Visual::Base borderVisual = factory.CreateVisual( map );
-  borderVisual.SetSize( visualSize );
-  DALI_TEST_EQUALS( borderVisual.GetSize(), visualSize, TEST_LOCATION );
+  borderVisual.SetTransformAndSize(DefaultTransform(), controlSize );
   borderVisual.GetNaturalSize(naturalSize);
   DALI_TEST_EQUALS( naturalSize, Vector2::ZERO, TEST_LOCATION );
 
@@ -221,15 +233,13 @@ int UtcDaliVisualSize(void)
   stopColors.PushBack( Color::GREEN );
   propertyMap.Insert(GradientVisual::Property::STOP_COLOR,   stopColors);
   Visual::Base gradientVisual = factory.CreateVisual(propertyMap);
-  gradientVisual.SetSize( visualSize );
-  DALI_TEST_EQUALS( gradientVisual.GetSize(), visualSize, TEST_LOCATION );
+  gradientVisual.SetTransformAndSize(DefaultTransform(), controlSize );
   gradientVisual.GetNaturalSize(naturalSize);
   DALI_TEST_EQUALS( naturalSize, Vector2::ZERO,TEST_LOCATION );
 
   // svg visual
   Visual::Base svgVisual = factory.CreateVisual( TEST_SVG_FILE_NAME, ImageDimensions() );
-  svgVisual.SetSize( visualSize );
-  DALI_TEST_EQUALS( svgVisual.GetSize(), visualSize, TEST_LOCATION );
+  svgVisual.SetTransformAndSize(DefaultTransform(), controlSize );
   svgVisual.GetNaturalSize(naturalSize);
   // TEST_SVG_FILE:
   //  <svg width="100" height="100">
@@ -239,7 +249,6 @@ int UtcDaliVisualSize(void)
 
   // svg visual with a size
   Visual::Base svgVisual2 = factory.CreateVisual( TEST_SVG_FILE_NAME, ImageDimensions(200, 200) );
-  DALI_TEST_EQUALS( svgVisual2.GetSize(), Vector2( 200.f, 200.f ), TEST_LOCATION );
   svgVisual2.GetNaturalSize(naturalSize);
   DALI_TEST_EQUALS( naturalSize, Vector2(100.f, 100.f), TEST_LOCATION ); // Natural size should still be 100, 100
 
@@ -252,8 +261,7 @@ int UtcDaliVisualSize(void)
   propertyMap.Insert( ImageVisual::Property::URL, TEST_IMAGE_FILE_NAME );
   propertyMap.Insert( ImageVisual::Property::BATCHING_ENABLED, true );
   Visual::Base batchImageVisual = factory.CreateVisual( propertyMap );
-  batchImageVisual.SetSize( visualSize );
-  DALI_TEST_EQUALS( batchImageVisual.GetSize(), visualSize, TEST_LOCATION );
+  batchImageVisual.SetTransformAndSize(DefaultTransform(), controlSize );
   batchImageVisual.GetNaturalSize( naturalSize );
   DALI_TEST_EQUALS( naturalSize, Vector2( 80.0f, 160.0f ), TEST_LOCATION );
 
@@ -1677,3 +1685,47 @@ int UtcDaliVisualRendererRemovalAndReAddition(void)
 
   END_TEST;
 }
+
+
+
+int UtcDaliVisualTextVisualRender(void)
+{
+  ToolkitTestApplication application;
+  tet_infoline( "UtcDaliVisualTextVisualRender" );
+
+  VisualFactory factory = VisualFactory::Get();
+  Property::Map propertyMap;
+  propertyMap.Insert( Visual::Property::TYPE, Visual::TEXT );
+  propertyMap.Insert( "renderingBackend", static_cast<int>( Toolkit::Text::DEFAULT_RENDERING_BACKEND ) );
+  propertyMap.Insert( "text", "Hello world" );
+  propertyMap.Insert( "fontFamily", "TizenSans" );
+
+  Property::Map fontStyleMapSet;
+  fontStyleMapSet.Insert( "weight", "bold" );
+  propertyMap.Insert( "fontStyle", fontStyleMapSet );
+
+  propertyMap.Insert( "pointSize", 12.f );
+  propertyMap.Insert( "multiLine", true );
+  propertyMap.Insert( "horizontalAlignment", "CENTER" );
+  propertyMap.Insert( "verticalAlignment", "CENTER" );
+  propertyMap.Insert( "textColor", Color::RED );
+  propertyMap.Insert( "enableMarkup", false );
+  propertyMap.Insert( "enableAutoScroll", false );
+  propertyMap.Insert( "lineSpacing", 0.f );
+  propertyMap.Insert( "batchingEnabled", false );
+  Visual::Base textVisual = factory.CreateVisual( propertyMap );
+  textVisual.SetDepthIndex( 1.f );
+
+  DummyControl dummyControl = DummyControl::New(true);
+  DummyControlImpl& dummyImpl = static_cast<DummyControlImpl&>(dummyControl.GetImplementation());
+  dummyImpl.RegisterVisual( Control::CONTROL_PROPERTY_END_INDEX + 1, textVisual );
+  DALI_TEST_EQUALS( dummyControl.GetRendererCount(), 0, TEST_LOCATION );
+
+  dummyControl.SetSize(200.f, 200.f);
+
+  Stage::GetCurrent().Add( dummyControl );
+  application.SendNotification();
+  application.Render();
+
+  END_TEST;
+}
index 7d36ae6..ae8761f 100644 (file)
@@ -23,6 +23,8 @@
 #include <dali/public-api/rendering/texture-set.h>
 #include <dali/public-api/rendering/shader.h>
 #include <dali/devel-api/images/nine-patch-image.h>
+#include <dali-toolkit/devel-api/align-enums.h>
+#include <dali-toolkit/devel-api/visual-factory/devel-visual-properties.h>
 #include <dali-toolkit/devel-api/visual-factory/visual-factory.h>
 #include <dali-toolkit/dali-toolkit.h>
 #include "dummy-control.h"
@@ -47,6 +49,18 @@ static const char* gImage_34_RGBA = TEST_RESOURCE_DIR "/icon-edit.png";
 // resolution: 600*600, pixel format: RGB888
 static const char* gImage_600_RGB = TEST_RESOURCE_DIR "/test-image-600.jpg";
 
+Property::Map DefaultTransform()
+{
+  Property::Map transformMap;
+  transformMap
+    .Add( Toolkit::VisualProperty::Transform::Property::OFFSET, Vector2(0.0f, 0.0f) )
+    .Add( Toolkit::VisualProperty::Transform::Property::SIZE, Vector2(1.0f, 1.0f) )
+    .Add( Toolkit::VisualProperty::Transform::Property::ORIGIN, Toolkit::Align::CENTER )
+    .Add( Toolkit::VisualProperty::Transform::Property::ANCHOR_POINT, Toolkit::Align::CENTER )
+    .Add( Toolkit::VisualProperty::Transform::Property::OFFSET_SIZE_MODE, Vector4::ZERO );
+  return transformMap;
+}
+
 Integration::Bitmap* CreateBitmap( unsigned int imageWidth, unsigned int imageHeight, unsigned int initialColor, Pixel::Format pixelFormat )
 {
   Integration::Bitmap* bitmap = Integration::Bitmap::New( Integration::Bitmap::BITMAP_2D_PACKED_PIXELS, ResourcePolicy::OWNED_RETAIN );
@@ -372,7 +386,7 @@ int UtcDaliVisualFactoryGetBorderVisual1(void)
   dummyImpl.RegisterVisual( Control::CONTROL_PROPERTY_END_INDEX + 1, visual );
   actor.SetSize(200.f, 200.f);
   Stage::GetCurrent().Add( actor );
-  visual.SetSize(Vector2(200.f, 200.f));
+  visual.SetTransformAndSize(DefaultTransform(), Vector2(200.f, 200.f));
 
   DALI_TEST_CHECK( actor.GetRendererCount() == 1u );
   int blendMode = actor.GetRendererAt(0u).GetProperty<int>( Renderer::Property::BLEND_MODE );
@@ -420,7 +434,7 @@ int UtcDaliVisualFactoryGetBorderVisual2(void)
   dummyImpl.RegisterVisual( Control::CONTROL_PROPERTY_END_INDEX + 1, visual );
   actor.SetSize(200.f, 200.f);
   Stage::GetCurrent().Add( actor );
-  visual.SetSize(Vector2(200.f, 200.f));
+  visual.SetTransformAndSize(DefaultTransform(), Vector2(200.f, 200.f));
 
   DALI_TEST_CHECK( actor.GetRendererCount() == 1u );
 
@@ -971,9 +985,8 @@ int UtcDaliVisualFactoryGetNPatchVisual3(void)
 
   ResourceImage image = ResourceImage::New(TEST_NPATCH_FILE_NAME);
   Visual::Base nPatchVisual = factory.CreateVisual( image );
-  Vector2 visualSize( 20.f, 30.f ), naturalSize(0,0);
-  nPatchVisual.SetSize( visualSize );
-  DALI_TEST_EQUALS( nPatchVisual.GetSize(), visualSize, TEST_LOCATION );
+  Vector2 controlSize( 20.f, 30.f ), naturalSize(0,0);
+  nPatchVisual.SetTransformAndSize(DefaultTransform(), controlSize );
   nPatchVisual.GetNaturalSize( naturalSize );
   DALI_TEST_EQUALS( naturalSize, Vector2( ninePatchImageWidth-2, ninePatchImageHeight-2 ), TEST_LOCATION );
 
@@ -1124,7 +1137,7 @@ int UtcDaliVisualFactoryGetSvgVisual(void)
   dummyImpl.RegisterVisual( Control::CONTROL_PROPERTY_END_INDEX + 1, visual );
   actor.SetSize( 200.f, 200.f );
   Stage::GetCurrent().Add( actor );
-  visual.SetSize( Vector2(200.f, 200.f) );
+  visual.SetTransformAndSize(DefaultTransform(), Vector2(200.f, 200.f) );
 
   application.SendNotification();
   application.Render();
@@ -1132,11 +1145,7 @@ int UtcDaliVisualFactoryGetSvgVisual(void)
   // renderer is not added to actor until the rasterization is completed.
   DALI_TEST_CHECK( actor.GetRendererCount() == 0u );
 
-  EventThreadCallback* eventTrigger = EventThreadCallback::Get();
-  CallbackBase* callback = eventTrigger->GetCallback();
-
-  eventTrigger->WaitingForTrigger( 1 );// waiting until the svg image is rasterized.
-  CallbackBase::Execute( *callback );
+  DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 1 ), true, TEST_LOCATION );
 
   // renderer is added to actor
   DALI_TEST_CHECK( actor.GetRendererCount() == 1u );
@@ -1163,8 +1172,9 @@ int UtcDaliVisualFactoryGetSvgVisualLarge(void)
   TraceCallStack& textureTrace = gl.GetTextureTrace();
   textureTrace.Enable(true);
 
-  DummyControl actor = DummyControl::New();
+  DummyControl actor = DummyControl::New(true);
   DummyControlImpl& dummyImpl = static_cast<DummyControlImpl&>(actor.GetImplementation());
+  actor.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS ); // Only rasterizes when it knows control size.
   dummyImpl.RegisterVisual( Control::CONTROL_PROPERTY_END_INDEX + 1, visual );
   Stage::GetCurrent().Add( actor );
 
@@ -1174,11 +1184,7 @@ int UtcDaliVisualFactoryGetSvgVisualLarge(void)
   // renderer is not added to actor until the rasterization is completed.
   DALI_TEST_CHECK( actor.GetRendererCount() == 0u );
 
-  EventThreadCallback* eventTrigger = EventThreadCallback::Get();
-  CallbackBase* callback = eventTrigger->GetCallback();
-
-  eventTrigger->WaitingForTrigger( 1 );// waiting until the svg image is rasterized.
-  CallbackBase::Execute( *callback );
+  DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 1 ), true, TEST_LOCATION );
 
   // renderer is added to actor
   DALI_TEST_CHECK( actor.GetRendererCount() == 1u );
@@ -1209,7 +1215,7 @@ void MeshVisualLoadsCorrectlyTest( Property::Map& propertyMap, ToolkitTestApplic
   dummyImpl.RegisterVisual( Control::CONTROL_PROPERTY_END_INDEX + 1, visual );
   actor.SetSize( 200.f, 200.f );
   Stage::GetCurrent().Add( actor );
-  visual.SetSize( Vector2( 200.f, 200.f ) );
+  visual.SetTransformAndSize(DefaultTransform(), Vector2( 200.f, 200.f ) );
 
   //Ensure set on stage.
   DALI_TEST_EQUALS( actor.GetRendererCount(), 1u, TEST_LOCATION );
@@ -1256,7 +1262,7 @@ void MeshVisualDoesNotLoadCorrectlyTest( Property::Map& propertyMap, ToolkitTest
   dummyImpl.RegisterVisual( Control::CONTROL_PROPERTY_END_INDEX + 1, visual );
   actor.SetSize( 200.f, 200.f );
   Stage::GetCurrent().Add( actor );
-  visual.SetSize( Vector2( 200.f, 200.f ) );
+  visual.SetTransformAndSize(DefaultTransform(),  Vector2( 200.f, 200.f ) );
 
   //Ensure set on stage.
   DALI_TEST_EQUALS( actor.GetRendererCount(), 1u, TEST_LOCATION );
@@ -1538,7 +1544,7 @@ void TestPrimitiveVisualWithProperties( Property::Map& propertyMap, ToolkitTestA
 
   actor.SetSize( 200.f, 200.f );
   Stage::GetCurrent().Add( actor );
-  visual.SetSize( Vector2( 200.f, 200.f ) );
+  visual.SetTransformAndSize(DefaultTransform(),  Vector2( 200.f, 200.f ) );
 
   //Ensure set on stage.
   DALI_TEST_EQUALS( actor.GetRendererCount(), 1u, TEST_LOCATION );
@@ -1959,7 +1965,7 @@ int UtcDaliVisualFactoryGetBatchImageVisual1(void)
 
   actor.SetSize( 200.0f, 200.0f );
   Stage::GetCurrent().Add( actor );
-  visual.SetSize( Vector2( 200.0f, 200.0f ) );
+  visual.SetTransformAndSize(DefaultTransform(),  Vector2( 200.0f, 200.0f ) );
 
   // Test SetOnStage().
   DALI_TEST_CHECK( actor.GetRendererCount() == 1u );
@@ -2008,7 +2014,7 @@ int UtcDaliVisualFactoryGetBatchImageVisual2(void)
 
   actor.SetSize( 200.0f, 200.0f );
   Stage::GetCurrent().Add( actor );
-  visual.SetSize( Vector2( 200.0f, 200.0f ) );
+  visual.SetTransformAndSize(DefaultTransform(),  Vector2( 200.0f, 200.0f ) );
 
   // Test SetOnStage().
   DALI_TEST_CHECK( actor.GetRendererCount() == 1u );
index 8aa499a..0e32717 100755 (executable)
@@ -18,13 +18,14 @@ BUILT_SOURCES = \
           $(dali_swig_dir)/automatic/cpp/dali_wrap.cpp \
           $(dali_swig_dir)/automatic/cpp/dali_wrap.h \
           $(dali_swig_dir)/manual/cpp/keyboard_focus_manager_wrap.cpp \
-          $(dali_swig_dir)/manual/cpp/view-wrapper-impl-wrap.cpp
+          $(dali_swig_dir)/manual/cpp/view-wrapper-impl-wrap.cpp \
+          $(dali_swig_dir)/manual/cpp/callbackbase_wrap.cpp
 
 all-local:
 gbs-local: libNDalic.so NDali.dll
 
-libNDalic.so: $(dali_swig_dir)/automatic/cpp/dali_wrap.o $(dali_swig_dir)/manual/cpp/keyboard_focus_manager_wrap.o $(dali_swig_dir)/manual/cpp/view-wrapper-impl-wrap.o
-       $(CXX) -shared $(dali_swig_dir)/automatic/cpp/dali_wrap.o $(dali_swig_dir)/manual/cpp/keyboard_focus_manager_wrap.o $(dali_swig_dir)/manual/cpp/view-wrapper-impl-wrap.o -o $(dali_swig_dir)/libNDalic.so $(DALICORE_LIBS) $(DALIADAPTOR_LIBS) $(DALITOOLKIT_LIBS)
+libNDalic.so: $(dali_swig_dir)/automatic/cpp/dali_wrap.o $(dali_swig_dir)/manual/cpp/keyboard_focus_manager_wrap.o $(dali_swig_dir)/manual/cpp/view-wrapper-impl-wrap.o $(dali_swig_dir)/manual/cpp/callbackbase_wrap.o
+       $(CXX) -shared $(dali_swig_dir)/automatic/cpp/dali_wrap.o $(dali_swig_dir)/manual/cpp/keyboard_focus_manager_wrap.o $(dali_swig_dir)/manual/cpp/view-wrapper-impl-wrap.o $(dali_swig_dir)/manual/cpp/callbackbase_wrap.o -o $(dali_swig_dir)/libNDalic.so $(DALICORE_LIBS) $(DALIADAPTOR_LIBS) $(DALITOOLKIT_LIBS)
 
 $(dali_swig_dir)/automatic/cpp/dali_wrap.o: $(BUILT_SOURCES)
        $(CXX) -c -fpic $(CXXFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) $(dali_swig_dir)/automatic/cpp/dali_wrap.cpp -o $(dali_swig_dir)/automatic/cpp/dali_wrap.o
@@ -35,6 +36,9 @@ $(dali_swig_dir)/manual/cpp/keyboard_focus_manager_wrap.o: $(BUILT_SOURCES)
 $(dali_swig_dir)/manual/cpp/view-wrapper-impl-wrap.o: $(BUILT_SOURCES)
        $(CXX) -c -fpic $(CXXFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) $(dali_swig_dir)/manual/cpp/view-wrapper-impl-wrap.cpp -o $(dali_swig_dir)/manual/cpp/view-wrapper-impl-wrap.o
 
+$(dali_swig_dir)/manual/cpp/callbackbase_wrap.cpp.o: $(BUILT_SOURCES)
+       $(CXX) -c -fpic $(CXXFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) $(dali_swig_dir)/manual/cpp/callbackbase_wrap.cpp -o $(dali_swig_dir)/manual/cpp/callbackbase_wrap.o
+
 NDali.dll: $(BUILT_SOURCES)
 #      mcs -nologo -target:library -out:$(dali_swig_dir)/NDali.dll $(dali_swig_dir)/automatic/csharp/*.cs $(dali_swig_dir)/manual/csharp/*.cs
 
index c5b822d..790a3e7 100644 (file)
@@ -61,14 +61,9 @@ const std::string& Visual::Base::GetName()
   return GetImplementation( *this ).GetName();
 }
 
-void Visual::Base::SetSize( const Vector2& size )
+void Visual::Base::SetTransformAndSize( const Property::Map& transform, Size controlSize )
 {
-  GetImplementation( *this ).SetSize( size );
-}
-
-const Vector2& Visual::Base::GetSize() const
-{
-  return GetImplementation( *this ).GetSize();
+  GetImplementation( *this ).SetTransformAndSize( transform, controlSize );
 }
 
 float Visual::Base::GetHeightForWidth( float width ) const
index 7cfadbf..8b0f576 100644 (file)
@@ -128,18 +128,12 @@ public:
   const std::string& GetName();
 
   /**
-   * @brief Set the size of the painting area.
+   * @brief Sets the transform and the control size
    *
-   * @param[in] size The size of the painting area.
+   * @param[in] transform A property map describing the transform
+   * @param[in] controlSize The size of the parent control for visuals that need to scale internally.
    */
-  void SetSize( const Vector2& size );
-
-  /**
-   * @brief Get the size of the painting area.
-   *
-   * @return The size of the visual's painting area.
-   */
-  const Vector2& GetSize() const;
+  void SetTransformAndSize( const Dali::Property::Map& transform, Size controlSize );
 
   /**
    * @brief Returns the height for a given width.
@@ -153,7 +147,11 @@ public:
   /**
    * @brief Return the natural size of the visual.
    *
-   * Deriving classes stipulate the natural size and by default a visual has a ZERO natural size.
+   * Deriving classes stipulate the natural size and by default a
+   * visual has a ZERO natural size.
+   *
+   * @note A visual may not actually have a natural size until it has
+   * been placed on stage and acquired all it's resources.
    *
    * @param[out] naturalSize The visual's natural size
    */
index 3c19992..f19f390 100644 (file)
@@ -15,6 +15,7 @@
 #include <dali-toolkit/devel-api/visual-factory/visual-factory.h>
 #include <dali-toolkit/internal/visuals/visual-string-constants.h>
 #include <dali-toolkit/internal/visuals/visual-base-impl.h>
+#include <dali-toolkit/internal/visuals/visual-base-data-impl.h>
 
 namespace Dali
 {
@@ -42,6 +43,19 @@ DALI_PROPERTY_REGISTRATION( Toolkit, ImageView, "preMultipliedAlpha", BOOLEAN, P
 DALI_ANIMATABLE_PROPERTY_REGISTRATION_WITH_DEFAULT( Toolkit, ImageView, "pixelArea", Vector4(0.f, 0.f, 1.f, 1.f), PIXEL_AREA )
 DALI_TYPE_REGISTRATION_END()
 
+
+void SetDefaultTransformMap( Property::Map& transformMap )
+{
+  transformMap.Clear();
+  transformMap
+    .Add( Toolkit::Visual::DevelProperty::Transform::Property::OFFSET, Vector2(0.0f, 0.0f) )
+    .Add( Toolkit::Visual::DevelProperty::Transform::Property::SIZE, Vector2(1.0f, 1.0f) )
+    .Add( Toolkit::Visual::DevelProperty::Transform::Property::ORIGIN, Toolkit::Align::CENTER )
+    .Add( Toolkit::Visual::DevelProperty::Transform::Property::ANCHOR_POINT, Toolkit::Align::CENTER )
+    .Add( Toolkit::Visual::DevelProperty::Transform::Property::OFFSET_SIZE_MODE, Vector4::ZERO );
+
+}
+
 } // anonymous namespace
 
 using namespace Dali;
@@ -138,9 +152,13 @@ void ImageView::SetImage( const std::string& url, ImageDimensions size )
     }
 
     mVisual =  Toolkit::VisualFactory::Get().CreateVisual( url, size );
-    RegisterVisual( Toolkit::ImageView::Property::IMAGE, mVisual  );
+    RegisterVisual( Toolkit::ImageView::Property::IMAGE, mVisual );
 
-    mVisual.SetSize( mSizeSet );
+    // This transform fills the control
+    // Should provide a transform that handles aspect ratio according to image size
+    Property::Map transformMap;
+    SetDefaultTransformMap( transformMap );
+    mVisual.SetTransformAndSize( transformMap, mSizeSet );
 
     RelayoutRequest();
   }
@@ -239,7 +257,12 @@ void ImageView::OnSizeSet( const Vector3& targetSize )
   if( mVisual )
   {
     Vector2 size( targetSize );
-    mVisual.SetSize( size );
+
+    // This transform fills the control
+    // Should provide a transform that handles aspect ratio according to image size
+    Property::Map transformMap;
+    SetDefaultTransformMap( transformMap );
+    mVisual.SetTransformAndSize( transformMap, size );
   }
 }
 
index 3f9a81d..54d8afa 100644 (file)
@@ -707,17 +707,17 @@ bool KeyboardFocusManager::DoConnectSignal( BaseObject* object, ConnectionTracke
   Dali::BaseHandle handle( object );
 
   bool connected( true );
-  KeyboardFocusManager* manager = dynamic_cast<KeyboardFocusManager*>( object );
+  KeyboardFocusManager* manager = static_cast< KeyboardFocusManager* >( object ); // TypeRegistry guarantees that this is the correct type.
 
   if( 0 == strcmp( signalName.c_str(), SIGNAL_PRE_FOCUS_CHANGE ) )
   {
     manager->PreFocusChangeSignal().Connect( tracker, functor );
   }
-  if( 0 == strcmp( signalName.c_str(), SIGNAL_FOCUS_CHANGED ) )
+  else if( 0 == strcmp( signalName.c_str(), SIGNAL_FOCUS_CHANGED ) )
   {
     manager->FocusChangedSignal().Connect( tracker, functor );
   }
-  if( 0 == strcmp( signalName.c_str(), SIGNAL_FOCUS_GROUP_CHANGED ) )
+  else if( 0 == strcmp( signalName.c_str(), SIGNAL_FOCUS_GROUP_CHANGED ) )
   {
     manager->FocusGroupChangedSignal().Connect( tracker, functor );
   }
index ee7c4ac..1c5044a 100644 (file)
@@ -1311,6 +1311,7 @@ void Controller::Impl::OnLongPressEvent( const Event& event )
   {
     ChangeState ( EventData::EDITING_WITH_POPUP );
     mEventData->mDecoratorUpdated = true;
+    mEventData->mUpdateInputStyle = true;
   }
 }
 
index 82c6254..0d5ad54 100644 (file)
@@ -103,13 +103,6 @@ void ColorVisual::DoSetProperties( const Property::Map& propertyMap )
   }
 }
 
-void ColorVisual::SetSize( const Vector2& size )
-{
-  Visual::Base::SetSize( size );
-
-  // ToDo: renderer responds to the size change
-}
-
 void ColorVisual::DoSetOnStage( Actor& actor )
 {
   InitializeRenderer();
index d2f3ebe..a8214ea 100644 (file)
@@ -60,11 +60,6 @@ public:
 public:  // from Visual
 
   /**
-   * @copydoc Visual::Base::SetSize
-   */
-  virtual void SetSize( const Vector2& size );
-
-  /**
    * @copydoc Visual::Base::CreatePropertyMap
    */
   virtual void DoCreatePropertyMap( Property::Map& map ) const;
index bfc9130..bc354e5 100644 (file)
@@ -267,11 +267,6 @@ void GradientVisual::OnSetTransform()
   }
 }
 
-void GradientVisual::SetSize( const Vector2& size )
-{
-  Visual::Base::SetSize( size );
-}
-
 void GradientVisual::DoSetOnStage( Actor& actor )
 {
   InitializeRenderer();
index bc131ae..351e772 100644 (file)
@@ -95,11 +95,6 @@ public:
 public:  // from Visual
 
   /**
-   * @copydoc Visual::Base::SetSize
-   */
-  virtual void SetSize( const Vector2& size );
-
-  /**
    * @copydoc Visual::Base::CreatePropertyMap
    */
   virtual void DoCreatePropertyMap( Property::Map& map ) const;
index 90d2b53..b46048a 100644 (file)
@@ -127,11 +127,6 @@ void BatchImageVisual::DoSetProperties( const Property::Map& propertyMap )
   mDesiredSize = ImageDimensions( desiredWidth, desiredHeight );
 }
 
-void BatchImageVisual::SetSize( const Vector2& size )
-{
-  Visual::Base::SetSize( size );
-}
-
 void BatchImageVisual::GetNaturalSize( Vector2& naturalSize )
 {
   if( mDesiredSize.GetWidth() > 0 && mDesiredSize.GetHeight() > 0 )
@@ -275,6 +270,14 @@ void BatchImageVisual::CleanCache(const std::string& url)
   }
 }
 
+void BatchImageVisual::OnSetTransform()
+{
+  if( mImpl->mRenderer )
+  {
+    //Register transform properties
+    mImpl->mTransform.RegisterUniforms( mImpl->mRenderer, Direction::LEFT_TO_RIGHT );
+  }
+}
 
 } // namespace Internal
 
index 85ef5b4..60209d3 100644 (file)
@@ -50,11 +50,6 @@ public:
 public:  // from Visual
 
   /**
-   * @copydoc Visual::Base::SetSize
-   */
-  virtual void SetSize( const Vector2& size );
-
-  /**
    * @copydoc Visual::Base::GetNaturalSize
    */
   virtual void GetNaturalSize( Vector2& naturalSize );
@@ -103,6 +98,11 @@ protected:
    */
   virtual void DoSetOffStage( Actor& actor );
 
+  /**
+   * @copydoc Visual::Base::OnSetTransform
+   */
+  virtual void OnSetTransform();
+
 private:
 
   /**
index 084491a..ab6d1b6 100644 (file)
@@ -122,7 +122,7 @@ const char* VERTEX_SHADER = DALI_COMPOSE_SHADER(
 
   void main()\n
   {\n
-    mediump vec4 vertexPosition = uMvpMatrix *ComputeVertexPosition();\n
+    mediump vec4 vertexPosition = uMvpMatrix * ComputeVertexPosition();\n
     vTexCoord = pixelArea.xy+pixelArea.zw*(aPosition + vec2(0.5) );\n
     gl_Position = vertexPosition;\n
   }\n
@@ -286,6 +286,8 @@ void ImageVisual::DoSetProperties( const Property::Map& propertyMap )
     desiredHeightValue->Get( desiredHeight );
   }
 
+  mDesiredSize = ImageDimensions( desiredWidth, desiredHeight );
+
   Property::Value* pixelAreaValue = propertyMap.Find( Toolkit::ImageVisual::Property::PIXEL_AREA, PIXEL_AREA_UNIFORM_NAME );
   if( pixelAreaValue )
   {
@@ -308,8 +310,6 @@ void ImageVisual::DoSetProperties( const Property::Map& propertyMap )
     mWrapModeV = Dali::WrapMode::Type( value );
   }
 
-  mDesiredSize = ImageDimensions( desiredWidth, desiredHeight );
-
   Property::Value* syncLoading = propertyMap.Find( Toolkit::ImageVisual::Property::SYNCHRONOUS_LOADING, SYNCHRONOUS_LOADING );
   if( syncLoading )
   {
index 3384976..f0ba67b 100644 (file)
@@ -429,13 +429,6 @@ void MeshVisual::OnSetTransform()
   }
 }
 
-void MeshVisual::SetSize( const Vector2& size )
-{
-  Visual::Base::SetSize( size );
-
-  // ToDo: renderer responds to the size change
-}
-
 void MeshVisual::DoSetOnStage( Actor& actor )
 {
   InitializeRenderer();
index 2e3772c..75b4a86 100644 (file)
@@ -70,11 +70,6 @@ public:
 public:  // from Visual
 
   /**
-   * @copydoc Visual::Base::SetSize
-   */
-  virtual void SetSize( const Vector2& size );
-
-  /**
    * @copydoc Visual::Base::CreatePropertyMap
    */
   virtual void DoCreatePropertyMap( Property::Map& map ) const;
index 5fbde5a..f4a3fe5 100644 (file)
@@ -387,13 +387,6 @@ void PrimitiveVisual::DoSetProperties( const Property::Map& propertyMap )
   }
 }
 
-void PrimitiveVisual::SetSize( const Vector2& size )
-{
-  Visual::Base::SetSize( size );
-
-  // ToDo: renderer responds to the size change
-}
-
 void PrimitiveVisual::GetNaturalSize( Vector2& naturalSize )
 {
   naturalSize.x = mObjectDimensions.x;
index 5239d3f..deda8d3 100644 (file)
@@ -112,11 +112,6 @@ public:
 public:  // from Visual
 
   /**
-   * @copydoc Visual::Base::SetSize
-   */
-  virtual void SetSize( const Vector2& size );
-
-  /**
    * @copydoc Visual::Base::GetNaturalSize
    */
   virtual void GetNaturalSize( Vector2& naturalSize );
index 8a390d4..df53192 100644 (file)
@@ -54,10 +54,10 @@ namespace Toolkit
 namespace Internal
 {
 
-SvgVisualPtr SvgVisual::New( VisualFactoryCache& factoryCache, const std::string& imageUrl, ImageDimensions size )
+SvgVisualPtr SvgVisual::New( VisualFactoryCache& factoryCache, const std::string& imageUrl )
 {
   SvgVisual* svgVisual = new SvgVisual( factoryCache );
-  svgVisual->ParseFromUrl( imageUrl, size );
+  svgVisual->ParseFromUrl( imageUrl );
   return svgVisual;
 }
 
@@ -66,7 +66,8 @@ SvgVisual::SvgVisual( VisualFactoryCache& factoryCache )
   mAtlasRect( FULL_TEXTURE_RECT ),
   mImageUrl(),
   mParsedImage( NULL ),
-  mPlacementActor()
+  mPlacementActor(),
+  mVisualSize(Vector2::ZERO)
 {
   // the rasterized image is with pre-multiplied alpha format
   mImpl->mFlags |= Impl::IS_PREMULTIPLIED_ALPHA;
@@ -101,10 +102,7 @@ void SvgVisual::DoSetOnStage( Actor& actor )
   // Register transform properties
   mImpl->mTransform.RegisterUniforms( mImpl->mRenderer, Direction::LEFT_TO_RIGHT );
 
-  if( mImpl->mSize != Vector2::ZERO && mParsedImage )
-  {
-    AddRasterizationTask( mImpl->mSize );
-  }
+  // Defer the rasterisation task until we get given a size (by Size Negotiation algorithm)
 
   // Hold the weak handle of the placement actor and delay the adding of renderer until the svg rasterization is finished.
   mPlacementActor = actor;
@@ -132,15 +130,6 @@ void SvgVisual::GetNaturalSize( Vector2& naturalSize )
   }
 }
 
-void SvgVisual::SetSize( const Vector2& size )
-{
-  if(mImpl->mSize != size && mParsedImage && IsOnStage() )
-  {
-    AddRasterizationTask( size );
-  }
-  mImpl->mSize = size;
-}
-
 void SvgVisual::DoCreatePropertyMap( Property::Map& map ) const
 {
   map.Clear();
@@ -162,19 +151,13 @@ Dali::Property::Value SvgVisual::DoGetProperty( Dali::Property::Index index )
   return Dali::Property::Value();
 }
 
-void SvgVisual::ParseFromUrl( const std::string& imageUrl, ImageDimensions size )
+void SvgVisual::ParseFromUrl( const std::string& imageUrl )
 {
   mImageUrl = imageUrl;
 
   Vector2 dpi = Stage::GetCurrent().GetDpi();
   float meanDpi = (dpi.height + dpi.width) * 0.5f;
   mParsedImage = nsvgParseFromFile( imageUrl.c_str(), UNITS, meanDpi );
-
-  if( size.GetWidth() != 0u && size.GetHeight() != 0u)
-  {
-    mImpl->mSize.x = size.GetWidth();
-    mImpl->mSize.y = size.GetHeight();
-  }
 }
 
 void SvgVisual::AddRasterizationTask( const Vector2& size )
@@ -248,6 +231,19 @@ void SvgVisual::ApplyRasterizedImage( PixelData rasterizedPixelData )
   }
 }
 
+void SvgVisual::OnSetTransform()
+{
+  Vector2 visualSize = mImpl->mTransform.GetVisualSize( mImpl->mControlSize );
+
+  if( mParsedImage && IsOnStage() )
+  {
+    if( visualSize != mVisualSize )
+    {
+      AddRasterizationTask( visualSize );
+      mVisualSize = visualSize;
+    }
+  }
+}
 
 } // namespace Internal
 
index e5a2f8e..43ac1f4 100644 (file)
@@ -61,9 +61,8 @@ public:
    *
    * @param[in] factoryCache A pointer pointing to the VisualFactoryCache object
    * @param[in] imageUrl The URL to svg resource to use
-   * @param[in] size The required size for the SVG
    */
-  static SvgVisualPtr New( VisualFactoryCache& factoryCache, const std::string& imageUrl, ImageDimensions size = ImageDimensions() );
+  static SvgVisualPtr New( VisualFactoryCache& factoryCache, const std::string& imageUrl );
 
 public:  // from Visual
 
@@ -73,11 +72,6 @@ public:  // from Visual
   virtual void GetNaturalSize( Vector2& naturalSize );
 
   /**
-   * @copydoc Visual::Base::SetSize
-   */
-  virtual void SetSize( const Vector2& size );
-
-  /**
    * @copydoc Visual::Base::CreatePropertyMap
    */
   virtual void DoCreatePropertyMap( Property::Map& map ) const;
@@ -121,6 +115,11 @@ protected:
    */
   virtual void DoSetOffStage( Actor& actor );
 
+  /**
+   * @copydoc Visual::Base::OnSetTransform
+   */
+  virtual void OnSetTransform();
+
 public:
 
   /**
@@ -136,9 +135,8 @@ private:
    * @brief Parses the SVG Image from the set URL.
    *
    * @param[in] imageUrl The URL of the image to parse the SVG from.
-   * @param[in] size The required size of the SVG
    */
-  void ParseFromUrl( const std::string& imageUrl, ImageDimensions size = ImageDimensions() );
+  void ParseFromUrl( const std::string& imageUrl );
 
   /**
    * @bried Rasterize the svg with the given size, and add it to the visual.
@@ -159,7 +157,7 @@ private:
   std::string          mImageUrl;
   NSVGimage*           mParsedImage;
   WeakHandle<Actor>    mPlacementActor;
-
+  Vector2              mVisualSize;
 };
 
 } // namespace Internal
index baba744..4228ecf 100644 (file)
@@ -162,22 +162,6 @@ TextVisualPtr TextVisual::New( VisualFactoryCache& factoryCache )
   return new TextVisual( factoryCache );
 }
 
-void TextVisual::SetSize( const Vector2& size )
-{
-  const Text::Controller::UpdateTextType updateTextType = mController->Relayout( size );
-
-  if( ( Text::Controller::NONE_UPDATED != ( Text::Controller::MODEL_UPDATED & updateTextType ) ) ||
-      !mRenderer )
-  {
-    if( !mRenderer )
-    {
-      mRenderer = Text::Backend::Get().NewRenderer( mRenderingBackend );
-    }
-
-    RenderText();
-  }
-}
-
 float TextVisual::GetHeightForWidth( float width ) const
 {
   return mController->GetHeightForWidth( width );
@@ -768,6 +752,26 @@ Dali::Property::Value TextVisual::DoGetProperty( Dali::Property::Index index )
   return value;
 }
 
+void TextVisual::OnSetTransform()
+{
+  Vector2 visualSize = mImpl->mTransform.GetVisualSize( mImpl->mControlSize );
+
+  // Note, the direction should come from the layout of the parent control
+  mImpl->mTransform.RegisterUniforms( mImpl->mRenderer, Direction::LEFT_TO_RIGHT );
+
+  const Text::Controller::UpdateTextType updateTextType = mController->Relayout( visualSize );
+
+  if( ( Text::Controller::NONE_UPDATED != ( Text::Controller::MODEL_UPDATED & updateTextType ) ) ||
+      !mRenderer )
+  {
+    if( !mRenderer )
+    {
+      mRenderer = Text::Backend::Get().NewRenderer( mRenderingBackend );
+    }
+    RenderText();
+  }
+}
+
 void TextVisual::RenderText()
 {
   Actor self = mSelf.GetHandle();
index dd1abf6..b345c76 100644 (file)
@@ -84,12 +84,7 @@ public: // from Visual::Base
   /**
    * @copydoc Visual::Base::GetHeightForWidth()
    */
-  float GetHeightForWidth( float width ) const;
-
-  /**
-   * @copydoc Visual::Base::GetNaturalSize()
-   */
-  virtual void SetSize( const Vector2& size );
+  virtual float GetHeightForWidth( float width ) const;
 
   /**
    * @copydoc Visual::Base::GetNaturalSize()
@@ -142,6 +137,11 @@ protected:
    */
   virtual Dali::Property::Value DoGetProperty( Dali::Property::Index index );
 
+  /**
+   * @copydoc Visual::Base::OnSetTransform
+   */
+  virtual void OnSetTransform();
+
 private:
 
   /**
index 8ccb354..a91b8ab 100644 (file)
@@ -174,7 +174,7 @@ TransitionData::Animator* TransitionData::ConvertMap( const Property::Map& map)
             bool valid = true;
             Vector4 controlPoints;
             Property::Array *array = value.GetArray();
-            if( array->Count() >= 4 )
+            if( array && array->Count() >= 4 )
             {
               for( size_t vecIdx = 0; vecIdx < 4; ++vecIdx )
               {
index 1826196..158c432 100644 (file)
@@ -82,8 +82,9 @@ Dali::Vector2 PointToVector2( Toolkit::Align::Type point, Toolkit::Direction::Ty
 } // unnamed namespace
 
 Internal::Visual::Base::Impl::Impl()
-: mCustomShader(NULL),
+: mCustomShader( NULL ),
   mTransform(),
+  mControlSize( Vector2::ZERO ),
   mDepthIndex( 0.0f ),
   mFlags( 0 )
 {
@@ -267,6 +268,13 @@ void Internal::Visual::Base::Impl::Transform::RegisterUniforms( Dali::Renderer r
   renderer.RegisterProperty( ANCHOR_POINT, Vector2(0.5,0.5) - PointToVector2( mAnchorPoint, direction ) );
 }
 
+Vector2 Internal::Visual::Base::Impl::Transform::GetVisualSize( const Vector2& controlSize )
+{
+  return Vector2( Lerp( mOffsetSizeMode.x, mSize.x * controlSize.x, mSize.x ),
+                  Lerp( mOffsetSizeMode.y, mSize.y * controlSize.y, mSize.y ) );
+}
+
+
 } // namespace Internal
 
 } // namespace Toolkit
index f8ceabf..e631f43 100644 (file)
@@ -73,13 +73,14 @@ struct Base::Impl
     void SetPropertyMap( const Property::Map& map );
     void GetPropertyMap( Property::Map& map ) const;
     void RegisterUniforms( Renderer renderer, Toolkit::Direction::Type direction );
+    Vector2 GetVisualSize( const Vector2& controlSize );
   };
 
   Renderer      mRenderer;
   CustomShader* mCustomShader;
   std::string   mName;
   Transform     mTransform;
-  Vector2       mSize;
+  Size          mControlSize;
   float         mDepthIndex;
   int           mFlags;
 
index e8ed4a3..12b6b35 100644 (file)
@@ -84,6 +84,13 @@ void Visual::Base::SetProperties( const Property::Map& propertyMap )
   DoSetProperties( propertyMap );
 }
 
+void Visual::Base::SetTransformAndSize( const Property::Map& transform, Size controlSize )
+{
+  mImpl->mControlSize = controlSize;
+  mImpl->mTransform.SetPropertyMap( transform );
+  OnSetTransform();
+}
+
 void Visual::Base::SetName( const std::string& name )
 {
   mImpl->mName = name;
@@ -94,16 +101,6 @@ const std::string& Visual::Base::GetName()
   return mImpl->mName;
 }
 
-void Visual::Base::SetSize( const Vector2& size )
-{
-  mImpl->mSize = size;
-}
-
-const Vector2& Visual::Base::GetSize() const
-{
-  return mImpl->mSize;
-}
-
 float Visual::Base::GetHeightForWidth( float width ) const
 {
   return 0.f;
@@ -217,11 +214,10 @@ void Visual::Base::SetProperty( Dali::Property::Index index, const Dali::Propert
   {
     if( index == Dali::Toolkit::Visual::DevelProperty::TRANSFORM )
     {
-      Property::Map* map = propertyValue.GetMap();
-      if( map )
+      Property::Map* transformMap = propertyValue.GetMap();
+      if( transformMap )
       {
-        mImpl->mTransform.SetPropertyMap( *map );
-        OnSetTransform();
+        SetTransformAndSize( *transformMap, mImpl->mControlSize );
       }
     }
 
index 4028ca4..cb0c7be 100644 (file)
@@ -84,12 +84,7 @@ public:
   /**
    * @copydoc Toolkit::Visual::Base::SetSize
    */
-  virtual void SetSize( const Vector2& size );
-
-  /**
-   * @copydoc Toolkit::Visual::Base::GetSize
-   */
-  const Vector2& GetSize() const;
+  void SetTransformAndSize( const Property::Map& transform, Size controlSize );
 
   /**
    * @copydoc Toolkit::Visual::Base::GetHeightForWidth
@@ -187,9 +182,10 @@ protected:
   virtual void DoSetProperties( const Property::Map& propertyMap ) = 0;
 
   /**
-   * @brief Called when transform property changes
+   * @brief Called when transform or control size changes
+   * ( Of use to SVG and Text visuals )
    */
-  virtual void OnSetTransform(){}
+  virtual void OnSetTransform() = 0;
 
 protected:
 
index 51c6bc2..bf6814d 100644 (file)
@@ -150,16 +150,6 @@ bool VisualFactoryCache::CleanRendererCache( const std::string& key )
   return false;
 }
 
-void VisualFactoryCache::CacheWireframeRenderer( Renderer& renderer )
-{
-  mWireframeRenderer = renderer;
-}
-
-Renderer VisualFactoryCache::GetWireframeRenderer()
-{
-  return mWireframeRenderer;
-}
-
 Geometry VisualFactoryCache::CreateQuadGeometry()
 {
   const float halfWidth = 0.5f;
index 0b77e53..8bbae5c 100644 (file)
@@ -69,7 +69,8 @@ public:
     IMAGE_SHADER_ATLAS_CUSTOM_WRAP,
     NINE_PATCH_SHADER,
     SVG_SHADER,
-    SHADER_TYPE_MAX = SVG_SHADER
+    WIREFRAME_SHADER,
+    SHADER_TYPE_MAX = WIREFRAME_SHADER
   };
 
   /**
@@ -81,7 +82,8 @@ public:
     BORDER_GEOMETRY,
     NINE_PATCH_GEOMETRY,
     NINE_PATCH_BORDER_GEOMETRY,
-    GEOMETRY_TYPE_MAX = NINE_PATCH_BORDER_GEOMETRY
+    WIREFRAME_GEOMETRY,
+    GEOMETRY_TYPE_MAX = WIREFRAME_GEOMETRY
   };
 
 public:
@@ -173,16 +175,6 @@ public:
   bool CleanRendererCache( const std::string& key );
 
   /**
-   * @brief Cache the wireframe renderer
-   */
-  void CacheWireframeRenderer( Renderer& renderer );
-
-  /**
-   * @brief Request the wireframe renderer;
-   */
-  Renderer GetWireframeRenderer();
-
-  /**
    * Get the image atlas manager.
    * @return A pointer to the atlas manager
    */
index 9b77e63..43c5077 100644 (file)
@@ -97,103 +97,105 @@ Toolkit::Visual::Base VisualFactory::CreateVisual( const Property::Map& property
     mFactoryCache = new VisualFactoryCache();
   }
 
-  // Return a new WireframeVisual if we have debug enabled
-  if( mDebugEnabled )
-  {
-    return Toolkit::Visual::Base( WireframeVisual::New( *( mFactoryCache.Get() ) ).Get() );
-  }
-
   Visual::BasePtr visualPtr;
 
-  Property::Value* typeValue = propertyMap.Find( Toolkit::VisualProperty::TYPE, VISUAL_TYPE );
-  Toolkit::Visual::Type visualType = Toolkit::Visual::IMAGE; // Default to IMAGE type.
-  if( typeValue )
+  if( mDebugEnabled )
   {
-    Scripting::GetEnumerationProperty( *typeValue, VISUAL_TYPE_TABLE, VISUAL_TYPE_TABLE_COUNT, visualType );
+    //Create a WireframeVisual if we have debug enabled
+    visualPtr = WireframeVisual::New( *( mFactoryCache.Get() ) );
   }
-
-  switch( visualType )
+  else
   {
-    case Toolkit::Visual::BORDER:
+    Property::Value* typeValue = propertyMap.Find( Toolkit::VisualProperty::TYPE, VISUAL_TYPE );
+    Toolkit::Visual::Type visualType = Toolkit::Visual::IMAGE; // Default to IMAGE type.
+    if( typeValue )
     {
-      visualPtr = BorderVisual::New( *( mFactoryCache.Get() ) );
-      break;
+      Scripting::GetEnumerationProperty( *typeValue, VISUAL_TYPE_TABLE, VISUAL_TYPE_TABLE_COUNT, visualType );
     }
 
-    case Toolkit::Visual::COLOR:
+    switch( visualType )
     {
-      visualPtr = ColorVisual::New( *( mFactoryCache.Get() ) );
-      break;
-    }
+      case Toolkit::Visual::BORDER:
+      {
+        visualPtr = BorderVisual::New( *( mFactoryCache.Get() ) );
+        break;
+      }
 
-    case Toolkit::Visual::GRADIENT:
-    {
-      visualPtr = GradientVisual::New( *( mFactoryCache.Get() ) );
-      break;
-    }
+      case Toolkit::Visual::COLOR:
+      {
+        visualPtr = ColorVisual::New( *( mFactoryCache.Get() ) );
+        break;
+      }
 
-    case Toolkit::Visual::IMAGE:
-    {
-      Property::Value* imageURLValue = propertyMap.Find( Toolkit::ImageVisual::Property::URL, IMAGE_URL_NAME );
-      std::string imageUrl;
-      if( imageURLValue && imageURLValue->Get( imageUrl ) )
+      case Toolkit::Visual::GRADIENT:
       {
-        // first resolve url type to know which visual to create
-        UrlType::Type type = ResolveUrlType( imageUrl );
-        if( UrlType::N_PATCH == type )
-        {
-          visualPtr = NPatchVisual::New( *( mFactoryCache.Get() ), imageUrl );
-        }
-        else if( UrlType::SVG == type )
-        {
-          visualPtr = SvgVisual::New( *( mFactoryCache.Get() ), imageUrl );
-        }
-        else // Regular image
+        visualPtr = GradientVisual::New( *( mFactoryCache.Get() ) );
+        break;
+      }
+
+      case Toolkit::Visual::IMAGE:
+      {
+        Property::Value* imageURLValue = propertyMap.Find( Toolkit::ImageVisual::Property::URL, IMAGE_URL_NAME );
+        std::string imageUrl;
+        if( imageURLValue && imageURLValue->Get( imageUrl ) )
         {
-          bool batchingEnabled( false );
-          Property::Value* batchingEnabledValue = propertyMap.Find( Toolkit::ImageVisual::Property::BATCHING_ENABLED, BATCHING_ENABLED );
-          if( batchingEnabledValue  )
+          // first resolve url type to know which visual to create
+          UrlType::Type type = ResolveUrlType( imageUrl );
+          if( UrlType::N_PATCH == type )
           {
-            batchingEnabledValue->Get( batchingEnabled );
+            visualPtr = NPatchVisual::New( *( mFactoryCache.Get() ), imageUrl );
           }
-
-          if( batchingEnabled )
+          else if( UrlType::SVG == type )
           {
-            visualPtr = BatchImageVisual::New( *( mFactoryCache.Get() ), imageUrl );
-            break;
+            visualPtr = SvgVisual::New( *( mFactoryCache.Get() ), imageUrl );
           }
-          else
+          else // Regular image
           {
-            visualPtr = ImageVisual::New( *( mFactoryCache.Get() ), imageUrl );
+            bool batchingEnabled( false );
+            Property::Value* batchingEnabledValue = propertyMap.Find( Toolkit::ImageVisual::Property::BATCHING_ENABLED, BATCHING_ENABLED );
+            if( batchingEnabledValue  )
+            {
+              batchingEnabledValue->Get( batchingEnabled );
+            }
+
+            if( batchingEnabled )
+            {
+              visualPtr = BatchImageVisual::New( *( mFactoryCache.Get() ), imageUrl );
+              break;
+            }
+            else
+            {
+              visualPtr = ImageVisual::New( *( mFactoryCache.Get() ), imageUrl );
+            }
           }
         }
-      }
 
-      break;
-    }
+        break;
+      }
 
-    case Toolkit::Visual::MESH:
-    {
-      visualPtr = MeshVisual::New( *( mFactoryCache.Get() ) );
-      break;
-    }
+      case Toolkit::Visual::MESH:
+      {
+        visualPtr = MeshVisual::New( *( mFactoryCache.Get() ) );
+        break;
+      }
 
-    case Toolkit::Visual::PRIMITIVE:
-    {
-      visualPtr = PrimitiveVisual::New( *( mFactoryCache.Get() ) );
-      break;
-    }
+      case Toolkit::Visual::PRIMITIVE:
+      {
+        visualPtr = PrimitiveVisual::New( *( mFactoryCache.Get() ) );
+        break;
+      }
 
-    case Toolkit::Visual::WIREFRAME:
-    {
-      visualPtr = WireframeVisual::New( *( mFactoryCache.Get() ) );
-      break;
-    }
+      case Toolkit::Visual::WIREFRAME:
+      {
+        visualPtr = WireframeVisual::New( *( mFactoryCache.Get() ) );
+        break;
+      }
 
-    case Toolkit::Visual::TEXT:
-    {
-      visualPtr = TextVisual::New( *( mFactoryCache.Get() ) );
-      break;
+      case Toolkit::Visual::TEXT:
+      {
+        visualPtr = TextVisual::New( *( mFactoryCache.Get() ) );
+        break;
+      }
     }
   }
 
@@ -258,7 +260,7 @@ Toolkit::Visual::Base VisualFactory::CreateVisual( const std::string& url, Image
   }
   else if( UrlType::SVG == type )
   {
-    visualPtr = SvgVisual::New( *( mFactoryCache.Get() ), url, size );
+    visualPtr = SvgVisual::New( *( mFactoryCache.Get() ), url );
   }
   else // Regular image
   {
index 2e1e4a3..396f13b 100644 (file)
@@ -45,11 +45,24 @@ attribute mediump vec2  aPosition;\n
 uniform   mediump mat4  uMvpMatrix;\n
 uniform   mediump vec3  uSize;\n
 \n
+
+//Visual size and offset
+uniform mediump vec2 offset;\n
+uniform mediump vec2 size;\n
+uniform mediump vec4 offsetSizeMode;\n
+uniform mediump vec2 origin;\n
+uniform mediump vec2 anchorPoint;\n
+
+vec4 ComputeVertexPosition()\n
+{\n
+  vec2 visualSize = mix(uSize.xy*size, size, offsetSizeMode.zw );\n
+  vec2 visualOffset = mix( offset, offset/uSize.xy, offsetSizeMode.xy);\n
+  return vec4( (aPosition + anchorPoint)*visualSize + (visualOffset + origin)*uSize.xy, 0.0, 1.0 );\n
+}\n
+
 void main()\n
 {\n
-  mediump vec4 vertexPosition = vec4(aPosition, 0.0, 1.0);\n
-  vertexPosition.xyz *= uSize;\n
-  gl_Position = uMvpMatrix * vertexPosition;\n
+  gl_Position = uMvpMatrix * ComputeVertexPosition();\n
 }\n
 );
 
@@ -109,15 +122,25 @@ Dali::Property::Value WireframeVisual::DoGetProperty( Dali::Property::Index inde
 
 void WireframeVisual::InitializeRenderer()
 {
-  mImpl->mRenderer = mFactoryCache.GetWireframeRenderer();
-  if( !mImpl->mRenderer )
+  Shader shader = mFactoryCache.GetShader( VisualFactoryCache::WIREFRAME_SHADER );
+  if( !shader )
   {
-    Geometry geometry = CreateQuadWireframeGeometry();
-    Shader shader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER );
+    shader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER );
+    mFactoryCache.SaveShader( VisualFactoryCache::WIREFRAME_SHADER, shader );
+  }
 
-    mImpl->mRenderer = Renderer::New( geometry, shader);
-    mFactoryCache.CacheWireframeRenderer( mImpl->mRenderer );
+  Geometry geometry = mFactoryCache.GetGeometry( VisualFactoryCache::WIREFRAME_GEOMETRY );
+  if( !geometry )
+  {
+    geometry = CreateQuadWireframeGeometry();
+    mFactoryCache.SaveGeometry( VisualFactoryCache::WIREFRAME_GEOMETRY, geometry );
   }
+
+  //Create the renderer
+  mImpl->mRenderer = Renderer::New( geometry, shader);
+
+  //Register transform properties
+  mImpl->mTransform.RegisterUniforms( mImpl->mRenderer, Direction::LEFT_TO_RIGHT );
 }
 
 Geometry WireframeVisual::CreateQuadWireframeGeometry()
@@ -150,6 +173,15 @@ Geometry WireframeVisual::CreateQuadWireframeGeometry()
   return geometry;
 }
 
+void WireframeVisual::OnSetTransform()
+{
+  if( mImpl->mRenderer )
+  {
+    //Register transform properties
+    mImpl->mTransform.RegisterUniforms( mImpl->mRenderer, Direction::LEFT_TO_RIGHT );
+  }
+}
+
 } // namespace Internal
 
 } // namespace Toolkit
index 3756e00..19cbc46 100644 (file)
@@ -90,6 +90,11 @@ protected:
    */
   virtual Dali::Property::Value DoGetProperty( Dali::Property::Index index );
 
+  /**
+   * @copydoc Visual::Base::OnSetTransform
+   */
+  virtual void OnSetTransform();
+
 private:
   /**
    * Create the geometry which presents the quad wireframe.
index 90b3bb6..d3f4362 100644 (file)
@@ -44,6 +44,7 @@
 #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/devel-api/align-enums.h>
 
 namespace Dali
 {
@@ -165,6 +166,16 @@ HandleIndex GetVisualProperty(
   return HandleIndex( handle, Property::INVALID_INDEX );
 }
 
+void SetDefaultTransform( Property::Map& propertyMap )
+{
+  propertyMap.Clear();
+  propertyMap
+    .Add( Toolkit::Visual::DevelProperty::Transform::Property::OFFSET, Vector2(0.0f, 0.0f) )
+    .Add( Toolkit::Visual::DevelProperty::Transform::Property::SIZE, Vector2(1.0f, 1.0f) )
+    .Add( Toolkit::Visual::DevelProperty::Transform::Property::ORIGIN, Toolkit::Align::CENTER )
+    .Add( Toolkit::Visual::DevelProperty::Transform::Property::ANCHOR_POINT, Toolkit::Align::CENTER )
+    .Add( Toolkit::Visual::DevelProperty::Transform::Property::OFFSET_SIZE_MODE, Vector4::ZERO );
+}
 
 /**
  * Creates control through type registry
@@ -747,22 +758,22 @@ void Control::RegisterVisual( Property::Index index, Toolkit::Visual::Base& visu
   bool visualReplaced ( false );
   Actor self = Self();
 
-  if ( !mImpl->mVisuals.Empty() )
+  if( !mImpl->mVisuals.Empty() )
   {
-      RegisteredVisualContainer::Iterator iter;
-      // Check if visual (index) is already registered.  Replace if so.
-      if ( FindVisual( index, mImpl->mVisuals, iter ) )
+    RegisteredVisualContainer::Iterator iter;
+    // Check if visual (index) is already registered.  Replace if so.
+    if ( FindVisual( index, mImpl->mVisuals, iter ) )
+    {
+      if( (*iter)->visual && self.OnStage() )
       {
-        if( (*iter)->visual && self.OnStage() )
-        {
-          Toolkit::GetImplementation((*iter)->visual).SetOffStage( self );
-        }
-        (*iter)->visual = visual;
-        visualReplaced = true;
+        Toolkit::GetImplementation((*iter)->visual).SetOffStage( self );
       }
+      (*iter)->visual = visual;
+      visualReplaced = true;
+    }
   }
 
-  if ( !visualReplaced ) // New registration entry
+  if( !visualReplaced ) // New registration entry
   {
     mImpl->mVisuals.PushBack( new RegisteredVisual( index, visual, enabled ) );
   }
@@ -1142,7 +1153,9 @@ void Control::OnSizeSet(const Vector3& targetSize)
   if( visual )
   {
     Vector2 size( targetSize );
-    visual.SetSize( size );
+    Property::Map transformMap;
+    SetDefaultTransform( transformMap );
+    visual.SetTransformAndSize( transformMap, size );
   }
 }
 
@@ -1177,6 +1190,15 @@ void Control::OnRelayout( const Vector2& size, RelayoutContainer& container )
   {
     container.Add( Self().GetChildAt( i ), size );
   }
+
+  Toolkit::Visual::Base visual = GetVisual( Toolkit::Control::Property::BACKGROUND );
+  if( visual )
+  {
+    Vector2 controlSize( size );
+    Property::Map transformMap;
+    SetDefaultTransform( transformMap );
+    visual.SetTransformAndSize( transformMap, controlSize );
+  }
 }
 
 void Control::OnSetResizePolicy( ResizePolicy::Type policy, Dimension::Type dimension )
index e013196..e9c5068 100644 (file)
@@ -2,7 +2,7 @@
 #define __DALI_TOOLKIT_ITEM_LAYOUT_H__
 
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -79,8 +79,11 @@ struct ItemRange
    */
   ItemRange& operator=(const ItemRange& range)
   {
-    begin = range.begin;
-    end = range.end;
+    if( this != &range )
+    {
+      begin = range.begin;
+      end = range.end;
+    }
     return *this;
   }
 
index 8cac8e3..bd25c80 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 = 14;
+const unsigned int TOOLKIT_MICRO_VERSION = 15;
 const char * const TOOLKIT_BUILD_DATE    = __DATE__ " " __TIME__;
 
 #ifdef DEBUG_ENABLED
index 96bbed0..457f222 100644 (file)
@@ -2,7 +2,7 @@
 #define __DALI_TOOLKIT_KEYBOARD_FOCUS_MANAGER_H__
 
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -46,12 +46,12 @@ class KeyboardFocusManager;
  * is changed.
  *
  * Signals
- * | %Signal Name                  | Method                             |
- * |-------------------------------|------------------------------------|
- * | keyboardPreFocusChange        | @ref PreFocusChangeSignal()        |
- * | keyboardFocusChanged          | @ref FocusChangedSignal()          |
- * | keyboardFocusGroupChanged     | @ref FocusGroupChangedSignal()     |
- * | keyboardFocusedActorAenterKey | @ref FocusedActorEnterKeySignal()  |
+ * | %Signal Name                 | Method                             |
+ * |------------------------------|------------------------------------|
+ * | keyboardPreFocusChange       | @ref PreFocusChangeSignal()        |
+ * | keyboardFocusChanged         | @ref FocusChangedSignal()          |
+ * | keyboardFocusGroupChanged    | @ref FocusGroupChangedSignal()     |
+ * | keyboardFocusedActorEnterKey | @ref FocusedActorEnterKeySignal()  |
  * @SINCE_1_0.0
  */
 class DALI_IMPORT_API KeyboardFocusManager : public BaseHandle
index ef9b273..11112dc 100644 (file)
@@ -1,6 +1,6 @@
 Name:       dali-addon
 Summary:    DALi module for Node.JS
-Version:    1.2.14
+Version:    1.2.15
 Release:    1
 Group:      Development/Libraries
 License:    Apache License, Version 2.0
index b8fb3ce..35c4e7e 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       NDalic
 Summary:    dali wrapper
-Version:    1.2.14
+Version:    1.2.15
 Release:    1
 Group:      uifw/graphic
 License:    TO_BE_FILLED_IN
index 1ccf8e0..7af9db3 100644 (file)
@@ -1,6 +1,6 @@
 Name:       dali-toolkit
 Summary:    The OpenGLES Canvas Core Library Toolkit
-Version:    1.2.14
+Version:    1.2.15
 Release:    1
 Group:      System/Libraries
 License:    Apache-2.0 and BSD-2-Clause and MIT
index 9ed6c33..6b6966a 100644 (file)
@@ -23,8 +23,8 @@ if BUILD_MCS
 
 all-local: libNDalic.so NDali.dll
 
-libNDalic.so: automatic/cpp/dali_wrap.o manual/cpp/keyboard_focus_manager_wrap.o manual/cpp/view-wrapper-impl-wrap.o
-       g++ -shared automatic/cpp/dali_wrap.o manual/cpp/keyboard_focus_manager_wrap.o manual/cpp/view-wrapper-impl-wrap.o -o libNDalic.so $(DALICORE_LIBS) $(DALIADAPTOR_LIBS) $(DALITOOLKIT_LIBS)
+libNDalic.so: automatic/cpp/dali_wrap.o manual/cpp/keyboard_focus_manager_wrap.o manual/cpp/view-wrapper-impl-wrap.o manual/cpp/callbackbase_wrap.o
+       g++ -shared automatic/cpp/dali_wrap.o manual/cpp/keyboard_focus_manager_wrap.o manual/cpp/view-wrapper-impl-wrap.o manual/cpp/callbackbase_wrap.o -o libNDalic.so $(DALICORE_LIBS) $(DALIADAPTOR_LIBS) $(DALITOOLKIT_LIBS)
 
 automatic/cpp/dali_wrap.o: $(BUILT_SOURCES)
        g++ -c -fpic $(CXXFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) automatic/cpp/dali_wrap.cpp -o automatic/cpp/dali_wrap.o
@@ -35,6 +35,9 @@ manual/cpp/keyboard_focus_manager_wrap.o: $(BUILT_SOURCES)
 manual/cpp/view-wrapper-impl-wrap.o: $(BUILT_SOURCES)
        g++ -c -fpic $(CXXFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) manual/cpp/view-wrapper-impl-wrap.cpp -o manual/cpp/view-wrapper-impl-wrap.o
 
+manual/cpp/callbackbase_wrap.o: $(BUILT_SOURCES)
+       g++ -c -fpic $(CXXFLAGS) $(DALICORE_CFLAGS) $(DALIADAPTOR_CFLAGS) $(DALITOOLKIT_CFLAGS) manual/cpp/callbackbase_wrap.cpp -o manual/cpp/callbackbase_wrap.o
+
 NDali.dll: $(BUILT_SOURCES)
        $(MCS) -nologo -target:library -out:NDali.dll automatic/csharp/*.cs manual/csharp/*.cs
 
diff --git a/plugins/dali-swig/NDali.dll b/plugins/dali-swig/NDali.dll
deleted file mode 100755 (executable)
index 4fbbfa4..0000000
Binary files a/plugins/dali-swig/NDali.dll and /dev/null differ
diff --git a/plugins/dali-swig/SWIG/dali-gc.i b/plugins/dali-swig/SWIG/dali-gc.i
new file mode 100644 (file)
index 0000000..ea71121
--- /dev/null
@@ -0,0 +1,1491 @@
+/*
+ * 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.
+ *
+ */
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_##ClassName(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( NameSpace, ClassName )
+%typemap(csdestruct_derived, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_##ClassName(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~ClassName() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_VIDEOVIEWSIGNAL( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~VideoViewSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_VIDEOVIEWSIGNAL( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_APPLICATIONSIGNAL( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~ApplicationSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_APPLICATIONSIGNAL( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_APPLICATIONCONTROLSIGNAL( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~ApplicationControlSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_APPLICATIONCONTROLSIGNAL( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_IMAGESIGNAL( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~ImageSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_IMAGESIGNAL( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RESOURCESIMAGESIGNAL( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~ResourceImageSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RESOURCESIMAGESIGNAL( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RECTINT( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~RectInteger() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RECTINT( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_RectInteger(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RECTDOUBLE( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~RectDouble() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RECTDOUBLE( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_RectDouble(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RECTFLOAT( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~RectFloat() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RECTFLOAT( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_RectFloat(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RECTUNSIGNEDINT( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~RectUnsignedInteger() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RECTUNSIGNEDINT( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_RectUnsignedInteger(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_STRINGVALUEPAIR( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~StringValuePair() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_STRINGVALUEPAIR( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_TOUCHCONTAINER( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~TouchPointContainer() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_TOUCHCONTAINER( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_BOOLSIGNAL( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~BoolSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_BOOLSIGNAL( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_BoolSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_ACCESSIBILITYACTIONSIGNAL( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~AccessibilityActionSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_ACCESSIBILITYACTIONSIGNAL( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_ACCESSIBILITYACTIONSCROLLSIGNAL( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~AccessibilityActionScrollSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_ACCESSIBILITYACTIONSCROLLSIGNAL( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_AccessibilityActionScrollSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_ACCESSIBILITYFOCUSSIGNAL( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~AccessibilityFocusOvershotSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_ACCESSIBILITYFOCUSSIGNAL( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_VECTORINT( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~VectorInteger() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_VECTORINT( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_VECTORFLOAT( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~VectorFloat() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_VECTORFLOAT( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_VECTORUNSIGNEDCHAR( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~VectorUnsignedChar() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_VECTORUNSIGNEDCHAR( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_VECTORUINT16PAIR( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~VectorUint16Pair() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_VECTORUINT16PAIR( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_TIMERSIGNALTYPE( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~TimerSignalType() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_TIMERSIGNALTYPE( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_ACTOR( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~ActorSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_ACTOR( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_ANIMATIONSIGNAL( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~AnimationSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_ANIMATIONSIGNAL( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_BUTTON( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~ButtonSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_BUTTON( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_PAGETURNSIGNAL( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~PageTurnSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_PAGETURNSIGNAL( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_PAGEVIEWSIGNAL( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~PagePanSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_PAGEVIEWSIGNAL( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_PANGESTURESIGNAL( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~PanGestureDetectedSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_PANGESTURESIGNAL( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_PINCHGESTURESIGNAL( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~PinchGestureDetectedSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_PINCHGESTURESIGNAL( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENDERTASKSIGNAL( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~RenderTaskSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENDERTASKSIGNAL( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_SCROLLABLESIGNAL( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~ScrollableSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_SCROLLABLESIGNAL( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_SCROLLVIEWSIGNAL( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~ScrollViewSnapStartedSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_SCROLLVIEWSIGNAL( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_SLIDERVALUECHANGEDSIGNAL( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~SliderValueChangedSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_SLIDERVALUECHANGEDSIGNAL( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_SLIDERMARKCHANGEDSIGNAL( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~SliderMarkReachedSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_SLIDERMARKCHANGEDSIGNAL( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_STAGESIGNAL( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~StageWheelEventSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_STAGESIGNAL( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
+
+    lock(this) {
+      if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          NDalicPINVOKE.delete_StageWheelEventSignal(swigCPtr);
+        }
+        swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+      }
+      global::System.GC.SuppressFinalize(this);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_STYLECHANGEDSIGNAL( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~StyleChangedSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_STYLECHANGEDSIGNAL( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_TAPGESTURESIGNAL( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~TapGestureDetectedSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_TAPGESTURESIGNAL( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_TEXTFIELDSIGNAL( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~TextFieldSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_TEXTFIELDSIGNAL( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_TEXTEDITORSIGNAL( NameSpace, ClassName )
+%typemap(csfinalize) NameSpace::ClassName %{
+  ~TextEditorSignal() {
+    DisposeQueue.Instance.Add(this);
+  }
+%}
+%enddef
+
+%define DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_TEXTEDITORSIGNAL( NameSpace, ClassName )
+%typemap(csdestruct, methodname="Dispose", methodmodifiers="public") NameSpace::ClassName %{{
+    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);
+    }
+  }
+%}
+%enddef
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Any );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Any );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Actor );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Actor );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, AlphaFunction );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, AlphaFunction );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Animation );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Animation );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, AngleAxis );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, AngleAxis );
+
+//DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, BaseObject );
+//DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, BaseObject );
+//DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, RefObject );
+//DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, RefObject );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Handle );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Handle );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, ObjectRegistry );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, ObjectRegistry );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, BaseHandle );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, BaseHandle );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, BufferImage );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, BufferImage );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, CameraActor );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, CameraActor );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, CustomActor );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, CustomActor );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, CustomActorImpl );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, CustomActorImpl );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, ConnectionTracker );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, ConnectionTracker );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, ConnectionTrackerInterface );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, ConnectionTrackerInterface );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Degree );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Degree );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, EncodedBufferImage );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, EncodedBufferImage );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, FrameBuffer );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, FrameBuffer );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, FrameBufferImage );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, FrameBufferImage );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Geometry );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Geometry );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Gesture );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Gesture );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, GestureDetector );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, GestureDetector );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, TapGesture );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, TapGesture );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, TapGestureDetector );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, TapGestureDetector );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PanGesture );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PanGesture );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PanGestureDetector );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PanGestureDetector );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PinchGesture );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PinchGesture );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PinchGestureDetector );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PinchGestureDetector );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, LongPressGesture );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, LongPressGesture );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, LongPressGestureDetector );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, LongPressGestureDetector );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, KeyEvent );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, KeyEvent );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, HoverEvent );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, HoverEvent );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, TouchEvent );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, TouchEvent );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, WheelEvent );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, WheelEvent );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Renderer );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Renderer );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, RenderTask );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, RenderTask );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, RenderTaskList );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, RenderTaskList );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, RelayoutContainer );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, RelayoutContainer );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Radian );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Radian );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Quaternion );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Quaternion );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Matrix );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Matrix );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Matrix3 );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Matrix3 );
+
+//DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, RulerPtr );
+//DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, RulerPtr );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Layer );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Layer );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, KeyFrames );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, KeyFrames );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Stage );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Stage );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Sampler );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Sampler );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Shader );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Shader );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Vector2 );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Vector2 );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Vector3 );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Vector3 );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Vector4 );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Vector4 );
+//DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, VectorBase );
+//DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, VectorBase );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Image );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Image );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, NativeImage );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, NativeImage );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, NinePatchImage );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, NinePatchImage );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, ResourceImage );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, ResourceImage );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Path );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Path );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Property );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Property );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PropertyBuffer );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PropertyBuffer );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PropertyCondition );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PropertyCondition );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PropertyNotification );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PropertyNotification );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PixelData );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PixelData );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Uint16Pair );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, Uint16Pair );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, TypeInfo );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, TypeInfo );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Texture );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Texture );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, TextureSet );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, TextureSet );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, TimePeriod );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, TimePeriod );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, LinearConstrainer );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, LinearConstrainer );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, PathConstrainer );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, PathConstrainer );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, TouchPoint );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali, TouchPoint );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, TouchData );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, TouchData );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Application );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Application );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, DragAndDropDetector );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, DragAndDropDetector );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Timer );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Timer );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali, Window );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali, Window );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, AccessibilityManager );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, AccessibilityManager );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, Alignment );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, Alignment );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, Button );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, Button );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, CheckBoxButton );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, CheckBoxButton );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, PushButton );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, PushButton );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, RadioButton );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, RadioButton );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, Builder );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, Builder );
+
+//DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, View );
+//DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, View );
+//DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ViewImpl );
+//DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ViewImpl );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, FlexContainer );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, FlexContainer );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, GaussianBlurView );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, GaussianBlurView );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ImageView );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ImageView );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ItemView );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ItemView );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ItemFactory );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali::Toolkit, ItemFactory );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ItemLayout );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ItemLayout );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ItemRange );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali::Toolkit, ItemRange );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, Model3dView );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, Model3dView );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, PageFactory );
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION( Dali::Toolkit, PageFactory );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, PageTurnLandscapeView );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, PageTurnLandscapeView );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, PageTurnPortraitView );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, PageTurnPortraitView );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, PageTurnView );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, PageTurnView );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, Popup );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, Popup );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ProgressBar );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ProgressBar );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, Scrollable );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, Scrollable );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ScrollBar );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ScrollBar );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ScrollView );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ScrollView );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ScrollViewEffect );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ScrollViewEffect );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, ScrollViewPagePathEffect );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, ScrollViewPagePathEffect );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, StyleManager );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, StyleManager );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, Slider );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, Slider );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, TableView );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, TableView );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, TextEditor );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, TextEditor );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, TextField );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, TextField );
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, TextLabel );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, TextLabel );
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, VideoView );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, VideoView );
+//DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, VisualBase );
+//DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, VisualBase);
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION( Dali::Toolkit, VisualFactory );
+DALI_CREATE_CUSTOM_DISPOSE_DERIVED_FUNCTION( Dali::Toolkit, VisualFactory );
+
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_APPLICATIONSIGNAL( Dali, Signal<void(Dali::Application&)>);
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_APPLICATIONSIGNAL( Dali, Signal<void(Dali::Application&)>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_APPLICATIONCONTROLSIGNAL( Dali, Signal<void(Dali::Application&, void*)>);
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_APPLICATIONCONTROLSIGNAL( Dali, Signal<void(Dali::Application&, void*)>);
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_VIDEOVIEWSIGNAL( Dali, Signal<void(Dali::Toolkit::VideoView&)>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_VIDEOVIEWSIGNAL( Dali, Signal<void(Dali::Toolkit::VideoView&)>);
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_IMAGESIGNAL( Dali, Signal<void(Dali::Image)>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_IMAGESIGNAL( Dali, Signal<void(Dali::Image)>);
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RESOURCESIMAGESIGNAL( Dali, Signal<void(Dali::ResourceImage)>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RESOURCESIMAGESIGNAL( Dali, Signal<void(Dali::ResourceImage)>);
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RECTINT( Dali, Rect<int>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RECTINT( Dali, Rect<int>);
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RECTDOUBLE( Dali, Rect<double>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RECTDOUBLE( Dali, Rect<double>);
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RECTFLOAT( Dali, Rect<float>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RECTFLOAT( Dali, Rect<float>);
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RECTUNSIGNEDINT( Dali, Rect<unsigned int>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RECTUNSIGNEDINT( Dali, Rect<unsigned int>);
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_TOUCHCONTAINER( std, vector<Dali::TouchPoint>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_TOUCHCONTAINER( std, vector<Dali::TouchPoint>);
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_VECTORINT( Dali, Vector<int>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_VECTORINT( Dali, Vector<int>);
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_VECTORFLOAT( Dali, Vector<float>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_VECTORFLOAT( Dali, Vector<float>);
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_VECTORUNSIGNEDCHAR( Dali, Vector<unsigned char>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_VECTORUNSIGNEDCHAR( Dali, Vector<unsigned char>);
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_VECTORUINT16PAIR( Dali, Vector<Dali::Uint16Pair>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_VECTORUINT16PAIR( Dali, Vector<Dali::Uint16Pair>);
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_ACCESSIBILITYACTIONSIGNAL( Dali, Signal<bool(Dali::Toolkit::AccessibilityManager&)>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_ACCESSIBILITYACTIONSIGNAL( Dali, Signal<bool(Dali::Toolkit::AccessibilityManager&)>);
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_ACCESSIBILITYACTIONSCROLLSIGNAL( Dali, Signal<bool(Dali::Toolkit::AccessibilityManager&, const Dali::TouchEvent&)>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_ACCESSIBILITYACTIONSCROLLSIGNAL( Dali, Signal<bool(Dali::Toolkit::AccessibilityManager&, const Dali::TouchEvent&)>);
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_ACCESSIBILITYFOCUSSIGNAL( Dali, Signal<void(Dali::Actor, Dali::Toolkit::AccessibilityManager::FocusOvershotDirection)>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_ACCESSIBILITYFOCUSSIGNAL( Dali, Signal<void(Dali::Actor, Dali::Toolkit::AccessibilityManager::FocusOvershotDirection)>);
+//DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_STRINGVALUEPAIR( Dali, pair<std::string, Dali::Property::Value>);
+//DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_STRINGVALUEPAIR( Dali, pair<std::string, Dali::Property::Value>);
+//DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_BOOLSIGNAL( Dali, Signal<bool()>);
+//DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_BOOLSIGNAL( Dali, Signal<bool()>);
+//DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_TIMERSIGNALTYPE( Dali, Signal<bool()>);
+//DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_TIMERSIGNALTYPE( Dali, Signal<bool()>);
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_ACTOR( Dali, Signal<void (Dali::Actor)>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_ACTOR( Dali, Signal<void (Dali::Actor)>);
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_ANIMATIONSIGNAL( Dali, Signal<void(Dali::Animation&)>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_ANIMATIONSIGNAL( Dali, Signal<void(Dali::Animation&)>);
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_BUTTON( Dali, Signal<bool(Dali::Toolkit::Button)>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_BUTTON( Dali, Signal<bool(Dali::Toolkit::Button)>);
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_PAGETURNSIGNAL( Dali, Signal<void(Dali::Toolkit::PageTurnView, unsigned int, bool)>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_PAGETURNSIGNAL( Dali, Signal<void(Dali::Toolkit::PageTurnView, unsigned int, bool)>);
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_PAGEVIEWSIGNAL( Dali, Signal<void(Dali::Toolkit::PageTurnView)>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_PAGEVIEWSIGNAL( Dali, Signal<void(Dali::Toolkit::PageTurnView)>);
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_PANGESTURESIGNAL( Dali, Signal<void (Dali::Actor, const Dali::PanGesture&)>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_PANGESTURESIGNAL( Dali, Signal<void (Dali::Actor, const Dali::PanGesture&)>);
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_PINCHGESTURESIGNAL( Dali, Signal<void (Dali::Actor, const Dali::PinchGesture&)>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_PINCHGESTURESIGNAL( Dali, Signal<void (Dali::Actor, const Dali::PinchGesture&)>);
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_RENDERTASKSIGNAL( Dali, Signal<void(Dali::RenderTask&)>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_RENDERTASKSIGNAL( Dali, Signal<void(Dali::RenderTask&)>);
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_SCROLLABLESIGNAL( Dali, Signal< void(const Dali::Vector2&)>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_SCROLLABLESIGNAL( Dali, Signal< void(const Dali::Vector2&)>);
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_SCROLLVIEWSIGNAL( Dali, Signal< void(const Dali::Toolkit::ScrollView::SnapEvent&)>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_SCROLLVIEWSIGNAL( Dali, Signal< void(const Dali::Toolkit::ScrollView::SnapEvent&)>);
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_SLIDERVALUECHANGEDSIGNAL( Dali, Signal<bool(Dali::Toolkit::Slider, float)>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_SLIDERVALUECHANGEDSIGNAL( Dali, Signal<bool(Dali::Toolkit::Slider, float)>);
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_SLIDERMARKCHANGEDSIGNAL( Dali, Signal<bool(Dali::Toolkit::Slider, int)>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_SLIDERMARKCHANGEDSIGNAL( Dali, Signal<bool(Dali::Toolkit::Slider, int)>);
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_STAGESIGNAL( Dali, Signal<void (const Dali::WheelEvent&)>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_STAGESIGNAL( Dali, Signal<void (const Dali::WheelEvent&)>);
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_STYLECHANGEDSIGNAL( Dali, Signal<void(Dali::Toolkit::StyleManager, Dali::StyleChange::Type)>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_STYLECHANGEDSIGNAL( Dali, Signal<void(Dali::Toolkit::StyleManager, Dali::StyleChange::Type)>);
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_TAPGESTURESIGNAL( Dali, Signal<void (Dali::Actor, const Dali::TapGesture&)>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_TAPGESTURESIGNAL( Dali, Signal<void (Dali::Actor, const Dali::TapGesture&)>);
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_TEXTEDITORSIGNAL( Dali, Signal<void(Dali::Toolkit::TextEditor)>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_TEXTEDITORSIGNAL( Dali, Signal<void(Dali::Toolkit::TextEditor)>);
+
+DALI_CREATE_CUSTOM_DESTRUCTOR_FUNCTION_TEXTFIELDSIGNAL( Dali, Signal<void(Dali::Toolkit::TextField)>);
+DALI_CREATE_CUSTOM_DISPOSE_FUNCTION_TEXTFIELDSIGNAL( Dali, Signal<void(Dali::Toolkit::TextField)>);
index 3659b21..fdcd4b2 100755 (executable)
@@ -25,6 +25,7 @@
 #endif
 
 %include exception.i
+%include dali-gc.i
 
 %exception {
     try {
index 69fdb2b..b6acb9d 100644 (file)
       }
     }
 
-    private static  Application instance; // singleton
+    private static Application _instance; // singleton
 
     public delegate void InitDelegate();
 
       //       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();
     }
 
     public static Application NewApplication() {
-      return NewApplication("",Application.WINDOW_MODE.OPAQUE);
+     _instance = NewApplication("", Application.WINDOW_MODE.OPAQUE);
+     return _instance;
     }
 
     public static Application NewApplication(string stylesheet) {
-      return NewApplication(stylesheet, Application.WINDOW_MODE.OPAQUE);
+      _instance = NewApplication(stylesheet, Application.WINDOW_MODE.OPAQUE);
+      return _instance;
     }
 
     public static Application NewApplication(string stylesheet, Application.WINDOW_MODE windowMode) {
       // we've got an application now connect the signals
       ret.SetupDelegates();
       // set the singleton
-
+      _instance = ret;
       return ret;
     }
 
+    public bool AddIdle(System.Delegate func) {
+      System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func);
+      System.IntPtr ip2 = NDalicManualPINVOKE.MakeCallback(new System.Runtime.InteropServices.HandleRef(this, ip));
+
+      bool ret = NDalicPINVOKE.Application_AddIdle(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip2));
+
+      if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    }
 
     %}
     %enddef
diff --git a/plugins/dali-swig/automatic/cpp/dali_wrap.cpp b/plugins/dali-swig/automatic/cpp/dali_wrap.cpp
deleted file mode 100644 (file)
index 5bff0ef..0000000
+++ /dev/null
@@ -1,88355 +0,0 @@
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 3.0.9
- *
- * 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/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/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/images/nine-patch-image.h>
-
-#include <dali-toolkit/devel-api/builder/builder.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/visual-factory/visual-base.h>
-#include <dali-toolkit/devel-api/visual-factory/visual-factory.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_IsHandleEmpty(Dali::BaseHandle const *self){
-     if( *self )
-     {
-       return true;
-     }
-     else
-     {
-       return false;
-     }
-    }
-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 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_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__Sc_Dali_TouchEvent_SS_const_SA__SP__Sg__Empty(Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > const *self){
-         return self->Empty();
-      }
-SWIGINTERN std::size_t Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__Sc_Dali_TouchEvent_SS_const_SA__SP__Sg__GetConnectionCount(Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > const *self){
-        return self->GetConnectionCount();
-      }
-SWIGINTERN void Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__Sc_Dali_TouchEvent_SS_const_SA__SP__Sg__Connect(Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *self,bool (*func)(Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &)){
-        self->Connect( func );
-      }
-SWIGINTERN void Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__Sc_Dali_TouchEvent_SS_const_SA__SP__Sg__Disconnect(Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *self,bool (*func)(Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &)){
-        self->Disconnect( func );
-      }
-SWIGINTERN bool Dali_Signal_Sl_bool_Sp_Dali_Toolkit_AccessibilityManager_SA__Sc_Dali_TouchEvent_SS_const_SA__SP__Sg__Emit(Dali::Signal< bool (Dali::Toolkit::AccessibilityManager &,Dali::TouchEvent const &) > *self,Dali::Toolkit::AccessibilityManager &arg1,Dali::TouchEvent const &arg2){
-        return self->Emit( arg1, arg2 );
-      }
-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_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"
-
-
-#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 ; 
-      };
-