Merge "Add a TextEditor property to limit input to maximum characters" into devel...
authorSeoyeon Kim <seoyeon2.kim@samsung.com>
Fri, 7 Aug 2020 01:25:34 +0000 (01:25 +0000)
committerGerrit Code Review <gerrit@review>
Fri, 7 Aug 2020 01:25:34 +0000 (01:25 +0000)
146 files changed:
automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/dummy-visual.cpp
automated-tests/src/dali-toolkit-internal/dali-toolkit-test-utils/dummy-visual.h
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/toolkit-window.cpp
automated-tests/src/dali-toolkit/dali-toolkit-test-utils/toolkit-window.h
automated-tests/src/dali-toolkit/utc-Dali-AnimatedVectorImageVisual.cpp
automated-tests/src/dali-toolkit/utc-Dali-AsyncImageLoader.cpp
automated-tests/src/dali-toolkit/utc-Dali-Builder.cpp
automated-tests/src/dali-toolkit/utc-Dali-Button.cpp
automated-tests/src/dali-toolkit/utc-Dali-CheckBoxButton.cpp
automated-tests/src/dali-toolkit/utc-Dali-ConfirmationPopup.cpp
automated-tests/src/dali-toolkit/utc-Dali-Control.cpp
automated-tests/src/dali-toolkit/utc-Dali-ControlWrapper.cpp
automated-tests/src/dali-toolkit/utc-Dali-FlexContainer.cpp
automated-tests/src/dali-toolkit/utc-Dali-ImageView.cpp
automated-tests/src/dali-toolkit/utc-Dali-ItemView.cpp
automated-tests/src/dali-toolkit/utc-Dali-Model3dView.cpp
automated-tests/src/dali-toolkit/utc-Dali-ProgressBar.cpp
automated-tests/src/dali-toolkit/utc-Dali-PushButton.cpp
automated-tests/src/dali-toolkit/utc-Dali-RadioButton.cpp
automated-tests/src/dali-toolkit/utc-Dali-ScrollView.cpp
automated-tests/src/dali-toolkit/utc-Dali-Slider.cpp
automated-tests/src/dali-toolkit/utc-Dali-TextEditor.cpp
automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp
automated-tests/src/dali-toolkit/utc-Dali-TextLabel.cpp
automated-tests/src/dali-toolkit/utc-Dali-VideoView.cpp
automated-tests/src/dali-toolkit/utc-Dali-Visual.cpp
automated-tests/src/dali-toolkit/utc-Dali-VisualFactory.cpp
dali-toolkit/devel-api/controls/control-depth-index-ranges.h
dali-toolkit/devel-api/controls/control-devel.h
dali-toolkit/devel-api/text/text-utils-devel.cpp
dali-toolkit/devel-api/text/text-utils-devel.h
dali-toolkit/internal/controls/buttons/button-impl.cpp
dali-toolkit/internal/controls/buttons/button-impl.h
dali-toolkit/internal/controls/control/control-data-impl.cpp
dali-toolkit/internal/controls/control/control-data-impl.h
dali-toolkit/internal/controls/effects-view/effects-view-impl.cpp
dali-toolkit/internal/controls/effects-view/effects-view-impl.h
dali-toolkit/internal/controls/magnifier/magnifier-impl.cpp
dali-toolkit/internal/controls/model3d-view/model3d-view-impl.cpp
dali-toolkit/internal/controls/model3d-view/model3d-view-impl.h
dali-toolkit/internal/controls/navigation-view/navigation-view-impl.cpp
dali-toolkit/internal/controls/navigation-view/navigation-view-impl.h
dali-toolkit/internal/controls/page-turn-view/page-turn-view-impl.cpp
dali-toolkit/internal/controls/page-turn-view/page-turn-view-impl.h
dali-toolkit/internal/controls/popup/popup-impl.cpp
dali-toolkit/internal/controls/popup/popup-impl.h [changed mode: 0755->0644]
dali-toolkit/internal/controls/progress-bar/progress-bar-impl.cpp
dali-toolkit/internal/controls/progress-bar/progress-bar-impl.h
dali-toolkit/internal/controls/scrollable/item-view/item-view-impl.cpp [changed mode: 0755->0644]
dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.cpp [changed mode: 0755->0644]
dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.h
dali-toolkit/internal/controls/slider/slider-impl.cpp [changed mode: 0755->0644]
dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp
dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.h
dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp
dali-toolkit/internal/controls/text-controls/text-editor-impl.h
dali-toolkit/internal/controls/text-controls/text-field-impl.cpp
dali-toolkit/internal/controls/text-controls/text-field-impl.h
dali-toolkit/internal/controls/video-view/video-view-impl.cpp
dali-toolkit/internal/controls/video-view/video-view-impl.h
dali-toolkit/internal/drag-drop-detector/drag-and-drop-detector-impl.cpp [changed mode: 0755->0644]
dali-toolkit/internal/focus-manager/keyinput-focus-manager-impl.cpp
dali-toolkit/internal/focus-manager/keyinput-focus-manager-impl.h
dali-toolkit/internal/image-loader/image-load-thread.cpp
dali-toolkit/internal/text/decorator/text-decorator.cpp
dali-toolkit/internal/text/rendering/atlas/atlas-glyph-manager-impl.cpp
dali-toolkit/internal/text/rendering/atlas/text-atlas-renderer.cpp
dali-toolkit/internal/transition-effects/cube-transition-effect-impl.cpp
dali-toolkit/internal/transition-effects/cube-transition-effect-impl.h
dali-toolkit/internal/visuals/animated-gradient/animated-gradient-visual.cpp
dali-toolkit/internal/visuals/animated-gradient/animated-gradient-visual.h
dali-toolkit/internal/visuals/animated-image/animated-image-visual.cpp
dali-toolkit/internal/visuals/animated-image/animated-image-visual.h
dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.cpp
dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.h
dali-toolkit/internal/visuals/arc/arc-visual.cpp
dali-toolkit/internal/visuals/arc/arc-visual.h
dali-toolkit/internal/visuals/border/border-visual.cpp
dali-toolkit/internal/visuals/border/border-visual.h
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/image-visual.cpp
dali-toolkit/internal/visuals/image/image-visual.h
dali-toolkit/internal/visuals/mesh/mesh-visual.cpp
dali-toolkit/internal/visuals/mesh/mesh-visual.h
dali-toolkit/internal/visuals/npatch/npatch-visual.cpp
dali-toolkit/internal/visuals/npatch/npatch-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/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-impl.h
dali-toolkit/internal/visuals/wireframe/wireframe-visual.cpp
dali-toolkit/internal/visuals/wireframe/wireframe-visual.h
dali-toolkit/public-api/controls/buttons/button.cpp
dali-toolkit/public-api/controls/buttons/button.h
dali-toolkit/public-api/controls/buttons/check-box-button.cpp
dali-toolkit/public-api/controls/buttons/check-box-button.h
dali-toolkit/public-api/controls/buttons/push-button.cpp
dali-toolkit/public-api/controls/buttons/push-button.h
dali-toolkit/public-api/controls/buttons/radio-button.cpp
dali-toolkit/public-api/controls/buttons/radio-button.h
dali-toolkit/public-api/controls/control-impl.cpp [changed mode: 0755->0644]
dali-toolkit/public-api/controls/control-impl.h
dali-toolkit/public-api/controls/control.cpp
dali-toolkit/public-api/controls/control.h
dali-toolkit/public-api/controls/flex-container/flex-container.cpp
dali-toolkit/public-api/controls/flex-container/flex-container.h
dali-toolkit/public-api/controls/image-view/image-view.cpp
dali-toolkit/public-api/controls/image-view/image-view.h
dali-toolkit/public-api/controls/model3d-view/model3d-view.cpp
dali-toolkit/public-api/controls/model3d-view/model3d-view.h
dali-toolkit/public-api/controls/progress-bar/progress-bar.cpp
dali-toolkit/public-api/controls/progress-bar/progress-bar.h
dali-toolkit/public-api/controls/scrollable/item-view/item-view.cpp
dali-toolkit/public-api/controls/scrollable/item-view/item-view.h
dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.cpp
dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.h
dali-toolkit/public-api/controls/scrollable/scrollable.cpp
dali-toolkit/public-api/controls/scrollable/scrollable.h
dali-toolkit/public-api/controls/slider/slider.cpp
dali-toolkit/public-api/controls/slider/slider.h
dali-toolkit/public-api/controls/text-controls/text-editor.cpp
dali-toolkit/public-api/controls/text-controls/text-editor.h
dali-toolkit/public-api/controls/text-controls/text-field.cpp
dali-toolkit/public-api/controls/text-controls/text-field.h
dali-toolkit/public-api/controls/text-controls/text-label.cpp
dali-toolkit/public-api/controls/text-controls/text-label.h
dali-toolkit/public-api/controls/video-view/video-view.cpp
dali-toolkit/public-api/controls/video-view/video-view.h
dali-toolkit/public-api/dali-toolkit-version.cpp
dali-toolkit/public-api/image-loader/async-image-loader.cpp
dali-toolkit/public-api/image-loader/async-image-loader.h
docs/content/example-code/properties.cpp
docs/content/main.md
docs/content/programming-guide/creating-custom-controls.md
packaging/dali-toolkit.spec

index 651797e..c1d0585 100644 (file)
@@ -63,7 +63,7 @@ void DummyVisual::OnSetTransform()
   // Implement if required
 }
 
-void DummyVisual::DoSetOnStage( Actor& actor )
+void DummyVisual::DoSetOnScene( Actor& actor )
 {
   // Implement if required
 }
index 05cae85..8136089 100644 (file)
@@ -79,7 +79,7 @@ protected:
   virtual void DoCreateInstancePropertyMap( Property::Map& map ) const override;
   virtual void DoSetProperties( const Property::Map& propertyMap ) override;
   virtual void OnSetTransform() override;
-  virtual void DoSetOnStage( Actor& actor ) override;
+  virtual void DoSetOnScene( Actor& actor ) override;
   virtual void OnDoAction( const Property::Index actionName, const Property::Value& attributes ) override;
 
 private:
index b8ddd29..9f4656c 100644 (file)
@@ -264,8 +264,8 @@ void Impl::DummyControl::OnPinch(const PinchGesture& pinch) { pinchCalled = true
 void Impl::DummyControl::OnPan(const PanGesture& pan) { panCalled = true; }
 void Impl::DummyControl::OnTap(const TapGesture& tap) { tapCalled = true; }
 void Impl::DummyControl::OnLongPress(const LongPressGesture& longPress) { longPressCalled = true; }
-void Impl::DummyControl::OnStageConnection( int depth ) { Control::OnStageConnection( depth ); stageConnectionCalled = true; }
-void Impl::DummyControl::OnStageDisconnection() { stageDisconnectionCalled = true; Control::OnStageDisconnection(); }
+void Impl::DummyControl::OnSceneConnection( int depth ) { Control::OnSceneConnection( depth ); stageConnectionCalled = true; }
+void Impl::DummyControl::OnSceneDisconnection() { stageDisconnectionCalled = true; Control::OnSceneDisconnection(); }
 void Impl::DummyControl::OnChildAdd(Actor& child) { childAddCalled = true; }
 void Impl::DummyControl::OnChildRemove(Actor& child) { childRemoveCalled = true; }
 void Impl::DummyControl::OnSizeSet(const Vector3& targetSize) { Control::OnSizeSet( targetSize ); sizeSetCalled = true; }
index 1f32459..87b9748 100644 (file)
@@ -166,8 +166,8 @@ private: // From Internal::Control
 
 private: // From CustomActorImpl
 
-  virtual void OnStageConnection( int depth );
-  virtual void OnStageDisconnection();
+  virtual void OnSceneConnection( int depth );
+  virtual void OnSceneDisconnection();
   virtual void OnChildAdd(Actor& child);
   virtual void OnChildRemove(Actor& child);
   virtual void OnSizeSet(const Vector3& targetSize);
index 3c01e99..d4c5807 100644 (file)
@@ -80,16 +80,13 @@ Window::~Window()
 {
 }
 
-Window::Window(const Window& handle)
-: BaseHandle( handle )
-{
-}
+Window::Window( const Window& copy ) = default;
 
-Window& Window::operator=(const Window& rhs)
-{
-  BaseHandle::operator=(rhs);
-  return *this;
-}
+Window& Window::operator=( const Window& rhs ) = default;
+
+Window::Window( Window&& rhs ) = default;
+
+Window& Window::operator=( Window&& rhs ) = default;
 
 Dali::Window Window::New( PositionSize windowPosition, const std::string& name, bool isTransparent )
 {
index 000923a..b28f305 100644 (file)
@@ -61,6 +61,8 @@ public:
   ~Window();
   Window(const Window& handle);
   Window& operator=(const Window& rhs);
+  Window( Window&& rhs );
+  Window& operator=( Window&& rhs );
 
   Integration::Scene GetScene();
   Dali::RenderSurfaceInterface& GetRenderSurface();
index fdbd8bf..dd7827f 100644 (file)
@@ -86,7 +86,7 @@ int UtcDaliVisualFactoryGetAnimatedVectorImageVisual01(void)
   Renderer renderer = actor.GetRendererAt( 0u );
   DALI_TEST_CHECK( renderer );
 
-  // Test SetOffStage().
+  // Test SetOffScene().
   actor.Unparent();
   DALI_TEST_CHECK( actor.GetRendererCount() == 0u );
 
index 7375515..175ccfc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -123,6 +123,22 @@ int UtcDaliAsyncImageLoaderCopyConstructor(void)
   END_TEST;
 }
 
+int UtcDaliAsyncImageLoaderMoveConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  AsyncImageLoader loader = AsyncImageLoader::New( );
+  DALI_TEST_CHECK( loader );
+  DALI_TEST_EQUALS( 1, loader.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+
+  AsyncImageLoader moved = std::move( loader );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( !loader );
+
+  END_TEST;
+}
+
 int UtcDaliAsyncImageLoaderAssignmentOperator(void)
 {
   ToolkitTestApplication application;
@@ -140,6 +156,23 @@ int UtcDaliAsyncImageLoaderAssignmentOperator(void)
   END_TEST;
 }
 
+int UtcDaliAsyncImageLoaderMoveAssignment(void)
+{
+  ToolkitTestApplication application;
+
+  AsyncImageLoader loader = AsyncImageLoader::New( );
+  DALI_TEST_CHECK( loader );
+  DALI_TEST_EQUALS( 1, loader.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+
+  AsyncImageLoader moved;
+  moved = std::move( loader );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( !loader );
+
+  END_TEST;
+}
+
 int UtcDaliAsyncImageLoaderDownCastP(void)
 {
   ToolkitTestApplication application;
index 52f6f98..61bbc5c 100644 (file)
@@ -1072,7 +1072,7 @@ int UtcDaliBuilderCustomShaderP(void)
     "      },\n"
     "      \"signals\": [\n"
     "        {\n"
-    "          \"name\": \"onStage\",\n"
+    "          \"name\": \"onScene\",\n"
     "          \"action\": \"play\",\n"
     "          \"animation\": \"Animation_1\"\n"
     "        }\n"
@@ -1230,12 +1230,12 @@ int UtcDaliBuilderPathConstraintsP(void)
     "      },\n"
     "      \"signals\": [\n"
     "        {\n"
-    "          \"name\": \"onStage\",\n"
+    "          \"name\": \"onScene\",\n"
     "          \"action\": \"play\",\n"
     "          \"animation\": \"pathAnimation\"\n"
     "        },\n"
     "        {\n"
-    "          \"name\": \"onStage\",\n"
+    "          \"name\": \"onScene\",\n"
     "          \"action\": \"applyConstraint\",\n"
     "          \"constrainer\": \"constrainer0\",\n"
     "          \"properties\":\n"
@@ -1250,7 +1250,7 @@ int UtcDaliBuilderPathConstraintsP(void)
     "          ]\n"
     "        },\n"
     "        {\n"
-    "          \"name\": \"onStage\",\n"
+    "          \"name\": \"onScene\",\n"
     "          \"action\": \"applyConstraint\",\n"
     "          \"constrainer\": \"constrainer1\",\n"
     "          \"properties\":\n"
@@ -1265,7 +1265,7 @@ int UtcDaliBuilderPathConstraintsP(void)
     "          ]\n"
     "        },\n"
     "        {\n"
-    "          \"name\": \"offStage\",\n"
+    "          \"name\": \"offScene\",\n"
     "          \"action\": \"removeConstraints\",\n"
     "          \"constrainer\": \"constrainer0\",\n"
     "          \"properties\":\n"
@@ -1280,7 +1280,7 @@ int UtcDaliBuilderPathConstraintsP(void)
     "          ]\n"
     "        },\n"
     "        {\n"
-    "          \"name\": \"offStage\",\n"
+    "          \"name\": \"offScene\",\n"
     "          \"action\": \"removeConstraints\",\n"
     "          \"constrainer\": \"constrainer1\",\n"
     "          \"properties\":\n"
index 92e64ec..e99c8f7 100644 (file)
@@ -163,6 +163,25 @@ int UtcDaliButtonCopyConstructorP(void)
   END_TEST;
 }
 
+int UtcDaliButtonMoveConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  Button button = PushButton::New();
+  DALI_TEST_EQUALS( 1, button.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( button.GetProperty<bool>( Button::Property::TOGGLABLE ), false , TEST_LOCATION );
+  button.SetProperty( Button::Property::TOGGLABLE, true );
+  DALI_TEST_EQUALS( button.GetProperty<bool>( Button::Property::TOGGLABLE ), true , TEST_LOCATION );
+
+  Button moved = std::move( button );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( moved.GetProperty<bool>( Button::Property::TOGGLABLE ), true , TEST_LOCATION );
+  DALI_TEST_CHECK( !button );
+
+  END_TEST;
+}
+
 int UtcDaliButtonAssignmentOperatorP(void)
 {
   TestApplication application;
@@ -176,6 +195,26 @@ int UtcDaliButtonAssignmentOperatorP(void)
   END_TEST;
 }
 
+int UtcDaliButtonMoveAssignment(void)
+{
+  ToolkitTestApplication application;
+
+  Button button = PushButton::New();
+  DALI_TEST_EQUALS( 1, button.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( button.GetProperty<bool>( Button::Property::TOGGLABLE ), false , TEST_LOCATION );
+  button.SetProperty( Button::Property::TOGGLABLE, true );
+  DALI_TEST_EQUALS( button.GetProperty<bool>( Button::Property::TOGGLABLE ), true , TEST_LOCATION );
+
+  Button moved;
+  moved = std::move( button );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( moved.GetProperty<bool>( Button::Property::TOGGLABLE ), true , TEST_LOCATION );
+  DALI_TEST_CHECK( !button );
+
+  END_TEST;
+}
+
 int UtcDaliButtonDownCastP(void)
 {
   TestApplication application;
index cc8d381..799a069 100644 (file)
@@ -90,6 +90,25 @@ int UtcDaliCheckBoxButtonCopyConstructorP(void)
   END_TEST;
 }
 
+int UtcDaliCheckBoxButtonMoveConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  CheckBoxButton button = CheckBoxButton::New();
+  DALI_TEST_EQUALS( 1, button.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( button.GetProperty<bool>( Button::Property::TOGGLABLE ), true , TEST_LOCATION );
+  button.SetProperty( Button::Property::TOGGLABLE, false );
+  DALI_TEST_EQUALS( button.GetProperty<bool>( Button::Property::TOGGLABLE ), false , TEST_LOCATION );
+
+  CheckBoxButton moved = std::move( button );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( moved.GetProperty<bool>( Button::Property::TOGGLABLE ), false , TEST_LOCATION );
+  DALI_TEST_CHECK( !button );
+
+  END_TEST;
+}
+
 int UtcDaliCheckBoxButtonAssignmentOperatorP(void)
 {
   ToolkitTestApplication application;
@@ -103,6 +122,26 @@ int UtcDaliCheckBoxButtonAssignmentOperatorP(void)
   END_TEST;
 }
 
+int UtcDaliCheckBoxButtonMoveAssignment(void)
+{
+  ToolkitTestApplication application;
+
+  CheckBoxButton button = CheckBoxButton::New();
+  DALI_TEST_EQUALS( 1, button.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( button.GetProperty<bool>( Button::Property::TOGGLABLE ), true , TEST_LOCATION );
+  button.SetProperty( Button::Property::TOGGLABLE, false );
+  DALI_TEST_EQUALS( button.GetProperty<bool>( Button::Property::TOGGLABLE ), false , TEST_LOCATION );
+
+  CheckBoxButton moved;
+  moved = std::move( button );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( moved.GetProperty<bool>( Button::Property::TOGGLABLE ), false , TEST_LOCATION );
+  DALI_TEST_CHECK( !button );
+
+  END_TEST;
+}
+
 int UtcDaliCheckBoxButtonNewP(void)
 {
   ToolkitTestApplication application;
index a989474..8bdddfe 100644 (file)
@@ -172,11 +172,11 @@ int UtcDaliConfirmationPopupDynamicSignalGenerationP(void)
 
   popup.SetFooter( footerActor );
 
-  // Tell the confirmation popup to connect to the signal in our button called "onStage".
-  popup.SetProperty( Toolkit::ConfirmationPopup::Property::CONNECT_SIGNAL_OK_SELECTED, "onStage" );
+  // Tell the confirmation popup to connect to the signal in our button called "onScene".
+  popup.SetProperty( Toolkit::ConfirmationPopup::Property::CONNECT_SIGNAL_OK_SELECTED, "onScene" );
   std::string resultProperty;
   DALI_TEST_CHECK( popup.GetProperty( Toolkit::ConfirmationPopup::Property::CONNECT_SIGNAL_OK_SELECTED ).Get( resultProperty ) );
-  DALI_TEST_EQUALS( resultProperty, "onStage",  TEST_LOCATION );
+  DALI_TEST_EQUALS( resultProperty, "onScene",  TEST_LOCATION );
 
   // Connect to the confirmation popup's OK signal. This signal is dynamically created upon connection.
   gSignalReceivedOK = false;
@@ -197,9 +197,9 @@ int UtcDaliConfirmationPopupDynamicSignalGenerationP(void)
 
   // Remove the popup from the stage, and connect the cancel signal.
   popup.Unparent();
-  popup.SetProperty( Toolkit::ConfirmationPopup::Property::CONNECT_SIGNAL_CANCEL_SELECTED, "onStage" );
+  popup.SetProperty( Toolkit::ConfirmationPopup::Property::CONNECT_SIGNAL_CANCEL_SELECTED, "onScene" );
   DALI_TEST_CHECK( popup.GetProperty( Toolkit::ConfirmationPopup::Property::CONNECT_SIGNAL_CANCEL_SELECTED ).Get( resultProperty ) );
-  DALI_TEST_EQUALS( resultProperty, "onStage",  TEST_LOCATION );
+  DALI_TEST_EQUALS( resultProperty, "onScene",  TEST_LOCATION );
 
   popup.ConnectSignal( testTracker, "controlSignalCancel",   ConfirmationPopupCancelTestFunctor() );
 
@@ -236,8 +236,8 @@ int UtcDaliConfirmationPopupDynamicSignalGenerationN(void)
    buttonOK.SetProperty( Dali::Actor::Property::NAME, "controlOkMisnamed" );
    popup.SetFooter( buttonOK );
 
-   // Tell the confirmation popup to connect to the signal in our button called "onStage".
-   popup.SetProperty( Toolkit::ConfirmationPopup::Property::CONNECT_SIGNAL_OK_SELECTED, "onStage" );
+   // Tell the confirmation popup to connect to the signal in our button called "onScene".
+   popup.SetProperty( Toolkit::ConfirmationPopup::Property::CONNECT_SIGNAL_OK_SELECTED, "onScene" );
 
    // Connect to the confirmation popup's OK signal.
    gSignalReceivedOK = false;
index 1f1b2bc..396bab4 100644 (file)
@@ -181,6 +181,43 @@ int UtcDaliControlCopyAndAssignment(void)
   END_TEST;
 }
 
+int UtcDaliControlMoveConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  Control control = Control::New();
+  DALI_TEST_EQUALS( 1, control.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  control.SetProperty( Actor::Property::SENSITIVE, false );
+  DALI_TEST_CHECK( false == control.GetProperty< bool >( Actor::Property::SENSITIVE ) );
+
+  Control moved = std::move( control );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( false == moved.GetProperty< bool >( Actor::Property::SENSITIVE ) );
+  DALI_TEST_CHECK( !control );
+
+  END_TEST;
+}
+
+int UtcDaliControlMoveAssignment(void)
+{
+  ToolkitTestApplication application;
+
+  Control control = Control::New();
+  DALI_TEST_EQUALS( 1, control.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  control.SetProperty( Actor::Property::SENSITIVE, false );
+  DALI_TEST_CHECK( false == control.GetProperty< bool >( Actor::Property::SENSITIVE ) );
+
+  Control moved;
+  moved = std::move( control );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( false == moved.GetProperty< bool >( Actor::Property::SENSITIVE ) );
+  DALI_TEST_CHECK( !control );
+
+  END_TEST;
+}
+
 int UtcDaliControlDownCast(void)
 {
   ToolkitTestApplication application;
@@ -369,7 +406,7 @@ int UtcDaliControlSignalConnectDisconnect(void)
     DummyControl dummy = DummyControlImpl::New();
 
     Actor actor = Actor::New();
-    DALI_TEST_EQUALS( actor.OnStageSignal().GetConnectionCount(), 0u, TEST_LOCATION );
+    DALI_TEST_EQUALS( actor.OnSceneSignal().GetConnectionCount(), 0u, TEST_LOCATION );
     Toolkit::Internal::Control& control = Toolkit::Internal::GetImplementation( dummy );
     DummyControlImpl* dummyImpl = dynamic_cast<DummyControlImpl*>(&control);
 
@@ -379,16 +416,16 @@ int UtcDaliControlSignalConnectDisconnect(void)
       END_TEST;
     }
 
-    actor.OnStageSignal().Connect( dummyImpl, &DummyControlImpl::CustomSlot1 );
-    DALI_TEST_EQUALS( actor.OnStageSignal().GetConnectionCount(), 1u, TEST_LOCATION );
+    actor.OnSceneSignal().Connect( dummyImpl, &DummyControlImpl::CustomSlot1 );
+    DALI_TEST_EQUALS( actor.OnSceneSignal().GetConnectionCount(), 1u, TEST_LOCATION );
     DALI_TEST_EQUALS( dummyImpl->mCustomSlot1Called, false, TEST_LOCATION );
 
     application.GetScene().Add( actor );
     DALI_TEST_EQUALS( dummyImpl->mCustomSlot1Called, true, TEST_LOCATION );
 
     dummyImpl->mCustomSlot1Called = false;
-    actor.OnStageSignal().Disconnect( dummyImpl, &DummyControlImpl::CustomSlot1 );
-    DALI_TEST_EQUALS( actor.OnStageSignal().GetConnectionCount(), 0u, TEST_LOCATION );
+    actor.OnSceneSignal().Disconnect( dummyImpl, &DummyControlImpl::CustomSlot1 );
+    DALI_TEST_EQUALS( actor.OnSceneSignal().GetConnectionCount(), 0u, TEST_LOCATION );
     application.GetScene().Remove( actor );
     application.GetScene().Add( actor );
     DALI_TEST_EQUALS( dummyImpl->mCustomSlot1Called, false, TEST_LOCATION );
@@ -413,8 +450,8 @@ int UtcDaliControlSignalAutomaticDisconnect(void)
       END_TEST;
     }
 
-    actor.OnStageSignal().Connect( dummyImpl, &DummyControlImpl::CustomSlot1 );
-    DALI_TEST_EQUALS( actor.OnStageSignal().GetConnectionCount(), 1u, TEST_LOCATION );
+    actor.OnSceneSignal().Connect( dummyImpl, &DummyControlImpl::CustomSlot1 );
+    DALI_TEST_EQUALS( actor.OnSceneSignal().GetConnectionCount(), 1u, TEST_LOCATION );
     DALI_TEST_EQUALS( dummyImpl->mCustomSlot1Called, false, TEST_LOCATION );
 
     application.GetScene().Add( actor );
@@ -423,7 +460,7 @@ int UtcDaliControlSignalAutomaticDisconnect(void)
   }
   // dummyControl automatically disconnects
 
-  DALI_TEST_EQUALS( actor.OnStageSignal().GetConnectionCount(), 0u, TEST_LOCATION );
+  DALI_TEST_EQUALS( actor.OnSceneSignal().GetConnectionCount(), 0u, TEST_LOCATION );
 
   const Vector3 ignoredSize( 20, 20, 0 );
   actor.SetProperty( Actor::Property::SIZE, ignoredSize );
index 120f6b0..1d82bd6 100644 (file)
@@ -110,14 +110,14 @@ struct TestCustomControl : public Toolkit::Internal::ControlWrapper
   virtual void OnInitialize( const char* name ) {}
 
   // From Toolkit::Internal::ControlWrapper
-  virtual void OnStageConnection( int depth )
+  virtual void OnSceneConnection( int depth )
   {
     mDepth = depth;
-    Control::OnStageConnection(depth);
+    Control::OnSceneConnection(depth);
   }
-  virtual void OnStageDisconnection()
+  virtual void OnSceneDisconnection()
   {
-    Control::OnStageDisconnection();
+    Control::OnSceneDisconnection();
   }
   virtual void OnChildAdd( Actor& child )
   {
index a698b3c..61c4a58 100644 (file)
@@ -109,6 +109,24 @@ int UtcDaliToolkitFlexContainerCopyConstructorP(void)
   END_TEST;
 }
 
+int UtcDaliFlexContainerMoveConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  FlexContainer flexContainer = FlexContainer::New();
+  DALI_TEST_EQUALS( 1, flexContainer.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  flexContainer.SetProperty( FlexContainer::Property::FLEX_DIRECTION, FlexContainer::ROW_REVERSE );
+  DALI_TEST_CHECK( flexContainer.GetProperty<int>( FlexContainer::Property::FLEX_DIRECTION ) == FlexContainer::ROW_REVERSE );
+
+  FlexContainer moved = std::move( flexContainer );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( moved.GetProperty<int>( FlexContainer::Property::FLEX_DIRECTION ) == FlexContainer::ROW_REVERSE );
+  DALI_TEST_CHECK( !flexContainer );
+
+  END_TEST;
+}
+
 int UtcDaliToolkitFlexContainerAssignmentOperatorP(void)
 {
   ToolkitTestApplication application;
@@ -122,6 +140,25 @@ int UtcDaliToolkitFlexContainerAssignmentOperatorP(void)
   END_TEST;
 }
 
+int UtcDaliFlexContainerMoveAssignment(void)
+{
+  ToolkitTestApplication application;
+
+  FlexContainer flexContainer = FlexContainer::New();
+  DALI_TEST_EQUALS( 1, flexContainer.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  flexContainer.SetProperty( FlexContainer::Property::FLEX_DIRECTION, FlexContainer::ROW_REVERSE );
+  DALI_TEST_CHECK( flexContainer.GetProperty<int>( FlexContainer::Property::FLEX_DIRECTION ) == FlexContainer::ROW_REVERSE );
+
+  FlexContainer moved;
+  moved = std::move( flexContainer );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( moved.GetProperty<int>( FlexContainer::Property::FLEX_DIRECTION ) == FlexContainer::ROW_REVERSE );
+  DALI_TEST_CHECK( !flexContainer );
+
+  END_TEST;
+}
+
 // Positive test case for a method
 int UtcDaliToolkitFlexContainerGetPropertyP(void)
 {
index 204cf23..56f7db7 100644 (file)
@@ -126,6 +126,24 @@ int UtcDaliImageViewCopyConstructorP(void)
   END_TEST;
 }
 
+int UtcDaliImageViewMoveConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  ImageView imageView = ImageView::New();
+  DALI_TEST_EQUALS( 1, imageView.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  imageView.SetProperty( Actor::Property::SENSITIVE, false );
+  DALI_TEST_CHECK( false == imageView.GetProperty< bool >( Actor::Property::SENSITIVE ) );
+
+  ImageView moved = std::move( imageView );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( false == moved.GetProperty< bool >( Actor::Property::SENSITIVE ) );
+  DALI_TEST_CHECK( !imageView );
+
+  END_TEST;
+}
+
 int UtcDaliImageViewAssignmentOperatorP(void)
 {
   ToolkitTestApplication application;
@@ -139,6 +157,25 @@ int UtcDaliImageViewAssignmentOperatorP(void)
   END_TEST;
 }
 
+int UtcDaliImageViewMoveAssignment(void)
+{
+  ToolkitTestApplication application;
+
+  ImageView imageView = ImageView::New();
+  DALI_TEST_EQUALS( 1, imageView.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  imageView.SetProperty( Actor::Property::SENSITIVE, false );
+  DALI_TEST_CHECK( false == imageView.GetProperty< bool >( Actor::Property::SENSITIVE ) );
+
+  ImageView moved;
+  moved = std::move( imageView );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( false == moved.GetProperty< bool >( Actor::Property::SENSITIVE ) );
+  DALI_TEST_CHECK( !imageView );
+
+  END_TEST;
+}
+
 int UtcDaliImageViewDownCastP(void)
 {
   ToolkitTestApplication application;
@@ -515,7 +552,7 @@ int UtcDaliImageViewAsyncLoadingWithAtlasing(void)
   imageView.SetProperty( Toolkit::Control::Property::PADDING, Extents( 10u, 10u, 10u, 10u ) );
 
   // By default, Aysnc loading is used
-  // loading is not started if the actor is offStage
+  // loading is not started if the actor is offScene
 
   application.GetScene().Add( imageView );
   application.SendNotification();
index 6b5f743..1ba8d0b 100644 (file)
@@ -166,6 +166,75 @@ int UtcDaliItemViewNew(void)
   END_TEST;
 }
 
+int UtcDaliItemViewCopyConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  TestItemFactory factory;
+  ItemView itemView = ItemView::New( factory );
+  DALI_TEST_CHECK( itemView );
+
+  ItemView copy( itemView );
+  DALI_TEST_CHECK( copy );
+
+  END_TEST;
+}
+
+int UtcDaliItemViewCopyAssignment(void)
+{
+  ToolkitTestApplication application;
+
+  TestItemFactory factory;
+  ItemView itemView = ItemView::New( factory );
+  DALI_TEST_CHECK( itemView );
+
+  ItemView copy;
+  copy = itemView;
+  DALI_TEST_CHECK( copy );
+  DALI_TEST_EQUALS( itemView, copy, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int UtcDaliItemViewMoveConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  TestItemFactory factory;
+  ItemView itemView = ItemView::New( factory );
+  DALI_TEST_EQUALS( 1, itemView.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  itemView.SetProperty( Actor::Property::SENSITIVE, false );
+  DALI_TEST_CHECK( false == itemView.GetProperty< bool >( Actor::Property::SENSITIVE ) );
+
+  ItemView moved = std::move( itemView );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( false == moved.GetProperty< bool >( Actor::Property::SENSITIVE ) );
+  DALI_TEST_CHECK( !itemView );
+
+  END_TEST;
+}
+
+int UtcDaliItemViewMoveAssignment(void)
+{
+  ToolkitTestApplication application;
+
+  TestItemFactory factory;
+  ItemView itemView = ItemView::New( factory );
+  DALI_TEST_EQUALS( 1, itemView.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  itemView.SetProperty( Actor::Property::SENSITIVE, false );
+  DALI_TEST_CHECK( false == itemView.GetProperty< bool >( Actor::Property::SENSITIVE ) );
+
+  ItemView moved;
+  moved = std::move( itemView );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( false == moved.GetProperty< bool >( Actor::Property::SENSITIVE ) );
+  DALI_TEST_CHECK( !itemView );
+
+  END_TEST;
+}
+
 int UtcDaliItemViewDownCast(void)
 {
   ToolkitTestApplication application;
index b13cacb..b5e3429 100644 (file)
@@ -174,6 +174,43 @@ int UtcDaliModelCopyAndAssignment(void)
   END_TEST;
 }
 
+int UtcDaliModelMoveConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  Model3dView view = Toolkit::Model3dView::New();
+  DALI_TEST_EQUALS( 1, view.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  view.SetProperty( Actor::Property::SENSITIVE, false );
+  DALI_TEST_CHECK( false == view.GetProperty< bool >( Actor::Property::SENSITIVE ) );
+
+  Model3dView moved = std::move( view );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( false == moved.GetProperty< bool >( Actor::Property::SENSITIVE ) );
+  DALI_TEST_CHECK( !view );
+
+  END_TEST;
+}
+
+int UtcDaliModelMoveAssignment(void)
+{
+  ToolkitTestApplication application;
+
+  Model3dView view = Toolkit::Model3dView::New();
+  DALI_TEST_EQUALS( 1, view.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  view.SetProperty( Actor::Property::SENSITIVE, false );
+  DALI_TEST_CHECK( false == view.GetProperty< bool >( Actor::Property::SENSITIVE ) );
+
+  Model3dView moved;
+  moved = std::move( view );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( false == moved.GetProperty< bool >( Actor::Property::SENSITIVE ) );
+  DALI_TEST_CHECK( !view );
+
+  END_TEST;
+}
+
 int UtcDaliModelTypeRegistry(void)
 {
   ToolkitTestApplication application;
index 9e27978..9e421fd 100644 (file)
@@ -115,6 +115,71 @@ int UtcDaliProgressBarDestructor(void)
   END_TEST;
 }
 
+int UtcDaliProgressBarCopyConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  ProgressBar progressBar = ProgressBar::New();
+  DALI_TEST_CHECK( progressBar );
+
+  ProgressBar copy( progressBar );
+  DALI_TEST_CHECK( copy );
+
+  END_TEST;
+}
+
+int UtcDaliProgressBarCopyAssignment(void)
+{
+  ToolkitTestApplication application;
+
+  ProgressBar progressBar = ProgressBar::New();
+  DALI_TEST_CHECK( progressBar );
+
+  ProgressBar copy;
+  copy = progressBar;
+  DALI_TEST_CHECK( copy );
+  DALI_TEST_EQUALS( progressBar, copy, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int UtcDaliProgressBarMoveConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  ProgressBar progressBar = ProgressBar::New();
+  DALI_TEST_EQUALS( 1, progressBar.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  progressBar.SetProperty( Actor::Property::SENSITIVE, false );
+  DALI_TEST_CHECK( false == progressBar.GetProperty< bool >( Actor::Property::SENSITIVE ) );
+
+  ProgressBar moved = std::move( progressBar );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( false == moved.GetProperty< bool >( Actor::Property::SENSITIVE ) );
+  DALI_TEST_CHECK( !progressBar );
+
+  END_TEST;
+}
+
+int UtcDaliProgressBarMoveAssignment(void)
+{
+  ToolkitTestApplication application;
+
+  ProgressBar progressBar = ProgressBar::New();
+  DALI_TEST_EQUALS( 1, progressBar.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  progressBar.SetProperty( Actor::Property::SENSITIVE, false );
+  DALI_TEST_CHECK( false == progressBar.GetProperty< bool >( Actor::Property::SENSITIVE ) );
+
+  ProgressBar moved;
+  moved = std::move( progressBar );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( false == moved.GetProperty< bool >( Actor::Property::SENSITIVE ) );
+  DALI_TEST_CHECK( !progressBar );
+
+  END_TEST;
+}
+
 int UtcDaliProgressBarDownCast(void)
 {
   ToolkitTestApplication application;
index 4d0de67..044018b 100644 (file)
@@ -187,6 +187,25 @@ int UtcDaliPushButtonCopyConstructorP(void)
   END_TEST;
 }
 
+int UtcDaliPushButtonMoveConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  PushButton button = PushButton::New();
+  DALI_TEST_EQUALS( 1, button.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( button.GetProperty<bool>( Button::Property::TOGGLABLE ), false , TEST_LOCATION );
+  button.SetProperty( Button::Property::TOGGLABLE, true );
+  DALI_TEST_EQUALS( button.GetProperty<bool>( Button::Property::TOGGLABLE ), true , TEST_LOCATION );
+
+  PushButton moved = std::move( button );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( moved.GetProperty<bool>( Button::Property::TOGGLABLE ), true , TEST_LOCATION );
+  DALI_TEST_CHECK( !button );
+
+  END_TEST;
+}
+
 int UtcDaliPushButtonAssignmentOperatorP(void)
 {
   TestApplication application;
@@ -200,6 +219,26 @@ int UtcDaliPushButtonAssignmentOperatorP(void)
   END_TEST;
 }
 
+int UtcDaliPushButtonMoveAssignment(void)
+{
+  ToolkitTestApplication application;
+
+  PushButton button = PushButton::New();
+  DALI_TEST_EQUALS( 1, button.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( button.GetProperty<bool>( Button::Property::TOGGLABLE ), false , TEST_LOCATION );
+  button.SetProperty( Button::Property::TOGGLABLE, true );
+  DALI_TEST_EQUALS( button.GetProperty<bool>( Button::Property::TOGGLABLE ), true , TEST_LOCATION );
+
+  PushButton moved;
+  moved = std::move( button );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( moved.GetProperty<bool>( Button::Property::TOGGLABLE ), true , TEST_LOCATION );
+  DALI_TEST_CHECK( !button );
+
+  END_TEST;
+}
+
 int UtcDaliPushButtonNewP(void)
 {
   TestApplication application;
index d56de3e..ee1ebf5 100644 (file)
@@ -86,6 +86,25 @@ int UtcDaliRadioButtonCopyConstructorP(void)
   END_TEST;
 }
 
+int UtcDaliRadioButtonMoveConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  RadioButton button = RadioButton::New();
+  DALI_TEST_EQUALS( 1, button.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( button.GetProperty<bool>( Button::Property::TOGGLABLE ), true , TEST_LOCATION );
+  button.SetProperty( Button::Property::TOGGLABLE, false );
+  DALI_TEST_EQUALS( button.GetProperty<bool>( Button::Property::TOGGLABLE ), false , TEST_LOCATION );
+
+  RadioButton moved = std::move( button );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( moved.GetProperty<bool>( Button::Property::TOGGLABLE ), false , TEST_LOCATION );
+  DALI_TEST_CHECK( !button );
+
+  END_TEST;
+}
+
 int UtcDaliRadioButtonAssignmentOperatorP(void)
 {
   TestApplication application;
@@ -99,6 +118,26 @@ int UtcDaliRadioButtonAssignmentOperatorP(void)
   END_TEST;
 }
 
+int UtcDaliRadioButtonMoveAssignment(void)
+{
+  ToolkitTestApplication application;
+
+  RadioButton button = RadioButton::New();
+  DALI_TEST_EQUALS( 1, button.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( button.GetProperty<bool>( Button::Property::TOGGLABLE ), true , TEST_LOCATION );
+  button.SetProperty( Button::Property::TOGGLABLE, false );
+  DALI_TEST_EQUALS( button.GetProperty<bool>( Button::Property::TOGGLABLE ), false , TEST_LOCATION );
+
+  RadioButton moved;
+  moved = std::move( button );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( moved.GetProperty<bool>( Button::Property::TOGGLABLE ), false , TEST_LOCATION );
+  DALI_TEST_CHECK( !button );
+
+  END_TEST;
+}
+
 int UtcDaliRadioButtonNewP(void)
 {
   ToolkitTestApplication application;
index c1fee47..4e3974d 100644 (file)
@@ -289,6 +289,24 @@ int UtcDaliToolkitScrollViewCopyConstructorP(void)
   END_TEST;
 }
 
+int UtcDaliScrollViewMoveConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  ScrollView scrollView = ScrollView::New();
+  DALI_TEST_EQUALS( 1, scrollView.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  scrollView.SetProperty( ScrollView::Property::SCROLL_POSITION, Vector2(10.0f, 10.0f) );
+  DALI_TEST_EQUALS( scrollView.GetProperty<Vector2>( ScrollView::Property::SCROLL_POSITION ), Vector2(10.0f, 10.0f), TEST_LOCATION );
+
+  ScrollView moved = std::move( scrollView );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( moved.GetProperty<Vector2>( ScrollView::Property::SCROLL_POSITION ), Vector2(10.0f, 10.0f), TEST_LOCATION );
+  DALI_TEST_CHECK( !scrollView );
+
+  END_TEST;
+}
+
 int UtcDaliToolkitScrollViewAssignmentOperatorP(void)
 {
   ToolkitTestApplication application;
@@ -296,12 +314,32 @@ int UtcDaliToolkitScrollViewAssignmentOperatorP(void)
   ScrollView scrollView = ScrollView::New();
   scrollView.SetProperty( ScrollView::Property::SCROLL_POSITION, Vector2(10.0f, 10.0f) );
 
-  ScrollView copy = scrollView;
+  ScrollView copy;
+  copy = scrollView;
   DALI_TEST_CHECK( copy );
   DALI_TEST_CHECK( copy.GetProperty<Vector2>( ScrollView::Property::SCROLL_POSITION ) == scrollView.GetProperty<Vector2>( ScrollView::Property::SCROLL_POSITION ) );
   END_TEST;
 }
 
+int UtcDaliScrollViewMoveAssignment(void)
+{
+  ToolkitTestApplication application;
+
+  ScrollView scrollView = ScrollView::New();
+  DALI_TEST_EQUALS( 1, scrollView.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  scrollView.SetProperty( ScrollView::Property::SCROLL_POSITION, Vector2(10.0f, 10.0f) );
+  DALI_TEST_EQUALS( scrollView.GetProperty<Vector2>( ScrollView::Property::SCROLL_POSITION ), Vector2(10.0f, 10.0f), TEST_LOCATION );
+
+  ScrollView moved;
+  moved = std::move( scrollView );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( moved.GetProperty<Vector2>( ScrollView::Property::SCROLL_POSITION ), Vector2(10.0f, 10.0f), TEST_LOCATION );
+  DALI_TEST_CHECK( !scrollView );
+
+  END_TEST;
+}
+
 int UtcDaliScrollViewDestructorP(void)
 {
   ToolkitTestApplication application;
index ccec03e..e9cc39b 100644 (file)
@@ -77,6 +77,71 @@ int UtcDaliSliderNew(void)
   END_TEST;
 }
 
+int UtcDaliSliderCopyConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  Slider slider = Slider::New();
+  DALI_TEST_CHECK( slider );
+
+  Slider copy( slider );
+  DALI_TEST_CHECK( copy );
+
+  END_TEST;
+}
+
+int UtcDaliSliderCopyAssignment(void)
+{
+  ToolkitTestApplication application;
+
+  Slider slider = Slider::New();
+  DALI_TEST_CHECK( slider );
+
+  Slider copy;
+  copy = slider;
+  DALI_TEST_CHECK( copy );
+  DALI_TEST_EQUALS( slider, copy, TEST_LOCATION );
+
+  END_TEST;
+}
+
+int UtcDaliSliderMoveConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  Slider slider = Slider::New();
+  DALI_TEST_EQUALS( 1, slider.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  slider.SetProperty( Actor::Property::SENSITIVE, false );
+  DALI_TEST_CHECK( false == slider.GetProperty< bool >( Actor::Property::SENSITIVE ) );
+
+  Slider moved = std::move( slider );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( false == moved.GetProperty< bool >( Actor::Property::SENSITIVE ) );
+  DALI_TEST_CHECK( !slider );
+
+  END_TEST;
+}
+
+int UtcDaliSliderMoveAssignment(void)
+{
+  ToolkitTestApplication application;
+
+  Slider slider = Slider::New();
+  DALI_TEST_EQUALS( 1, slider.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  slider.SetProperty( Actor::Property::SENSITIVE, false );
+  DALI_TEST_CHECK( false == slider.GetProperty< bool >( Actor::Property::SENSITIVE ) );
+
+  Slider moved;
+  moved = std::move( slider );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( false == moved.GetProperty< bool >( Actor::Property::SENSITIVE ) );
+  DALI_TEST_CHECK( !slider );
+
+  END_TEST;
+}
+
 int UtcDaliSliderDestructor(void)
 {
   ToolkitTestApplication application;
index b3decd1..f4a05e7 100644 (file)
@@ -369,6 +369,23 @@ int UtcDaliToolkitTextEditorCopyConstructorP(void)
   END_TEST;
 }
 
+int UtcDaliTextEditorMoveConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  TextEditor textEditor = TextEditor::New();
+  textEditor.SetProperty( TextEditor::Property::TEXT, "Test" );
+  DALI_TEST_CHECK( textEditor.GetProperty<std::string>( TextEditor::Property::TEXT ) == "Test" );
+
+  TextEditor moved = std::move( textEditor );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( moved.GetProperty<std::string>( TextEditor::Property::TEXT ) == "Test" );
+  DALI_TEST_CHECK( !textEditor );
+
+  END_TEST;
+}
+
 int UtcDaliToolkitTextEditorAssignmentOperatorP(void)
 {
   ToolkitTestApplication application;
@@ -382,6 +399,24 @@ int UtcDaliToolkitTextEditorAssignmentOperatorP(void)
   END_TEST;
 }
 
+int UtcDaliTextEditorMoveAssignment(void)
+{
+  ToolkitTestApplication application;
+
+  TextEditor textEditor = TextEditor::New();
+  textEditor.SetProperty( TextEditor::Property::TEXT, "Test" );
+  DALI_TEST_CHECK( textEditor.GetProperty<std::string>( TextEditor::Property::TEXT ) == "Test" );
+
+  TextEditor moved;
+  moved = std::move( textEditor );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( moved.GetProperty<std::string>( TextEditor::Property::TEXT ) == "Test" );
+  DALI_TEST_CHECK( !textEditor );
+
+  END_TEST;
+}
+
 int UtcDaliTextEditorNewP(void)
 {
   ToolkitTestApplication application;
index 4751e34..d7ca31f 100644 (file)
@@ -387,6 +387,23 @@ int UtcDaliToolkitTextFieldCopyConstructorP(void)
   END_TEST;
 }
 
+int UtcDaliTextFieldMoveConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  TextField textField = TextField::New();
+  textField.SetProperty( TextEditor::Property::TEXT, "Test" );
+  DALI_TEST_CHECK( textField.GetProperty<std::string>( TextField::Property::TEXT ) == "Test" );
+
+  TextField moved = std::move( textField );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( moved.GetProperty<std::string>( TextField::Property::TEXT ) == "Test" );
+  DALI_TEST_CHECK( !textField );
+
+  END_TEST;
+}
+
 int UtcDaliToolkitTextFieldAssignmentOperatorP(void)
 {
   ToolkitTestApplication application;
@@ -400,6 +417,24 @@ int UtcDaliToolkitTextFieldAssignmentOperatorP(void)
   END_TEST;
 }
 
+int UtcDaliTextFieldMoveAssignment(void)
+{
+  ToolkitTestApplication application;
+
+  TextField textField = TextField::New();
+  textField.SetProperty( TextEditor::Property::TEXT, "Test" );
+  DALI_TEST_CHECK( textField.GetProperty<std::string>( TextField::Property::TEXT ) == "Test" );
+
+  TextField moved;
+  moved = std::move( textField );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( moved.GetProperty<std::string>( TextField::Property::TEXT ) == "Test" );
+  DALI_TEST_CHECK( !textField );
+
+  END_TEST;
+}
+
 int UtcDaliTextFieldNewP(void)
 {
   ToolkitTestApplication application;
index 884079e..f9128fd 100644 (file)
@@ -230,6 +230,23 @@ int UtcDaliToolkitTextLabelCopyConstructorP(void)
   END_TEST;
 }
 
+int UtcDaliTextLabelMoveConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  TextLabel textLabel = TextLabel::New();
+  textLabel.SetProperty( TextLabel::Property::TEXT, "Test" );
+  DALI_TEST_CHECK( textLabel.GetProperty<std::string>( TextLabel::Property::TEXT ) == "Test" );
+
+  TextLabel moved = std::move( textLabel );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( moved.GetProperty<std::string>( TextLabel::Property::TEXT ) == "Test" );
+  DALI_TEST_CHECK( !textLabel );
+
+  END_TEST;
+}
+
 int UtcDaliToolkitTextLabelAssignmentOperatorP(void)
 {
   ToolkitTestApplication application;
@@ -243,6 +260,24 @@ int UtcDaliToolkitTextLabelAssignmentOperatorP(void)
   END_TEST;
 }
 
+int UtcDaliTextLabelMoveAssignment(void)
+{
+  ToolkitTestApplication application;
+
+  TextLabel textLabel = TextLabel::New();
+  textLabel.SetProperty( TextLabel::Property::TEXT, "Test" );
+  DALI_TEST_CHECK( textLabel.GetProperty<std::string>( TextLabel::Property::TEXT ) == "Test" );
+
+  TextLabel moved;
+  moved = std::move( textLabel );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( moved.GetProperty<std::string>( TextLabel::Property::TEXT ) == "Test" );
+  DALI_TEST_CHECK( !textLabel );
+
+  END_TEST;
+}
+
 // Positive test case for a method
 int UtcDaliToolkitTextLabelGetPropertyP(void)
 {
@@ -1653,4 +1688,4 @@ int UtcDaliToolkitTextlabelLastCharacterIndex(void)
   DALI_TEST_EQUALS( indexArray.GetElementAt(0).Get<int>(), 10, TEST_LOCATION );
 
   END_TEST;
-}
\ No newline at end of file
+}
index 24651f6..54cb6f7 100644 (file)
@@ -274,6 +274,43 @@ int UtcDaliVideoViewCopyAndAssignment(void)
   END_TEST;
 }
 
+int UtcDaliVideoViewMoveConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  VideoView view = Toolkit::VideoView::New();
+  DALI_TEST_EQUALS( 1, view.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  view.SetProperty( VideoView::Property::LOOPING, true );
+  DALI_TEST_CHECK( view.GetProperty<bool>( VideoView::Property::LOOPING ) );
+
+  VideoView moved = std::move( view );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( moved.GetProperty<bool>( VideoView::Property::LOOPING ) );
+  DALI_TEST_CHECK( !view );
+
+  END_TEST;
+}
+
+int UtcDaliVideoViewMoveAssignment(void)
+{
+  ToolkitTestApplication application;
+
+  VideoView view = Toolkit::VideoView::New();
+  DALI_TEST_EQUALS( 1, view.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  view.SetProperty( VideoView::Property::LOOPING, true );
+  DALI_TEST_CHECK( view.GetProperty<bool>( VideoView::Property::LOOPING ) );
+
+  VideoView moved;
+  moved = std::move( view );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( moved.GetProperty<bool>( VideoView::Property::LOOPING ) );
+  DALI_TEST_CHECK( !view );
+
+  END_TEST;
+}
+
 int UtcDaliVideoViewTypeRegistry(void)
 {
   ToolkitTestApplication application;
index 366564d..e41565d 100644 (file)
@@ -397,10 +397,10 @@ int UtcDaliVisualSize(void)
   END_TEST;
 }
 
-int UtcDaliVisualSetOnOffStage(void)
+int UtcDaliVisualSetOnOffScene(void)
 {
   ToolkitTestApplication application;
-  tet_infoline( "UtcDaliVisualSetOnOffStage" );
+  tet_infoline( "UtcDaliVisualSetOnOffScene" );
 
   VisualFactory factory = VisualFactory::Get();
   Property::Map propertyMap;
@@ -433,10 +433,10 @@ int UtcDaliVisualSetOnOffStage(void)
   END_TEST;
 }
 
-int UtcDaliVisualSetOnOffStage2(void)
+int UtcDaliVisualSetOnOffScene2(void)
 {
   ToolkitTestApplication application;
-  tet_infoline( "UtcDaliVisualSetOnOffStage2" );
+  tet_infoline( "UtcDaliVisualSetOnOffScene2" );
 
   VisualFactory factory = VisualFactory::Get();
   Property::Map propertyMap;
index 2818d87..33ed1ee 100644 (file)
@@ -2098,7 +2098,7 @@ int UtcDaliVisualFactoryGetAnimatedImageVisual1(void)
   DALI_TEST_EQUALS( textureTrace.FindMethod("GenTextures"), true, TEST_LOCATION );
   textureTrace.Reset();
 
-  // Test SetOffStage().
+  // Test SetOffScene().
   actor.Unparent();
   DALI_TEST_CHECK( actor.GetRendererCount() == 0u );
 
index 6c4ed30..f1bb8c3 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_DEVEL_CONTROL_DEPTH_INDEX_RANGES_H
 
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,7 +19,6 @@
  */
 
 // EXTERNAL INCLUDES
-#include <dali/public-api/common/compile-time-assert.h>
 #include <dali/devel-api/actors/layer-devel.h>
 
 namespace Dali
@@ -48,11 +47,11 @@ enum Ranges
   FOREGROUND_EFFECT =  2 * DevelLayer::SIBLING_ORDER_MULTIPLIER/100
 };
 
-DALI_COMPILE_TIME_ASSERT( (unsigned int)DevelLayer::ACTOR_DEPTH_MULTIPLIER > (unsigned int)DevelLayer::SIBLING_ORDER_MULTIPLIER );
-DALI_COMPILE_TIME_ASSERT( BACKGROUND_EFFECT < BACKGROUND );
-DALI_COMPILE_TIME_ASSERT( BACKGROUND < CONTENT );
-DALI_COMPILE_TIME_ASSERT( CONTENT < DECORATION );
-DALI_COMPILE_TIME_ASSERT( DECORATION < FOREGROUND_EFFECT );
+static_assert( (unsigned int)DevelLayer::ACTOR_DEPTH_MULTIPLIER > (unsigned int)DevelLayer::SIBLING_ORDER_MULTIPLIER );
+static_assert( BACKGROUND_EFFECT < BACKGROUND );
+static_assert( BACKGROUND < CONTENT );
+static_assert( CONTENT < DECORATION );
+static_assert( DECORATION < FOREGROUND_EFFECT );
 
 } // namespace DepthIndex
 
index fcc563e..e749ed1 100755 (executable)
@@ -131,7 +131,7 @@ enum
  * @param[in] index The Property index of the visual, used to reference visual
  * @param[in] visual The visual to register
  *
- * @note Derived class should not call visual.SetOnStage(actor). It is the responsibility of the base class to connect/disconnect registered visual to stage.
+ * @note Derived class should not call visual.SetOnScene(actor). It is the responsibility of the base class to connect/disconnect registered visual to stage.
  *       Use below API with enabled set to false if derived class wishes to control when visual is staged.
  * @note If the depth-index is not set on the visual, then it is set to be above the currently registered visuals.
  * @note If replacing a visual, then the depth-index of the visual being replaced is used for the visual.
@@ -146,7 +146,7 @@ DALI_TOOLKIT_API void RegisterVisual( Internal::Control& control, Dali::Property
  * @param[in] visual The visual to register
  * @param[in] depthIndex The visual's depth-index is set to this
  *
- * @note Derived class should not call visual.SetOnStage(actor). It is the responsibility of the base class to connect/disconnect registered visual to stage.
+ * @note Derived class should not call visual.SetOnScene(actor). It is the responsibility of the base class to connect/disconnect registered visual to stage.
  *       Use below API with enabled set to false if derived class wishes to control when visual is staged.
  *
  * @see Visual::Base::GetDepthIndex()
index c39cb21..c3ca9fb 100755 (executable)
@@ -147,7 +147,6 @@ bool GetCircularAlignmentEnumeration(const Property::Value& propertyValue, Devel
   return Scripting::GetEnumerationProperty(propertyValue, CIRCULAR_ALIGNMENT_TYPE_TABLE, CIRCULAR_ALIGNMENT_TYPE_TABLE_COUNT, circularAlignment);
 }
 
-
 void ShapeTextPreprocess( const RendererParameters& textParameters, TextAbstraction::TextRenderer::Parameters& rendererParameters, InternalDataModel& internalDataModel )
 {
 
@@ -1001,6 +1000,9 @@ Size LayoutText( const RendererParameters& textParameters, TextAbstraction::Text
   const Text::Layout::Engine::Type horizontalLayout = ( Layout::MULTILINE == layout ) ? Text::Layout::Engine::MULTI_LINE_BOX : Text::Layout::Engine::SINGLE_LINE_BOX;
   layoutEngine.SetLayout( horizontalLayout ); // TODO: multi-line.
 
+  // Set minimun line size
+  layoutEngine.SetDefaultLineSize( textParameters.minLineSize );
+
   // Whether the layout is circular.
   const bool isCircularTextLayout = (Layout::CIRCULAR == layout);
   const bool isClockwise = isCircularTextLayout && ( 0.f < textParameters.incrementAngle );
@@ -1536,12 +1538,16 @@ Dali::Property::Array RenderForLastIndex( RendererParameters& textParameters )
   unsigned int numberOfLines = lines.Count();
   int numberOfCharacters = 0;
   float penY = 0.f;
+  float lineSize = internalData.layoutEngine.GetDefaultLineSize();
+  float lineOffset = 0.f;
   for( unsigned int index = 0u; index < numberOfLines; ++index  )
   {
     const LineRun& line = *( lines.Begin() + index );
     numberOfCharacters += line.characterRun.numberOfCharacters;
-    penY += ( line.ascender + -line.descender );
-    if( ( penY + ( line.ascender + -line.descender ) ) > boundingBox )
+
+    lineOffset = lineSize > 0.f ? lineSize : ( line.ascender + -line.descender );
+    penY += lineOffset;
+    if( ( penY + lineOffset ) > boundingBox )
     {
       offsetValues.PushBack( numberOfCharacters );
       penY = 0.f;
index 0670e8e..3440621 100755 (executable)
@@ -57,7 +57,8 @@ struct DALI_TOOLKIT_API RendererParameters
     incrementAngle{ 0.f },
     ellipsisEnabled{ true },
     markupEnabled{ false },
-    isTextColorSet{ false }
+    isTextColorSet{ false },
+    minLineSize{ 0.f }
   {}
 
   std::string text;                ///< The text to be rendered encoded in utf8.
@@ -86,6 +87,8 @@ struct DALI_TOOLKIT_API RendererParameters
   bool ellipsisEnabled:1;          ///< Whether the ellipsis layout option is enabled.
   bool markupEnabled:1;            ///< Whether the mark-up processor is enabled.
   bool isTextColorSet:1;           ///< Whether a default color has been set.
+
+  float minLineSize;               ///< The line's minimum size (in points).
 };
 
 /**
index 0305e8a..4ebb40e 100644 (file)
@@ -630,11 +630,7 @@ bool Button::OnAccessibilityActivated()
 
 bool Button::OnTouch( Actor actor, const TouchData& touch )
 {
-
-  // Only events are processed when the button is not disabled
-  auto result( false );
-
-  if( !IsDisabled() )
+  if( !IsDisabled() && (actor == touch.GetHitActor(0)) )
   {
     if ( 1 == touch.GetPointCount() )
     {
@@ -675,9 +671,8 @@ bool Button::OnTouch( Actor actor, const TouchData& touch )
       // Sets the button state to the default
       mButtonPressedState = UNPRESSED;
     }
-    result = true;
   }
-  return result;
+  return false;
 }
 
 bool Button::OnKeyboardEnter()
@@ -689,7 +684,7 @@ bool Button::OnKeyboardEnter()
   return ret;
 }
 
-void Button::OnStageDisconnection()
+void Button::OnSceneDisconnection()
 {
   if( DEPRESSED == mButtonPressedState )
   {
@@ -706,18 +701,18 @@ void Button::OnStageDisconnection()
 
   mButtonPressedState = UNPRESSED;
 
-  Control::OnStageDisconnection(); // Visuals will be set off stage
+  Control::OnSceneDisconnection(); // Visuals will be set off stage
 }
 
-void Button::OnStageConnection( int depth )
+void Button::OnSceneConnection( int depth )
 {
-  DALI_LOG_INFO( gLogButtonFilter, Debug::Verbose, "Button::OnStageConnection ptr(%p) \n", this );
+  DALI_LOG_INFO( gLogButtonFilter, Debug::Verbose, "Button::OnSceneConnection ptr(%p) \n", this );
   OnButtonVisualRemoval( VISUAL_INDEX_FOR_STATE[ mPreviousButtonState ][ BACKGROUND ] );
   OnButtonVisualRemoval( VISUAL_INDEX_FOR_STATE[ mPreviousButtonState ][ FOREGROUND ] );
   SelectRequiredVisual( Toolkit::Button::Property::LABEL );
   SelectRequiredVisual( VISUAL_INDEX_FOR_STATE[ mButtonState ][ BACKGROUND ] );
   SelectRequiredVisual( VISUAL_INDEX_FOR_STATE[ mButtonState ][ FOREGROUND ] );
-  Control::OnStageConnection( depth ); // Enabled visuals will be put on stage
+  Control::OnSceneConnection( depth ); // Enabled visuals will be put on stage
   RelayoutRequest();
 }
 
index 0915d3e..655b309 100644 (file)
@@ -329,15 +329,15 @@ protected: // From Control
   virtual bool OnKeyboardEnter();
 
   /**
-   * @copydoc Toolkit::Control::OnStageDisconnection()
-   * @note If overridden by deriving button classes, then an up-call to Button::OnStageDisconnection MUST be made at the end.
+   * @copydoc Toolkit::Control::OnSceneDisconnection()
+   * @note If overridden by deriving button classes, then an up-call to Button::OnSceneDisconnection MUST be made at the end.
    */
-  virtual void OnStageDisconnection();
+  virtual void OnSceneDisconnection();
 
   /**
-   * @copydoc Toolkit::Control::OnStageConnnection()
+   * @copydoc Toolkit::Control::OnSceneConnection()
    */
-  virtual void OnStageConnection( int depth );
+  virtual void OnSceneConnection( int depth );
 
   /**
    * @copydoc Toolkit::Control::GetNaturalSize
index 6c5de97..ab65570 100755 (executable)
@@ -276,19 +276,19 @@ TypeAction registerAction( typeRegistration, ACTION_ACCESSIBILITY_ACTIVATED, &Do
 DALI_TYPE_REGISTRATION_END()
 
 /**
- * @brief Iterate through given container and setOffStage any visual found
+ * @brief Iterate through given container and setOffScene any visual found
  *
  * @param[in] container Container of visuals
  * @param[in] parent Parent actor to remove visuals from
  */
-void SetVisualsOffStage( const RegisteredVisualContainer& container, Actor parent )
+void SetVisualsOffScene( const RegisteredVisualContainer& container, Actor parent )
 {
   for( auto iter = container.Begin(), end = container.End() ; iter!= end; iter++)
   {
     if( (*iter)->visual )
     {
-      DALI_LOG_INFO( gLogFilter, Debug::Verbose, "Control::SetOffStage Setting visual(%d) off stage\n", (*iter)->index );
-      Toolkit::GetImplementation((*iter)->visual).SetOffStage( parent );
+      DALI_LOG_INFO( gLogFilter, Debug::Verbose, "Control::SetOffScene Setting visual(%d) off stage\n", (*iter)->index );
+      Toolkit::GetImplementation((*iter)->visual).SetOffScene( parent );
     }
   }
 }
@@ -440,7 +440,7 @@ void Control::Impl::RegisterVisual( Property::Index index, Toolkit::Visual::Base
           {
             // Visual with same index is already in removal container so current visual pending
             // Only the the last requested visual will be displayed so remove current visual which is staged but not ready.
-            Toolkit::GetImplementation( currentRegisteredVisual ).SetOffStage( self );
+            Toolkit::GetImplementation( currentRegisteredVisual ).SetOffScene( self );
             mVisuals.Erase( registeredVisualsiter );
           }
           else
@@ -524,7 +524,7 @@ void Control::Impl::RegisterVisual( Property::Index index, Toolkit::Visual::Base
     // Put on stage if enabled and the control is already on the stage
     if( ( enabled == VisualState::ENABLED ) && self.GetProperty< bool >( Actor::Property::CONNECTED_TO_SCENE ) )
     {
-      visualImpl.SetOnStage( self );
+      visualImpl.SetOnScene( self );
     }
     else if( visualImpl.IsResourceReady() ) // When not being staged, check if visual already 'ResourceReady' before it was Registered. ( Resource may have been loaded already )
     {
@@ -545,7 +545,7 @@ void Control::Impl::UnregisterVisual( Property::Index index )
     StopObservingVisual( (*iter)->visual );
 
     Actor self( mControlImpl.Self() );
-    Toolkit::GetImplementation((*iter)->visual).SetOffStage( self );
+    Toolkit::GetImplementation((*iter)->visual).SetOffScene( self );
     (*iter)->visual.Reset();
     mVisuals.Erase( iter );
   }
@@ -553,7 +553,7 @@ void Control::Impl::UnregisterVisual( Property::Index index )
   if( FindVisual( index, mRemoveVisuals, iter ) )
   {
     Actor self( mControlImpl.Self() );
-    Toolkit::GetImplementation( (*iter)->visual ).SetOffStage( self );
+    Toolkit::GetImplementation( (*iter)->visual ).SetOffScene( self );
     (*iter)->pending = false;
     (*iter)->visual.Reset();
     mRemoveVisuals.Erase( iter );
@@ -586,17 +586,17 @@ void Control::Impl::EnableVisual( Property::Index index, bool enable )
 
     (*iter)->enabled = enable;
     Actor parentActor = mControlImpl.Self();
-    if ( mControlImpl.Self().GetProperty< bool >( Actor::Property::CONNECTED_TO_SCENE ) ) // If control not on Stage then Visual will be added when StageConnection is called.
+    if ( mControlImpl.Self().GetProperty< bool >( Actor::Property::CONNECTED_TO_SCENE ) ) // If control not on Scene then Visual will be added when SceneConnection is called.
     {
       if ( enable )
       {
         DALI_LOG_INFO( gLogFilter, Debug::Verbose, "Control::EnableVisual Setting %s(%d) on stage \n", (*iter)->visual.GetName().c_str(), index );
-        Toolkit::GetImplementation((*iter)->visual).SetOnStage( parentActor );
+        Toolkit::GetImplementation((*iter)->visual).SetOnScene( parentActor );
       }
       else
       {
         DALI_LOG_INFO( gLogFilter, Debug::Verbose, "Control::EnableVisual Setting %s(%d) off stage \n", (*iter)->visual.GetName().c_str(), index );
-        Toolkit::GetImplementation((*iter)->visual).SetOffStage( parentActor );  // No need to call if control not staged.
+        Toolkit::GetImplementation((*iter)->visual).SetOffScene( parentActor );  // No need to call if control not staged.
       }
     }
   }
@@ -654,7 +654,7 @@ void Control::Impl::ResourceReady( Visual::Base& object)
       if( FindVisual( (*registeredIter)->index, mRemoveVisuals, visualToRemoveIter ) )
       {
         (*registeredIter)->pending = false;
-        Toolkit::GetImplementation( (*visualToRemoveIter)->visual ).SetOffStage( self );
+        Toolkit::GetImplementation( (*visualToRemoveIter)->visual ).SetOffScene( self );
         mRemoveVisuals.Erase( visualToRemoveIter );
       }
       break;
@@ -1140,7 +1140,7 @@ void Control::Impl::RemoveVisual( RegisteredVisualContainer& visuals, const std:
     Toolkit::Visual::Base visual = (*visualIter)->visual;
     if( visual && visual.GetName() == visualName )
     {
-      Toolkit::GetImplementation(visual).SetOffStage( self );
+      Toolkit::GetImplementation(visual).SetOffScene( self );
       (*visualIter)->visual.Reset();
       visuals.Erase( visualIter );
       break;
@@ -1354,22 +1354,22 @@ void Control::Impl::SetSubState( const std::string& subStateName, bool withTrans
   }
 }
 
-void Control::Impl::OnStageDisconnection()
+void Control::Impl::OnSceneDisconnection()
 {
   Actor self = mControlImpl.Self();
 
   // Any visuals set for replacement but not yet ready should still be registered.
-  // Reason: If a request was made to register a new visual but the control removed from stage before visual was ready
+  // Reason: If a request was made to register a new visual but the control removed from scene before visual was ready
   // then when this control appears back on stage it should use that new visual.
 
-  // Iterate through all registered visuals and set off stage
-  SetVisualsOffStage( mVisuals, self );
+  // Iterate through all registered visuals and set off scene
+  SetVisualsOffScene( mVisuals, self );
 
-  // Visuals pending replacement can now be taken out of the removal list and set off stage
-  // Iterate through all replacement visuals and add to a move queue then set off stage
+  // Visuals pending replacement can now be taken out of the removal list and set off scene
+  // Iterate through all replacement visuals and add to a move queue then set off scene
   for( auto removalIter = mRemoveVisuals.Begin(), end = mRemoveVisuals.End(); removalIter != end; removalIter++ )
   {
-    Toolkit::GetImplementation((*removalIter)->visual).SetOffStage( self );
+    Toolkit::GetImplementation((*removalIter)->visual).SetOffScene( self );
   }
 
   for( auto replacedIter = mVisuals.Begin(), end = mVisuals.End(); replacedIter != end; replacedIter++ )
index 210f6e2..c561fdd 100755 (executable)
@@ -290,9 +290,9 @@ public:
   bool IsResourceReady() const;
 
   /**
-   * @copydoc CustomActorImpl::OnStageDisconnection()
+   * @copydoc CustomActorImpl::OnSceneDisconnection()
    */
-  void OnStageDisconnection();
+  void OnSceneDisconnection();
 
   /**
    * @brief Sets the margin.
index b7f6965..752f268 100644 (file)
@@ -288,7 +288,7 @@ void EffectsView::OnSizeSet(const Vector3& targetSize)
   Control::OnSizeSet( targetSize );
 }
 
-void EffectsView::OnStageConnection( int depth )
+void EffectsView::OnSceneConnection( int depth )
 {
   Actor self( Self() );
 
@@ -303,10 +303,10 @@ void EffectsView::OnStageConnection( int depth )
 
   Enable();
 
-  Control::OnStageConnection( depth );
+  Control::OnSceneConnection( depth );
 }
 
-void EffectsView::OnStageDisconnection()
+void EffectsView::OnSceneDisconnection()
 {
   Actor self( Self() );
 
@@ -325,7 +325,7 @@ void EffectsView::OnStageDisconnection()
   self.RemoveRenderer( mRendererPostFilter );
   mRendererPostFilter.Reset();
 
-  Control::OnStageDisconnection();
+  Control::OnSceneDisconnection();
 }
 
 void EffectsView::OnChildAdd( Actor& child )
index 0703f63..bd09dcb 100644 (file)
@@ -128,14 +128,14 @@ private: // From Control
   virtual void OnSizeSet( const Vector3& targetSize );
 
   /**
-   * @copydoc Toolkit::Internal::Control::OnStageConnection
+   * @copydoc Toolkit::Internal::Control::OnSceneConnection
    */
-  virtual void OnStageConnection( int depth );
+  virtual void OnSceneConnection( int depth );
 
   /**
-   * @copydoc Toolkit::Internal::Control::OnStageDisconnection
+   * @copydoc Toolkit::Internal::Control::OnSceneDisconnection
    */
-  virtual void OnStageDisconnection();
+  virtual void OnSceneDisconnection();
 
   /**
    * @copydoc Toolkit::Internal::Control::OnChildAdd
index d05cbd3..478c14b 100644 (file)
@@ -271,7 +271,7 @@ void Magnifier::SetFrameVisibility(bool visible)
     map[ Toolkit::BorderVisual::Property::COLOR ] = Color::WHITE;
     map[ Toolkit::BorderVisual::Property::SIZE   ] = IMAGE_BORDER_INDENT;
     Toolkit::Visual::Base borderVisual = visualFactory.CreateVisual( map );
-    Toolkit::GetImplementation(borderVisual).SetOnStage( mFrame );
+    Toolkit::GetImplementation(borderVisual).SetOnScene( mFrame );
 
     Constraint constraint = Constraint::New<Vector3>( mFrame, Actor::Property::POSITION, EqualToConstraint() );
     constraint.AddSource( ParentSource( Actor::Property::WORLD_POSITION ) );
index 467783c..a4f927a 100644 (file)
@@ -424,7 +424,7 @@ Property::Value Model3dView::GetProperty( BaseObject* object, Property::Index in
 /////////////////////////////////////////////////////////////
 
 
-void Model3dView::OnStageConnection( int depth )
+void Model3dView::OnSceneConnection( int depth )
 {
   CustomActor self = Self();
   self.AddRenderer( mRenderer );
@@ -446,7 +446,7 @@ void Model3dView::OnStageConnection( int depth )
     constraint.Apply();
   }
 
-  Control::OnStageConnection( depth );
+  Control::OnSceneConnection( depth );
 }
 
 ///////////////////////////////////////////////////////////
index 51388f3..a3fed9b 100644 (file)
@@ -104,9 +104,9 @@ private:
   virtual void OnInitialize();
 
   /**
-   * @copydoc CustomActorImpl::OnStageConnection()
+   * @copydoc CustomActorImpl::OnSceneConnection()
    */
-  virtual void OnStageConnection( int depth );
+  virtual void OnSceneConnection( int depth );
 
 private:
 
index 028f726..58913da 100644 (file)
@@ -71,11 +71,11 @@ Toolkit::NavigationView NavigationView::New()
   return navigationView;
 }
 
-void NavigationView::OnStageConnection( int depth )
+void NavigationView::OnSceneConnection( int depth )
 {
   Self().SetProperty( Actor::Property::SENSITIVE,true);
 
-  Control::OnStageConnection( depth );
+  Control::OnSceneConnection( depth );
 }
 
 void NavigationView::Push( Actor& actor )
index 0222144..23b0e6a 100644 (file)
@@ -78,9 +78,9 @@ public:
 private: // override functions from Control
 
   /**
-   * @copydoc Control::OnStageConnection( int depth  )
+   * @copydoc Control::OnSceneConnection( int depth  )
    */
-  virtual void OnStageConnection( int depth );
+  virtual void OnSceneConnection( int depth );
 
   /**
    * @copydoc Control::OnRelayout()
index 21a79a3..4cba4af 100644 (file)
@@ -471,14 +471,14 @@ void PageTurnView::SetupShadowView()
   mShadowView.Activate();
 }
 
-void PageTurnView::OnStageConnection( int depth )
+void PageTurnView::OnSceneConnection( int depth )
 {
   SetupShadowView();
 
-  Control::OnStageConnection( depth );
+  Control::OnSceneConnection( depth );
 }
 
-void PageTurnView::OnStageDisconnection()
+void PageTurnView::OnSceneDisconnection()
 {
   if(mShadowView)
   {
@@ -491,7 +491,7 @@ void PageTurnView::OnStageDisconnection()
   // make sure the status of the control is updated correctly when the pan gesture is interrupted
   StopTurning();
 
-  Control::OnStageDisconnection();
+  Control::OnSceneDisconnection();
 }
 
 void PageTurnView::SetPageSize( const Vector2& viewPageSize )
index b553dca..3815bd8 100644 (file)
@@ -258,14 +258,14 @@ private: // from Control
   virtual void OnInitialize();
 
   /**
-   * @copydoc CustomActorImpl::OnStageConnection()
+   * @copydoc CustomActorImpl::OnSceneConnection()
    */
-  virtual void OnStageConnection( int depth );
+  virtual void OnSceneConnection( int depth );
 
   /**
-   * @copydoc CustomActorImpl::OnStageDisconnection()
+   * @copydoc CustomActorImpl::OnSceneDisconnection()
    */
-  virtual void OnStageDisconnection();
+  virtual void OnSceneDisconnection();
 
 private: // implemented differently by PageTurnLandscapeView and PageTurnPortraitView
 
index 1b4c3ab..f323bb6 100644 (file)
@@ -330,14 +330,14 @@ void Popup::OnInitialize()
   mPopupLayout.SetFitHeight( 0 ); // Set row to fit.
   mPopupLayout.SetFitHeight( 1 ); // Set row to fit.
 
-  mPopupLayout.TouchSignal().Connect( this, &Popup::OnDialogTouched );
-
   mPopupContainer.Add( mPopupLayout );
 
   // Any content after this point which is added to Self() will be re-parented to mContent.
   mAlterAddedChild = true;
 
   SetAsKeyboardFocusGroup( true );
+
+  SetupTouch();
 }
 
 Popup::~Popup()
@@ -593,9 +593,6 @@ void Popup::SetPopupBackgroundImage( Actor image )
   mPopupBackgroundImage.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER );
   mPopupBackgroundImage.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
 
-  // OnDialogTouched only consumes the event. It prevents the touch event to be caught by the backing.
-  mPopupBackgroundImage.TouchSignal().Connect( this, &Popup::OnDialogTouched );
-
   // Set the popup border to be slightly larger than the layout contents.
   UpdateBackgroundPositionAndSize();
 
@@ -938,7 +935,6 @@ Toolkit::Control Popup::CreateBacking()
 
   // Default to being transparent.
   backing.SetProperty( Actor::Property::COLOR_ALPHA, 0.0f );
-  backing.TouchSignal().Connect( this, &Popup::OnBackingTouched );
   backing.WheelEventSignal().Connect( this, &Popup::OnBackingWheelEvent );
   return backing;
 }
@@ -1119,7 +1115,11 @@ const std::string& Popup::GetTailRightImage() const
 
 void Popup::SetTouchTransparent( bool enabled )
 {
-  mTouchTransparent = enabled;
+  if( mTouchTransparent != enabled )
+  {
+    mTouchTransparent = enabled;
+    SetupTouch();
+  }
 }
 
 const bool Popup::IsTouchTransparent() const
@@ -1534,26 +1534,18 @@ bool Popup::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tra
 
 bool Popup::OnBackingTouched( Actor actor, const TouchData& touch )
 {
-  // Allow events to pass through if touch transparency is enabled.
-  if( mTouchTransparent )
+  // Allow events to pass through if the backing isn't the hit-actor
+  if( (touch.GetHitActor(0) == actor) &&
+      (touch.GetPointCount() > 0) &&
+      (touch.GetState( 0 ) == PointState::DOWN))
   {
-    return false;
-  }
-
-  if( touch.GetPointCount() > 0 )
-  {
-    if( touch.GetState( 0 ) == PointState::DOWN )
-    {
-      // Guard against destruction during signal emission.
-      Toolkit::Popup handle( GetOwner() );
+    // Guard against destruction during signal emission.
+    Toolkit::Popup handle( GetOwner() );
 
-      mTouchedOutsideSignal.Emit();
-    }
+    mTouchedOutsideSignal.Emit();
   }
 
-  // Block anything behind backing becoming touched.
-  mLayer.SetProperty( Layer::Property::CONSUMES_TOUCH, true );
-  return true;
+  return false;
 }
 
 bool Popup::OnBackingWheelEvent( Actor actor, const WheelEvent& event )
@@ -1564,30 +1556,21 @@ bool Popup::OnBackingWheelEvent( Actor actor, const WheelEvent& event )
     return false;
   }
 
-  // Consume wheel event in dimmed backing actor.
-  mLayer.SetProperty( Layer::Property::CONSUMES_TOUCH, true );
   return true;
 }
 
 bool Popup::OnDialogTouched( Actor actor, const TouchData& touch )
 {
-  // Allow events to pass through if touch transparency is enabled.
-  if( mTouchTransparent )
-  {
-    return false;
-  }
-
-  // Consume event (stops backing actor receiving touch events)
-  mLayer.SetProperty( Layer::Property::CONSUMES_TOUCH, true );
-  return true;
+  // Only connecting this so the backing does not become the default hit-actor and inadvertently closes the popup
+  return false;
 }
 
-void Popup::OnStageConnection( int depth )
+void Popup::OnSceneConnection( int depth )
 {
   mLayoutDirty = true;
   RelayoutRequest();
 
-  Control::OnStageConnection( depth );
+  Control::OnSceneConnection( depth );
 }
 
 void Popup::OnChildAdd( Actor& child )
@@ -1975,6 +1958,25 @@ Actor Popup::GetNextKeyboardFocusableActor( Actor currentFocusedActor, Toolkit::
   return nextFocusableActor;
 }
 
+void Popup::SetupTouch()
+{
+  if( ! mTouchTransparent )
+  {
+    // Connect all the signals and set us up to consume all touch events
+    mBacking.TouchSignal().Connect( this, &Popup::OnBackingTouched );
+    mPopupBackgroundImage.TouchSignal().Connect( this, &Popup::OnDialogTouched );
+    mPopupLayout.TouchSignal().Connect( this, &Popup::OnDialogTouched );
+    mLayer.SetProperty( Layer::Property::CONSUMES_TOUCH, true );
+  }
+  else
+  {
+    // We are touch transparent so disconnect all signals and ensure our layer does not consumed all touch events
+    mBacking.TouchSignal().Disconnect( this, &Popup::OnBackingTouched );
+    mPopupBackgroundImage.TouchSignal().Disconnect( this, &Popup::OnDialogTouched );
+    mPopupLayout.TouchSignal().Disconnect( this, &Popup::OnDialogTouched );
+    mLayer.SetProperty( Layer::Property::CONSUMES_TOUCH, false );
+  }
+}
 
 } // namespace Internal
 
old mode 100755 (executable)
new mode 100644 (file)
index 7903998..f449c8d
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_INTERNAL_POPUP_H
 
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -437,7 +437,7 @@ private:
   /**
    * Called when the popup is directly or indirectly parented to the stage.
    */
-  virtual void OnStageConnection( int depth );
+  virtual void OnSceneConnection( int depth );
 
   /**
    * From Control; called after a child has been added to the owning actor.
@@ -499,6 +499,12 @@ private:
    */
   void AddFocusableChildrenRecursive( Actor parent, std::vector< Actor >& focusableActors );
 
+  /**
+   * Sets up the touch signals connections as required.
+   * @note This must be called after all the members have been created.
+   */
+  void SetupTouch();
+
 private:
 
   // Undefined.
index 4390792..3d18ddb 100755 (executable)
@@ -659,10 +659,10 @@ Property::Value ProgressBar::GetProperty( BaseObject* object, Property::Index pr
   return value;
 }
 
-void ProgressBar::OnStageConnection( int depth )
+void ProgressBar::OnSceneConnection( int depth )
 {
   // Chain up first (ensures visuals are ready to draw)
-  Control::OnStageConnection( depth );
+  Control::OnSceneConnection( depth );
 
   if( mIndeterminate )
   {
index 31ae483..88fb7ed 100755 (executable)
@@ -245,7 +245,7 @@ private:
   /**
    * Check if we should start animating
    */
-  virtual void OnStageConnection( int depth );
+  virtual void OnSceneConnection( int depth );
 
 private:
 
old mode 100755 (executable)
new mode 100644 (file)
index 8492234..0d40921
@@ -1142,7 +1142,7 @@ bool ItemView::OnTouch( Actor actor, const TouchData& touch )
     RemoveAnimation(mScrollAnimation);
   }
 
-  return true; // consume since we're potentially scrolling
+  return false; // Do not consume as we're potentially scrolling (detecting pan gestures)
 }
 
 void ItemView::OnPan( const PanGesture& gesture )
old mode 100755 (executable)
new mode 100644 (file)
index 65f4e7b..b64915d
@@ -704,7 +704,7 @@ void ScrollView::OnInitialize()
   SetInternalConstraints();
 }
 
-void ScrollView::OnStageConnection( int depth )
+void ScrollView::OnSceneConnection( int depth )
 {
   DALI_LOG_SCROLL_STATE("[0x%X]", this);
 
@@ -720,16 +720,16 @@ void ScrollView::OnStageConnection( int depth )
     EnableScrollOvershoot(true);
   }
 
-  ScrollBase::OnStageConnection( depth );
+  ScrollBase::OnSceneConnection( depth );
 }
 
-void ScrollView::OnStageDisconnection()
+void ScrollView::OnSceneDisconnection()
 {
   DALI_LOG_SCROLL_STATE("[0x%X]", this);
 
   StopAnimation();
 
-  ScrollBase::OnStageDisconnection();
+  ScrollBase::OnSceneDisconnection();
 }
 
 ScrollView::~ScrollView()
@@ -2125,7 +2125,7 @@ bool ScrollView::OnTouch( Actor actor, const TouchData& touch )
     mScrollInterrupted = false;
   }
 
-  return true;
+  return false;
 }
 
 bool ScrollView::OnWheelEvent(const WheelEvent& event)
index 8801ae5..094c3b7 100644 (file)
@@ -578,14 +578,14 @@ private: // private overridden functions from CustomActorImpl and Controls
   virtual void OnInitialize();
 
   /**
-   * @copydoc CustomActorImpl::OnStageConnection()
+   * @copydoc CustomActorImpl::OnSceneConnection()
    */
-  virtual void OnStageConnection( int depth );
+  virtual void OnSceneConnection( int depth );
 
   /**
-   * @copydoc CustomActorImpl::OnStageDisconnection()
+   * @copydoc CustomActorImpl::OnSceneDisconnection()
    */
-  virtual void OnStageDisconnection();
+  virtual void OnSceneDisconnection();
 
   /**
    * @copydoc Toolkit::Control::OnAccessibilityPan()
old mode 100755 (executable)
new mode 100644 (file)
index 9f8d513..7fa1551
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -240,7 +240,7 @@ bool Slider::OnTouch(Actor actor, const TouchData& touch)
     }
   }
 
-  return true;
+  return false;
 }
 
 void Slider::OnPan( Actor actor, const PanGesture& gesture )
index f65f88c..6ed846f 100644 (file)
@@ -294,15 +294,15 @@ void SuperBlurView::OnSizeSet( const Vector3& targetSize )
   Control::OnSizeSet( targetSize );
 }
 
-void SuperBlurView::OnStageConnection( int depth )
+void SuperBlurView::OnSceneConnection( int depth )
 {
   if( mTargetSize == Vector2::ZERO )
   {
     return;
   }
 
-  // Exception to the rule, chaining up first ensures visuals have SetOnStage called to create their renderers
-  Control::OnStageConnection( depth );
+  // Exception to the rule, chaining up first ensures visuals have SetOnScene called to create their renderers
+  Control::OnSceneConnection( depth );
 
   Actor self = Self();
 
@@ -334,7 +334,7 @@ void SuperBlurView::OnStageConnection( int depth )
   }
 }
 
-void SuperBlurView::OnStageDisconnection()
+void SuperBlurView::OnSceneDisconnection()
 {
   for(unsigned int i=0; i<mBlurLevels+1;i++)
   {
@@ -342,7 +342,7 @@ void SuperBlurView::OnStageDisconnection()
     mRenderers[i].Reset();
   }
 
-  Control::OnStageDisconnection();
+  Control::OnSceneDisconnection();
 }
 
 Vector3 SuperBlurView::GetNaturalSize()
index 585703a..117d34a 100644 (file)
@@ -125,14 +125,14 @@ private: // from Control
   virtual void OnSizeSet(const Vector3& targetSize);
 
   /**
-   * @copydoc CustomActorImpl::OnStageConnection()
+   * @copydoc CustomActorImpl::OnSceneConnection()
    */
-  virtual void OnStageConnection( int depth );
+  virtual void OnSceneConnection( int depth );
 
   /**
-   * @copydoc CustomActorImpl::OnStageDisconnection()
+   * @copydoc CustomActorImpl::OnSceneDisconnection()
    */
-  virtual void OnStageDisconnection();
+  virtual void OnSceneDisconnection();
 
   /**
    * @copydoc CustomActorImpl::GetNaturalSize()
index 5eaecfa..efcfe2c 100644 (file)
@@ -1315,7 +1315,7 @@ void TextEditor::OnInitialize()
   // Fill-parent area by default
   self.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH );
   self.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::HEIGHT );
-  self.OnStageSignal().Connect( this, &TextEditor::OnStageConnect );
+  self.OnSceneSignal().Connect( this, &TextEditor::OnSceneConnect );
 
   DevelControl::SetInputMethodContext( *this, mInputMethodContext );
 
@@ -1793,7 +1793,7 @@ void TextEditor::OnScrollIndicatorAnimationFinished( Animation& animation )
   }
 }
 
-void TextEditor::OnStageConnect( Dali::Actor actor )
+void TextEditor::OnSceneConnect( Dali::Actor actor )
 {
   if ( mHasBeenStaged )
   {
@@ -1841,20 +1841,20 @@ void TextEditor::KeyboardStatusChanged(bool keyboardShown)
   }
 }
 
-void TextEditor::OnStageConnection( int depth )
+void TextEditor::OnSceneConnection( int depth )
 {
   // Sets the depth to the visuals inside the text's decorator.
   mDecorator->SetTextDepth( depth );
 
   // The depth of the text renderer is set in the RenderText() called from OnRelayout().
 
-  // Call the Control::OnStageConnection() to set the depth of the background.
-  Control::OnStageConnection( depth );
+  // Call the Control::OnSceneConnection() to set the depth of the background.
+  Control::OnSceneConnection( depth );
 }
 
 bool TextEditor::OnTouched( Actor actor, const TouchData& touch )
 {
-  return true;
+  return false;
 }
 
 void TextEditor::OnIdleSignal()
index a38a5a0..c8bae9c 100755 (executable)
@@ -164,9 +164,9 @@ private: // From Control
   virtual void OnLongPress( const LongPressGesture& gesture );
 
   /**
-   * @copydoc Control::OnStageConnection()
+   * @copydoc Control::OnSceneConnection()
    */
-  virtual void OnStageConnection( int depth );
+  virtual void OnSceneConnection( int depth );
 
   /**
    * @copydoc Dali::CustomActorImpl::OnKeyEvent(const KeyEvent&)
@@ -285,8 +285,8 @@ private: // Implementation
    */
   void RenderText( Text::Controller::UpdateTextType updateTextType );
 
-  // Connection needed to re-render text, when a text editor returns to the stage.
-  void OnStageConnect( Dali::Actor actor );
+  // Connection needed to re-render text, when a text editor returns to the scene.
+  void OnSceneConnect( Dali::Actor actor );
 
 private: // Data
   // Signals
index ab00733..24772bc 100644 (file)
@@ -1359,7 +1359,7 @@ void TextField::OnInitialize()
   // Fill-parent area by default
   self.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH );
   self.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::HEIGHT );
-  self.OnStageSignal().Connect( this, &TextField::OnStageConnect );
+  self.OnSceneSignal().Connect( this, &TextField::OnSceneConnect );
 
   DevelControl::SetInputMethodContext( *this, mInputMethodContext );
 
@@ -1785,7 +1785,7 @@ void TextField::AddDecoration( Actor& actor, bool needsClipping )
   }
 }
 
-void TextField::OnStageConnect( Dali::Actor actor )
+void TextField::OnSceneConnect( Dali::Actor actor )
 {
   if ( mHasBeenStaged )
   {
@@ -1855,20 +1855,20 @@ void TextField::KeyboardStatusChanged(bool keyboardShown)
   }
 }
 
-void TextField::OnStageConnection( int depth )
+void TextField::OnSceneConnection( int depth )
 {
   // Sets the depth to the visuals inside the text's decorator.
   mDecorator->SetTextDepth( depth );
 
   // The depth of the text renderer is set in the RenderText() called from OnRelayout().
 
-  // Call the Control::OnStageConnection() to set the depth of the background.
-  Control::OnStageConnection( depth );
+  // Call the Control::OnSceneConnection() to set the depth of the background.
+  Control::OnSceneConnection( depth );
 }
 
 bool TextField::OnTouched( Actor actor, const TouchData& touch )
 {
-  return true;
+  return false;
 }
 
 void TextField::OnIdleSignal()
index 2991931..2318865 100755 (executable)
@@ -165,9 +165,9 @@ private: // From Control
   virtual void OnLongPress( const LongPressGesture& gesture );
 
   /**
-   * @copydoc Control::OnStageConnection()
+   * @copydoc Control::OnSceneConnection()
    */
-  virtual void OnStageConnection( int depth );
+  virtual void OnSceneConnection( int depth );
 
   /**
    * @copydoc Dali::CustomActorImpl::OnKeyEvent(const KeyEvent&)
@@ -270,8 +270,8 @@ private: // Implementation
    */
   void RenderText( Text::Controller::UpdateTextType updateTextType );
 
-  // Connection needed to re-render text, when a Text Field returns to the stage.
-  void OnStageConnect( Dali::Actor actor );
+  // Connection needed to re-render text, when a Text Field returns to the scene.
+  void OnSceneConnect( Dali::Actor actor );
 
 public: // For UTC only
 
index 2e34f27..463a214 100644 (file)
@@ -552,9 +552,9 @@ void VideoView::SetDepthIndex( int depthIndex )
   }
 }
 
-void VideoView::OnStageConnection( int depth )
+void VideoView::OnSceneConnection( int depth )
 {
-  Control::OnStageConnection( depth );
+  Control::OnSceneConnection( depth );
 
   if( mIsUnderlay )
   {
@@ -562,9 +562,9 @@ void VideoView::OnStageConnection( int depth )
   }
 }
 
-void VideoView::OnStageDisconnection()
+void VideoView::OnSceneDisconnection()
 {
-  Control::OnStageDisconnection();
+  Control::OnSceneDisconnection();
 }
 
 void VideoView::OnSizeSet( const Vector3& targetSize )
index f10c1c0..7ee0380 100755 (executable)
@@ -275,14 +275,14 @@ private: // From Control
   virtual void OnInitialize();
 
   /**
-   * @copydoc Toolkit::Control::OnStageConnect()
+   * @copydoc Toolkit::Control::OnSceneConnection()
    */
-  virtual void OnStageConnection( int depth );
+  virtual void OnSceneConnection( int depth );
 
   /**
-   * @copydoc Toolkit::Control::OnStageDisconnection()
+   * @copydoc Toolkit::Control::OnSceneDisconnection()
    */
-  virtual void OnStageDisconnection();
+  virtual void OnSceneDisconnection();
 
   /**
    * @copydoc Toolkit::Control::OnSizeSet()
old mode 100755 (executable)
new mode 100644 (file)
index f1aec26..34be65a
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -209,7 +209,7 @@ bool DragAndDropDetector::OnDrag(Dali::Actor actor, const Dali::TouchData& data)
     }
     mPointDown = false;
   }
-  return true;
+  return false;
 }
 
 const std::string& DragAndDropDetector::GetContent() const
index cb62a91..2549e52 100644 (file)
@@ -82,7 +82,7 @@ void KeyInputFocusManager::SetFocus( Toolkit::Control control )
     return;
   }
 
-  control.OffStageSignal().Connect( mSlotDelegate, &KeyInputFocusManager::OnFocusControlStageDisconnection );
+  control.OffSceneSignal().Connect( mSlotDelegate, &KeyInputFocusManager::OnFocusControlSceneDisconnection );
 
   Dali::Toolkit::Control previousFocusControl = GetCurrentFocusControl();
   if( previousFocusControl )
@@ -108,7 +108,7 @@ void KeyInputFocusManager::RemoveFocus( Toolkit::Control control )
 {
   if( control == mCurrentFocusControl )
   {
-    control.OffStageSignal().Disconnect( mSlotDelegate, &KeyInputFocusManager::OnFocusControlStageDisconnection );
+    control.OffSceneSignal().Disconnect( mSlotDelegate, &KeyInputFocusManager::OnFocusControlSceneDisconnection );
 
     // Notify the control that it has lost key input focus
     GetImplementation( control ).OnKeyInputFocusLost();
@@ -164,7 +164,7 @@ bool KeyInputFocusManager::EmitKeyEventSignal( Toolkit::Control control, const K
   return consumed;
 }
 
-void KeyInputFocusManager::OnFocusControlStageDisconnection( Dali::Actor actor )
+void KeyInputFocusManager::OnFocusControlSceneDisconnection( Dali::Actor actor )
 {
   RemoveFocus( Dali::Toolkit::Control::DownCast( actor ) );
 }
index ab83e37..2a3d7de 100644 (file)
@@ -110,10 +110,10 @@ private:
   bool OnKeyEvent(const KeyEvent& event);
 
   /**
-   * Signal handler called when a focused Control is removed from Stage.
-   * @param[in]  control  The control removed from stage.
+   * Signal handler called when a focused Control is removed from Scene.
+   * @param[in]  control  The control removed from the scene.
    */
-  void OnFocusControlStageDisconnection( Dali::Actor control );
+  void OnFocusControlSceneDisconnection( Dali::Actor control );
 
   /**
     *  Recursively deliver events to the control and its parents, until the event is consumed or the stage is reached.
index dae742d..eba2eef 100644 (file)
@@ -140,6 +140,18 @@ ImageLoadThread::~ImageLoadThread()
   Join();
 
   delete mTrigger;
+
+  for( auto&& iter : mLoadQueue )
+  {
+    delete iter;
+  }
+  mLoadQueue.Clear();
+
+  for( auto&& iter : mCompleteQueue )
+  {
+    delete iter;
+  }
+  mCompleteQueue.Clear();
 }
 
 void ImageLoadThread::Run()
index 470c46c..56948c5 100644 (file)
@@ -1386,8 +1386,7 @@ struct Decorator::Impl : public ConnectionTracker
       SetHandleImage( GRAB_HANDLE );
     }
 
-    // Consume to avoid pop-ups accidentally closing, when handle is outside of pop-up area
-    return true;
+    return false;
   }
 
   bool OnHandleOneTouched( Actor actor, const TouchData& touch )
@@ -1417,8 +1416,7 @@ struct Decorator::Impl : public ConnectionTracker
       SetHandleImage( LEFT_SELECTION_HANDLE );
     }
 
-    // Consume to avoid pop-ups accidentally closing, when handle is outside of pop-up area
-    return true;
+    return false;
   }
 
   bool OnHandleTwoTouched( Actor actor, const TouchData& touch )
@@ -1448,8 +1446,7 @@ struct Decorator::Impl : public ConnectionTracker
       SetHandleImage( RIGHT_SELECTION_HANDLE );
     }
 
-    // Consume to avoid pop-ups accidentally closing, when handle is outside of pop-up area
-    return true;
+    return false;
   }
 
   void HandleResetPosition( PropertyNotification& source )
index a972810..a3f7efd 100755 (executable)
@@ -42,7 +42,7 @@ AtlasGlyphManager::AtlasGlyphManager()
 {
   mAtlasManager = Dali::Toolkit::AtlasManager::New();
   mSampler = Sampler::New();
-  mSampler.SetFilterMode( FilterMode::NEAREST, FilterMode::NEAREST );
+  mSampler.SetFilterMode( FilterMode::LINEAR, FilterMode::LINEAR );
 }
 
 void AtlasGlyphManager::Add( const Text::GlyphInfo& glyph,
index cd043e2..d1aca24 100755 (executable)
@@ -549,7 +549,8 @@ struct AtlasRenderer::Impl
         }
 
         // Move the origin (0,0) of the mesh to the center of the actor
-        const Vector2 position = *( positionsBuffer + i ) - halfTextSize - lineOffsetPosition;
+        const Vector2& temp = *( positionsBuffer + i );
+        const Vector2 position = Vector2( roundf( temp.x ), temp.y ) - halfTextSize - lineOffsetPosition; // roundf() avoids pixel alignment issues.
 
         if ( 0u != slot.mImageId ) // invalid slot id, glyph has failed to be added to atlas
         {
index cd21afe..29fd9e8 100644 (file)
@@ -244,7 +244,7 @@ void CubeTransitionEffect::Initialize()
   OnInitialize();
 }
 
-void CubeTransitionEffect::OnStageConnection( int depth )
+void CubeTransitionEffect::OnSceneConnection( int depth )
 {
   Geometry geometry = VisualFactoryCache::CreateQuadGeometry();
   Shader shader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER );
@@ -261,10 +261,10 @@ void CubeTransitionEffect::OnStageConnection( int depth )
   mCurrentRenderer.SetProperty( Renderer::Property::DEPTH_INDEX, depth );
   Self().AddRenderer( mCurrentRenderer );
 
-  Control::OnStageConnection( depth );
+  Control::OnSceneConnection( depth );
 }
 
-void CubeTransitionEffect::OnStageDisconnection()
+void CubeTransitionEffect::OnSceneDisconnection()
 {
   if( mCurrentRenderer )
   {
@@ -286,7 +286,7 @@ void CubeTransitionEffect::OnStageDisconnection()
     mTargetRenderer.Reset();
   }
 
-  Control::OnStageDisconnection();
+  Control::OnSceneDisconnection();
 }
 
 void CubeTransitionEffect::SetTransitionDuration( float duration )
index 5eda6b2..d3e9673 100644 (file)
@@ -130,14 +130,14 @@ public: //Signal
 
 protected:
   /**
-   * @copydoc CustomActorImpl::OnStageConnection()
+   * @copydoc CustomActorImpl::OnSceneConnection()
    */
-  virtual void OnStageConnection( int depth );
+  virtual void OnSceneConnection( int depth );
 
   /**
-   * @copydoc CustomActorImpl::OnStageDisconnection()
+   * @copydoc CustomActorImpl::OnSceneDisconnection()
    */
-  virtual void OnStageDisconnection();
+  virtual void OnSceneDisconnection();
 
 protected:
 
index d871c87..0a045f0 100755 (executable)
@@ -554,7 +554,7 @@ void AnimatedGradientVisual::OnSetTransform()
   }
 }
 
-void AnimatedGradientVisual::DoSetOnStage( Actor& actor )
+void AnimatedGradientVisual::DoSetOnScene( Actor& actor )
 {
   InitializeRenderer();
   actor.AddRenderer( mImpl->mRenderer );
@@ -564,7 +564,7 @@ void AnimatedGradientVisual::DoSetOnStage( Actor& actor )
   ResourceReady( Toolkit::Visual::ResourceStatus::READY );
 }
 
-void AnimatedGradientVisual::DoSetOffStage( Actor& actor )
+void AnimatedGradientVisual::DoSetOffScene( Actor& actor )
 {
   DALI_ASSERT_DEBUG( (bool)mImpl->mRenderer && "There should always be a renderer whilst on stage");
 
index 28e820a..bca20c2 100755 (executable)
@@ -207,14 +207,14 @@ protected: //from Visual
   void OnSetTransform() override;
 
   /**
-   * @copydoc Visual::Base::DoSetOnStage
+   * @copydoc Visual::Base::DoSetOnScene
    */
-  void DoSetOnStage( Actor& actor ) override;
+  void DoSetOnScene( Actor& actor ) override;
 
   /**
-   * @copydoc Visual::Base::DoSetOffStage
+   * @copydoc Visual::Base::DoSetOffScene
    */
-  void DoSetOffStage( Actor& actor ) override;
+  void DoSetOffScene( Actor& actor ) override;
 
 private:
 
index 6b7adf3..456b89e 100755 (executable)
@@ -82,7 +82,7 @@ Debug::Filter* gAnimImgLogFilter = Debug::Filter::New(Debug::NoLogging, false, "
  *   |     new cache
  *   |       cache->LoadBatch()
  *   |
- *   | DoSetOnStage()
+ *   | DoSetOnScene()
  *   |   PrepareTextureSet()
  *   |     cache->FirstFrame()
  *   |   CreateRenderer()    (Doesn't become ready until first frame loads)
@@ -272,7 +272,7 @@ void AnimatedImageVisual::OnDoAction( const Dali::Property::Index actionId, cons
     }
     case DevelAnimatedImageVisual::Action::PLAY:
     {
-      if( mFrameDelayTimer && IsOnStage() && mActionStatus != DevelAnimatedImageVisual::Action::PLAY )
+      if( mFrameDelayTimer && IsOnScene() && mActionStatus != DevelAnimatedImageVisual::Action::PLAY )
       {
         mFrameDelayTimer.Start();
       }
@@ -284,7 +284,7 @@ void AnimatedImageVisual::OnDoAction( const Dali::Property::Index actionId, cons
       // STOP reset functionality will actually be done in a future change
       // Stop will be executed on next timer tick
       mActionStatus = DevelAnimatedImageVisual::Action::STOP;
-      if( IsOnStage() )
+      if( IsOnScene() )
       {
         DisplayNextFrame();
       }
@@ -303,7 +303,7 @@ void AnimatedImageVisual::OnDoAction( const Dali::Property::Index actionId, cons
         {
           mIsJumpTo = true;
           mCurrentFrameIndex = frameNumber;
-          if( IsOnStage() )
+          if( IsOnScene() )
           {
             DisplayNextFrame();
           }
@@ -481,7 +481,7 @@ void AnimatedImageVisual::DoSetProperty( Property::Index index,
   }
 }
 
-void AnimatedImageVisual::DoSetOnStage( Actor& actor )
+void AnimatedImageVisual::DoSetOnScene( Actor& actor )
 {
   mPlacementActor = actor;
   TextureSet textureSet = PrepareTextureSet();
@@ -497,7 +497,7 @@ void AnimatedImageVisual::DoSetOnStage( Actor& actor )
   }
 }
 
-void AnimatedImageVisual::DoSetOffStage( Actor& actor )
+void AnimatedImageVisual::DoSetOffScene( Actor& actor )
 {
   DALI_ASSERT_DEBUG( (bool)mImpl->mRenderer && "There should always be a renderer whilst on stage");
 
index 7c0764e..e937c27 100755 (executable)
@@ -168,14 +168,14 @@ protected:
   void DoSetProperty( Property::Index index, const Property::Value& value );
 
   /**
-   * @copydoc Visual::Base::DoSetOnStage
+   * @copydoc Visual::Base::DoSetOnScene
    */
-  void DoSetOnStage( Actor& actor ) override;
+  void DoSetOnScene( Actor& actor ) override;
 
   /**
-   * @copydoc Visual::Base::DoSetOffStage
+   * @copydoc Visual::Base::DoSetOffScene
    */
-  void DoSetOffStage( Actor& actor ) override;
+  void DoSetOffScene( Actor& actor ) override;
 
   /**
    * @copydoc Visual::Base::OnSetTransform
index e71ab28..7b263e1 100644 (file)
@@ -248,7 +248,7 @@ void AnimatedVectorImageVisual::DoSetProperty( Property::Index index, const Prop
   }
 }
 
-void AnimatedVectorImageVisual::DoSetOnStage( Actor& actor )
+void AnimatedVectorImageVisual::DoSetOnScene( Actor& actor )
 {
   Shader shader;
 
@@ -297,10 +297,10 @@ void AnimatedVectorImageVisual::DoSetOnStage( Actor& actor )
     DevelWindow::VisibilityChangedSignal( window ).Connect( this, &AnimatedVectorImageVisual::OnWindowVisibilityChanged );
   }
 
-  DALI_LOG_INFO( gVectorAnimationLogFilter, Debug::Verbose, "AnimatedVectorImageVisual::DoSetOnStage [%p]\n", this );
+  DALI_LOG_INFO( gVectorAnimationLogFilter, Debug::Verbose, "AnimatedVectorImageVisual::DoSetOnScene [%p]\n", this );
 }
 
-void AnimatedVectorImageVisual::DoSetOffStage( Actor& actor )
+void AnimatedVectorImageVisual::DoSetOffScene( Actor& actor )
 {
   StopAnimation();
   SendAnimationData();
@@ -331,14 +331,14 @@ void AnimatedVectorImageVisual::DoSetOffStage( Actor& actor )
   mVisualSize = Vector2::ZERO;
   mVisualScale = Vector2::ONE;
 
-  DALI_LOG_INFO( gVectorAnimationLogFilter, Debug::Verbose, "AnimatedVectorImageVisual::DoSetOffStage [%p]\n", this );
+  DALI_LOG_INFO( gVectorAnimationLogFilter, Debug::Verbose, "AnimatedVectorImageVisual::DoSetOffScene [%p]\n", this );
 }
 
 void AnimatedVectorImageVisual::OnSetTransform()
 {
   Vector2 visualSize = mImpl->mTransform.GetVisualSize( mImpl->mControlSize );
 
-  if( IsOnStage() && visualSize != mVisualSize )
+  if( IsOnScene() && visualSize != mVisualSize )
   {
     DALI_LOG_INFO( gVectorAnimationLogFilter, Debug::Verbose, "AnimatedVectorImageVisual::OnSetTransform: width = %f, height = %f [%p]\n", visualSize.width, visualSize.height, this );
 
@@ -363,7 +363,7 @@ void AnimatedVectorImageVisual::OnDoAction( const Property::Index actionId, cons
   {
     case DevelAnimatedVectorImageVisual::Action::PLAY:
     {
-      if( IsOnStage() && mVisualSize != Vector2::ZERO )
+      if( IsOnScene() && mVisualSize != Vector2::ZERO )
       {
         if( mAnimationData.playState != DevelImageVisual::PlayState::PLAYING )
         {
index 6eaead5..11b3b1c 100644 (file)
@@ -120,14 +120,14 @@ protected:
   void DoSetProperties( const Property::Map& propertyMap ) override;
 
   /**
-   * @copydoc Visual::Base::DoSetOnStage
+   * @copydoc Visual::Base::DoSetOnScene
    */
-  void DoSetOnStage( Actor& actor ) override;
+  void DoSetOnScene( Actor& actor ) override;
 
   /**
-   * @copydoc Visual::Base::DoSetOffStage
+   * @copydoc Visual::Base::DoSetOffScene
    */
-  void DoSetOffStage( Actor& actor ) override;
+  void DoSetOffScene( Actor& actor ) override;
 
   /**
    * @copydoc Visual::Base::OnSetTransform
index 71bb538..a16d72c 100644 (file)
@@ -233,7 +233,7 @@ void ArcVisual::DoSetProperties( const Property::Map& propertyMap )
   }
 }
 
-void ArcVisual::DoSetOnStage( Actor& actor )
+void ArcVisual::DoSetOnScene( Actor& actor )
 {
   InitializeRenderer();
 
index 3de0473..90ac861 100644 (file)
@@ -94,9 +94,9 @@ protected:
   void DoSetProperties( const Property::Map& propertyMap ) override;
 
   /**
-   * @copydoc Visual::Base::DoSetOnStage
+   * @copydoc Visual::Base::DoSetOnScene
    */
-  void DoSetOnStage( Actor& actor ) override;
+  void DoSetOnScene( Actor& actor ) override;
 
   /**
    * @copydoc Visual::Base::OnSetTransform
index 259b005..229d12c 100644 (file)
@@ -197,7 +197,7 @@ void BorderVisual::DoSetProperty( Dali::Property::Index index,
   }
 }
 
-void BorderVisual::DoSetOnStage( Actor& actor )
+void BorderVisual::DoSetOnScene( Actor& actor )
 {
   InitializeRenderer();
 
index c28b041..aa7a69b 100644 (file)
@@ -81,9 +81,9 @@ protected:
   void DoSetProperties( const Property::Map& propertyMap ) override;
 
   /**
-   * @copydoc Visual::Base::DoSetOnStage
+   * @copydoc Visual::Base::DoSetOnScene
    */
-  void DoSetOnStage( Actor& actor ) override;
+  void DoSetOnScene( Actor& actor ) override;
 
   /**
    * @copydoc Visual::Base::CreatePropertyMap
index 86fa121..4107dcb 100644 (file)
@@ -245,7 +245,7 @@ void ColorVisual::DoSetProperties( const Property::Map& propertyMap )
   }
 }
 
-void ColorVisual::DoSetOnStage( Actor& actor )
+void ColorVisual::DoSetOnScene( Actor& actor )
 {
   InitializeRenderer();
 
index 16c65a7..d5b2a6f 100644 (file)
@@ -90,9 +90,9 @@ protected:
   void DoSetProperties( const Property::Map& propertyMap ) override;
 
   /**
-   * @copydoc Visual::Base::DoSetOnStage
+   * @copydoc Visual::Base::DoSetOnScene
    */
-  void DoSetOnStage( Actor& actor ) override;
+  void DoSetOnScene( Actor& actor ) override;
 
   /**
    * @copydoc Visual::Base::OnSetTransform
index 965bc17..d5af5a4 100644 (file)
@@ -374,7 +374,7 @@ void GradientVisual::OnSetTransform()
   }
 }
 
-void GradientVisual::DoSetOnStage( Actor& actor )
+void GradientVisual::DoSetOnScene( Actor& actor )
 {
   InitializeRenderer();
 
index c67ee87..70cdb4e 100644 (file)
@@ -130,9 +130,9 @@ protected:
   void OnSetTransform() override;
 
   /**
-   * @copydoc Visual::Base::DoSetOnStage
+   * @copydoc Visual::Base::DoSetOnScene
    */
-  void DoSetOnStage( Actor& actor ) override;
+  void DoSetOnScene( Actor& actor ) override;
 
 private:
 
index 059e9c8..6f3231d 100644 (file)
@@ -659,7 +659,7 @@ void ImageVisual::InitializeRenderer()
   }
 }
 
-void ImageVisual::DoSetOnStage( Actor& actor )
+void ImageVisual::DoSetOnScene( Actor& actor )
 {
   if( mImageUrl.IsValid() )
   {
@@ -695,9 +695,9 @@ void ImageVisual::DoSetOnStage( Actor& actor )
   }
 }
 
-void ImageVisual::DoSetOffStage( Actor& actor )
+void ImageVisual::DoSetOffScene( Actor& actor )
 {
-  // Visual::Base::SetOffStage only calls DoSetOffStage if mRenderer exists (is on onstage)
+  // Visual::Base::SetOffScene only calls DoSetOffScene if mRenderer exists (is on onstage)
 
   // Image release is dependent on the ReleasePolicy, renderer is destroyed.
   actor.RemoveRenderer( mImpl->mRenderer);
index 4868a32..f52bd69 100644 (file)
@@ -210,14 +210,14 @@ protected:
   void DoSetProperties( const Property::Map& propertyMap ) override;
 
   /**
-   * @copydoc Visual::Base::DoSetOnStage
+   * @copydoc Visual::Base::DoSetOnScene
    */
-  void DoSetOnStage( Actor& actor ) override;
+  void DoSetOnScene( Actor& actor ) override;
 
   /**
-   * @copydoc Visual::Base::DoSetOffStage
+   * @copydoc Visual::Base::DoSetOffScene
    */
-  void DoSetOffStage( Actor& actor ) override;
+  void DoSetOffScene( Actor& actor ) override;
 
   /**
    * @copydoc Visual::Base::OnSetTransform
index 20b973a..4d6a4cd 100644 (file)
@@ -489,7 +489,7 @@ void MeshVisual::OnSetTransform()
   }
 }
 
-void MeshVisual::DoSetOnStage( Actor& actor )
+void MeshVisual::DoSetOnScene( Actor& actor )
 {
   InitializeRenderer();
 
index 15099bd..852d7ef 100644 (file)
@@ -105,9 +105,9 @@ protected:
   void OnSetTransform() override;
 
   /**
-   * @copydoc Visual::Base::DoSetOnStage
+   * @copydoc Visual::Base::DoSetOnScene
    */
-  void DoSetOnStage( Actor& actor ) override;
+  void DoSetOnScene( Actor& actor ) override;
 
 private:
 
index ea72d4f..265dcd8 100644 (file)
@@ -389,7 +389,7 @@ void NPatchVisual::DoSetProperties( const Property::Map& propertyMap )
   }
 }
 
-void NPatchVisual::DoSetOnStage( Actor& actor )
+void NPatchVisual::DoSetOnScene( Actor& actor )
 {
   // load when first go on stage
   LoadImages();
@@ -420,7 +420,7 @@ void NPatchVisual::DoSetOnStage( Actor& actor )
   }
 }
 
-void NPatchVisual::DoSetOffStage( Actor& actor )
+void NPatchVisual::DoSetOffScene( Actor& actor )
 {
   actor.RemoveRenderer( mImpl->mRenderer );
   mImpl->mRenderer.Reset();
index 827e9cb..41252f6 100644 (file)
@@ -120,14 +120,14 @@ protected:
   void DoSetProperties( const Property::Map& propertyMap ) override;
 
   /**
-   * @copydoc Visual::Base::DoSetOnStage
+   * @copydoc Visual::Base::DoSetOnScene
    */
-  void DoSetOnStage( Actor& actor ) override;
+  void DoSetOnScene( Actor& actor ) override;
 
   /**
-   * @copydoc Visual::Base::DoSetOffStage
+   * @copydoc Visual::Base::DoSetOffScene
    */
-  void DoSetOffStage( Actor& actor ) override;
+  void DoSetOffScene( Actor& actor ) override;
 
   /**
    * @copydoc Visual::Base::OnSetTransform
index 54e6395..484f58f 100644 (file)
@@ -399,7 +399,7 @@ void PrimitiveVisual::GetNaturalSize( Vector2& naturalSize )
   naturalSize.y = mObjectDimensions.y;
 }
 
-void PrimitiveVisual::DoSetOnStage( Actor& actor )
+void PrimitiveVisual::DoSetOnScene( Actor& actor )
 {
   InitializeRenderer();
 
index e27239b..806f594 100644 (file)
@@ -147,9 +147,9 @@ protected:
   void DoSetProperties( const Property::Map& propertyMap ) override;
 
   /**
-   * @copydoc Visual::Base::DoSetOnStage
+   * @copydoc Visual::Base::DoSetOnScene
    */
-  void DoSetOnStage( Actor& actor ) override;
+  void DoSetOnScene( Actor& actor ) override;
 
   /**
    * @copydoc Visual::Base::OnSetTransform
index 55ada4a..27ca01c 100644 (file)
@@ -142,7 +142,7 @@ void SvgVisual::DoSetProperty( Property::Index index, const Property::Value& val
   }
 }
 
-void SvgVisual::DoSetOnStage( Actor& actor )
+void SvgVisual::DoSetOnScene( Actor& actor )
 {
   Shader shader;
   if( !mImpl->mCustomShader )
@@ -175,7 +175,7 @@ void SvgVisual::DoSetOnStage( Actor& actor )
   ResourceReady( Toolkit::Visual::ResourceStatus::READY );
 }
 
-void SvgVisual::DoSetOffStage( Actor& actor )
+void SvgVisual::DoSetOffScene( Actor& actor )
 {
   mFactoryCache.GetSVGRasterizationThread()->RemoveTask( this );
 
@@ -262,7 +262,7 @@ void SvgVisual::ApplyRasterizedImage( NSVGimage* parsedSvg, PixelData rasterized
     mParsedImage = parsedSvg;
   }
 
-  if( mParsedImage && IsOnStage() )
+  if( mParsedImage && IsOnScene() )
   {
     TextureSet currentTextureSet = mImpl->mRenderer.GetTextures();
     if( mImpl->mFlags & Impl::IS_ATLASING_APPLIED )
@@ -336,7 +336,7 @@ void SvgVisual::OnSetTransform()
 {
   Vector2 visualSize = mImpl->mTransform.GetVisualSize( mImpl->mControlSize );
 
-  if( IsOnStage() )
+  if( IsOnScene() )
   {
     if( visualSize != mVisualSize )
     {
index 81bfb5d..e18d5cf 100644 (file)
@@ -121,14 +121,14 @@ protected:
   void DoSetProperties( const Property::Map& propertyMap ) override;
 
   /**
-   * @copydoc Visual::Base::DoSetOnStage
+   * @copydoc Visual::Base::DoSetOnScene
    */
-  void DoSetOnStage( Actor& actor ) override;
+  void DoSetOnScene( Actor& actor ) override;
 
   /**
-   * @copydoc Visual::Base::DoSetOffStage
+   * @copydoc Visual::Base::DoSetOffScene
    */
-  void DoSetOffStage( Actor& actor ) override;
+  void DoSetOffScene( Actor& actor ) override;
 
   /**
    * @copydoc Visual::Base::OnSetTransform
index 04f3618..61dcdfc 100644 (file)
@@ -421,7 +421,7 @@ void TextVisual::DoSetProperties( const Property::Map& propertyMap )
   engine.SetCursorWidth( 0u ); // Do not layout space for the cursor.
 }
 
-void TextVisual::DoSetOnStage( Actor& actor )
+void TextVisual::DoSetOnScene( Actor& actor )
 {
   mControl = actor;
 
@@ -476,7 +476,7 @@ void TextVisual::RemoveRenderer( Actor& actor )
   mRendererList.clear();
 }
 
-void TextVisual::DoSetOffStage( Actor& actor )
+void TextVisual::DoSetOffScene( Actor& actor )
 {
   RemoveRenderer( actor );
 
index 16da39a..e6c0ab8 100755 (executable)
@@ -167,14 +167,14 @@ protected:
   void DoSetProperties( const Property::Map& propertyMap ) override;
 
   /**
-   * @copydoc Visual::Base::DoSetOnStage()
+   * @copydoc Visual::Base::DoSetOnScene()
    */
-  void DoSetOnStage( Actor& actor ) override;
+  void DoSetOnScene( Actor& actor ) override;
 
   /**
-   * @copydoc Visual::Base::DoSetOffStage()
+   * @copydoc Visual::Base::DoSetOffScene()
    */
-  void DoSetOffStage( Actor& actor ) override;
+  void DoSetOffScene( Actor& actor ) override;
 
   /**
    * @copydoc Visual::Base::OnSetTransform
index 23bcda9..f563f94 100644 (file)
@@ -57,7 +57,7 @@ struct Base::Impl
 
   enum Flags
   {
-    IS_ON_STAGE = 1,
+    IS_ON_SCENE = 1,
     IS_ATLASING_APPLIED = 1<<1,
     IS_PREMULTIPLIED_ALPHA = 1 << 2,
     IS_SYNCHRONOUS_RESOURCE_LOADING = 1 << 3
index 2a21570..69e859b 100755 (executable)
@@ -310,13 +310,13 @@ int Visual::Base::GetDepthIndex() const
   return mImpl->mDepthIndex;
 }
 
-void Visual::Base::SetOnStage( Actor& actor )
+void Visual::Base::SetOnScene( Actor& actor )
 {
-  if( !IsOnStage() )
+  if( !IsOnScene() )
   {
     // To display the actor correctly, renderer should not be added to actor until all required resources are ready.
     // Thus the calling of actor.AddRenderer() should happen inside derived class as base class does not know the exact timing.
-    DoSetOnStage( actor );
+    DoSetOnScene( actor );
 
     if( mImpl->mRenderer )
     {
@@ -332,19 +332,19 @@ void Visual::Base::SetOnStage( Actor& actor )
 
       mImpl->mRenderer.SetProperty( Renderer::Property::BLEND_PRE_MULTIPLIED_ALPHA, IsPreMultipliedAlphaEnabled());
       mImpl->mRenderer.SetProperty( Renderer::Property::DEPTH_INDEX, mImpl->mDepthIndex );
-      mImpl->mFlags |= Impl::IS_ON_STAGE; // Only sets the flag if renderer exists
+      mImpl->mFlags |= Impl::IS_ON_SCENE; // Only sets the flag if renderer exists
     }
   }
 }
 
-void Visual::Base::SetOffStage( Actor& actor )
+void Visual::Base::SetOffScene( Actor& actor )
 {
-  if( IsOnStage() )
+  if( IsOnScene() )
   {
-    DoSetOffStage( actor );
+    DoSetOffScene( actor );
     mImpl->mMixColorIndex = Property::INVALID_INDEX;
     mImpl->mCornerRadiusIndex = Property::INVALID_INDEX;
-    mImpl->mFlags &= ~Impl::IS_ON_STAGE;
+    mImpl->mFlags &= ~Impl::IS_ON_SCENE;
   }
 }
 
@@ -415,15 +415,15 @@ bool Visual::Base::IsPreMultipliedAlphaEnabled() const
   return mImpl->mFlags & Impl::IS_PREMULTIPLIED_ALPHA;
 }
 
-void Visual::Base::DoSetOffStage( Actor& actor )
+void Visual::Base::DoSetOffScene( Actor& actor )
 {
   actor.RemoveRenderer( mImpl->mRenderer );
   mImpl->mRenderer.Reset();
 }
 
-bool Visual::Base::IsOnStage() const
+bool Visual::Base::IsOnScene() const
 {
-  return mImpl->mFlags & Impl::IS_ON_STAGE;
+  return mImpl->mFlags & Impl::IS_ON_SCENE;
 }
 
 bool Visual::Base::IsRoundedCornerRequired() const
index 6105867..058d683 100644 (file)
@@ -130,15 +130,15 @@ public:
   int GetDepthIndex() const;
 
   /**
-   * @copydoc Toolkit::Visual::Base::SetOnStage
+   * @copydoc Toolkit::Visual::Base::SetOnScene
    * @pre Impl->mGeometry must be created before this method is called
    */
-  void SetOnStage( Actor& actor );
+  void SetOnScene( Actor& actor );
 
   /**
-   * @copydoc Toolkit::Visual::Base::SetOffStage
+   * @copydoc Toolkit::Visual::Base::SetOffScene
    */
-  void SetOffStage( Actor& actor );
+  void SetOffScene( Actor& actor );
 
   /**
    * @copydoc Toolkit::Visual::Base::CreatePropertyMap
@@ -327,20 +327,20 @@ protected:
   virtual void OnSetTransform() = 0;
 
   /**
-   * @brief Called by SetOnStage() allowing sub classes to respond to the SetOnStage event
+   * @brief Called by SetOnScene() allowing sub classes to respond to the SetOnScene event
    *
    * @note The derived class is required to create the renderer, and add it to the actor when all the resources are in place.
    *
    * @param[in] actor The actor applying this visual.
    */
-  virtual void DoSetOnStage( Actor& actor ) = 0;
+  virtual void DoSetOnScene( Actor& actor ) = 0;
 
   /**
-   * @brief Called by SetOffStage() allowing sub classes to respond to the SetOffStage event
+   * @brief Called by SetOffScene() allowing sub classes to respond to the SetOffScene event
    *
    * @param[in] actor The actor applying this visual.
    */
-  virtual void DoSetOffStage( Actor& actor );
+  virtual void DoSetOffScene( Actor& actor );
 
   /**
    * @brief Called by DoAction() allowing sub classes to do the given action.
@@ -353,11 +353,11 @@ protected:
 protected:
 
   /**
-   * @brief Gets the on stage state for this Visual
+   * @brief Gets the on scene state for this Visual
    *
-   * @return Returns true if this Visual is on stage, false if it is off the stage
+   * @return Returns true if this Visual is on the scene, false if it is off the scene
    */
-  bool IsOnStage() const;
+  bool IsOnScene() const;
 
   /**
    * @brief Query whether the corners of the visual requires to be rounded.
index 4a4ab4c..5ee3e8e 100644 (file)
@@ -132,12 +132,12 @@ void InitializeVisual( Actor& actor, Toolkit::Visual::Base& visual, ParameterTyp
 {
   if( actor )
   {
-    Toolkit::GetImplementation(visual).SetOffStage( actor );
+    Toolkit::GetImplementation(visual).SetOffScene( actor );
   }
   visual = Toolkit::VisualFactory::Get().CreateVisual( param0, param1 );
   if( visual && actor && actor.GetProperty< bool >( Actor::Property::CONNECTED_TO_SCENE ) )
   {
-    Toolkit::GetImplementation(visual).SetOnStage(actor);
+    Toolkit::GetImplementation(visual).SetOnScene(actor);
   }
 }
 
@@ -155,12 +155,12 @@ void InitializeVisual( Actor& actor, Toolkit::Visual::Base& visual, ParameterTyp
 {
   if( actor && visual )
   {
-    Toolkit::GetImplementation(visual).SetOffStage( actor );
+    Toolkit::GetImplementation(visual).SetOffScene( actor );
   }
   visual =  Toolkit::VisualFactory::Get().CreateVisual( param );
   if( visual && actor && actor.GetProperty< bool >( Actor::Property::CONNECTED_TO_SCENE ) )
   {
-    Toolkit::GetImplementation(visual).SetOnStage(actor);
+    Toolkit::GetImplementation(visual).SetOnScene(actor);
   }
 }
 
index 5364de2..e170655 100644 (file)
@@ -168,7 +168,7 @@ void WireframeVisual::DoSetProperties( const Property::Map& propertyMap )
   }
 }
 
-void WireframeVisual::DoSetOnStage( Actor& actor )
+void WireframeVisual::DoSetOnScene( Actor& actor )
 {
   InitializeRenderer();
 
index eb54b71..23b16f5 100644 (file)
@@ -119,9 +119,9 @@ protected: // from Visual::Base
   void DoSetProperties( const Property::Map& propertyMap ) override;
 
   /**
-   * @copydoc Visual::Base::DoSetOnStage
+   * @copydoc Visual::Base::DoSetOnScene
    */
-  void DoSetOnStage( Actor& actor ) override;
+  void DoSetOnScene( Actor& actor ) override;
 
   /**
    * @copydoc Visual::Base::OnSetTransform
index 2855636..02adab4 100644 (file)
@@ -36,19 +36,13 @@ namespace Toolkit
 Button::Button()
 {}
 
-Button::Button( const Button& button )
-: Control( button )
-{
-}
+Button::Button( const Button& button ) = default;
 
-Button& Button::operator=( const Button& button )
-{
-  if( &button != this )
-  {
-    Control::operator=( button );
-  }
-  return *this;
-}
+Button::Button( Button&& rhs ) = default;
+
+Button& Button::operator=( const Button& button ) = default;
+
+Button& Button::operator=( Button&& rhs ) = default;
 
 Button::~Button()
 {
index 2544d46..c9c79d6 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_BUTTON_H
 
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -236,6 +236,14 @@ public:
   Button( const Button& button );
 
   /**
+   * @brief Move constructor
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   */
+  Button( Button&& rhs );
+
+  /**
    * @brief Assignment operator.
    * @SINCE_1_0.0
    * @param[in] button Handle to an object
@@ -244,6 +252,15 @@ public:
   Button& operator=( const Button& button );
 
   /**
+   * @brief Move assignment
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this
+   */
+  Button& operator=( Button&& rhs );
+
+  /**
    * @brief Downcasts a handle to Button handle.
    *
    * If handle points to a Button, the downcast produces valid handle.
index e2f7f56..69dbdd3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -34,19 +34,13 @@ CheckBoxButton::CheckBoxButton()
 {
 }
 
-CheckBoxButton::CheckBoxButton( const CheckBoxButton& checkBox )
-: Button( checkBox )
-{
-}
+CheckBoxButton::CheckBoxButton( const CheckBoxButton& checkBox ) = default;
 
-CheckBoxButton& CheckBoxButton::operator=( const CheckBoxButton& checkBox )
-{
-  if( &checkBox != this )
-  {
-    Button::operator=( checkBox );
-  }
-  return *this;
-}
+CheckBoxButton::CheckBoxButton( CheckBoxButton&& rhs ) = default;
+
+CheckBoxButton& CheckBoxButton::operator=( const CheckBoxButton& checkBox ) = default;
+
+CheckBoxButton& CheckBoxButton::operator=( CheckBoxButton&& rhs ) = default;
 
 CheckBoxButton::~CheckBoxButton()
 {
index 675ae70..4ae4608 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_CHECK_BOX_BUTTON_H
 
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -97,6 +97,14 @@ public:
   CheckBoxButton( const CheckBoxButton& checkBox );
 
   /**
+   * @brief Move constructor
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   */
+  CheckBoxButton( CheckBoxButton&& rhs );
+
+  /**
    * @brief Assignment operator.
    * @SINCE_1_0.0
    * @param[in] checkBox Handle to an object
@@ -105,6 +113,15 @@ public:
   CheckBoxButton& operator=( const CheckBoxButton& checkBox );
 
   /**
+   * @brief Move assignment
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this
+   */
+  CheckBoxButton& operator=( CheckBoxButton&& rhs );
+
+  /**
    * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
index e8ae5a1..0cc3706 100644 (file)
@@ -41,19 +41,13 @@ PushButton::PushButton( Internal::PushButton& implementation )
 {
 }
 
-PushButton::PushButton( const PushButton& pushButton )
-: Button( pushButton )
-{
-}
+PushButton::PushButton( const PushButton& pushButton ) = default;
 
-PushButton& PushButton::operator=( const PushButton& pushButton )
-{
-  if( &pushButton != this )
-  {
-    Button::operator=( pushButton );
-  }
-  return *this;
-}
+PushButton::PushButton( PushButton&& rhs ) = default;
+
+PushButton& PushButton::operator=( const PushButton& pushButton ) = default;
+
+PushButton& PushButton::operator=( PushButton&& rhs ) = default;
 
 PushButton::PushButton( Dali::Internal::CustomActor* internal )
 : Button( internal )
index 4a6b0c2..e237cc8 100644 (file)
@@ -134,6 +134,14 @@ public:
   PushButton( const PushButton& pushButton );
 
   /**
+   * @brief Move constructor
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   */
+  PushButton( PushButton&& rhs );
+
+  /**
    * @brief Assignment operator.
    * @SINCE_1_0.0
    * @param[in] pushButton Handle to an object
@@ -142,6 +150,15 @@ public:
   PushButton& operator=( const PushButton& pushButton );
 
   /**
+   * @brief Move assignment
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this
+   */
+  PushButton& operator=( PushButton&& rhs );
+
+  /**
    * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
index 7538723..d9d8d60 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -39,19 +39,13 @@ RadioButton::RadioButton( Internal::RadioButton& implementation )
 {
 }
 
-RadioButton::RadioButton( const RadioButton& radioButton )
-  : Button( radioButton )
-{
-}
+RadioButton::RadioButton( const RadioButton& radioButton ) = default;
 
-RadioButton& RadioButton::operator=( const RadioButton& radioButton )
-{
-  if( &radioButton != this )
-  {
-    Button::operator=( radioButton );
-  }
-  return *this;
-}
+RadioButton::RadioButton( RadioButton&& rhs ) = default;
+
+RadioButton& RadioButton::operator=( const RadioButton& radioButton ) = default;
+
+RadioButton& RadioButton::operator=( RadioButton&& rhs ) = default;
 
 RadioButton::RadioButton( Dali::Internal::CustomActor* internal )
   : Button( internal )
index d241e74..b125ab3 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_RADIO_BUTTON_H
 
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2029 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.
@@ -103,6 +103,14 @@ class DALI_TOOLKIT_API RadioButton: public Button
   RadioButton( const RadioButton& radioButton );
 
   /**
+   * @brief Move constructor
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   */
+  RadioButton( RadioButton&& rhs );
+
+  /**
    * @brief Assignment operator.
    * @SINCE_1_0.0
    * @param[in] radioButton Handle to an object
@@ -111,6 +119,15 @@ class DALI_TOOLKIT_API RadioButton: public Button
   RadioButton& operator=( const RadioButton& radioButton );
 
   /**
+   * @brief Move assignment
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this
+   */
+  RadioButton& operator=( RadioButton&& rhs );
+
+  /**
    * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
old mode 100755 (executable)
new mode 100644 (file)
index 3afa397..eec35fb
@@ -554,9 +554,9 @@ void Control::EmitKeyInputFocusSignal( bool focusGained )
   }
 }
 
-void Control::OnStageConnection( int depth )
+void Control::OnSceneConnection( int depth )
 {
-  DALI_LOG_INFO( gLogFilter, Debug::Verbose, "Control::OnStageConnection number of registered visuals(%d)\n",  mImpl->mVisuals.Size() );
+  DALI_LOG_INFO( gLogFilter, Debug::Verbose, "Control::OnSceneConnection number of registered visuals(%d)\n",  mImpl->mVisuals.Size() );
 
   Actor self( Self() );
 
@@ -565,22 +565,22 @@ void Control::OnStageConnection( int depth )
     // Check whether the visual is empty and enabled
     if( (*iter)->visual && (*iter)->enabled )
     {
-      DALI_LOG_INFO( gLogFilter, Debug::Verbose, "Control::OnStageConnection Setting visual(%d) on stage\n", (*iter)->index );
-      Toolkit::GetImplementation((*iter)->visual).SetOnStage( self );
+      DALI_LOG_INFO( gLogFilter, Debug::Verbose, "Control::OnSceneConnection Setting visual(%d) on scene\n", (*iter)->index );
+      Toolkit::GetImplementation((*iter)->visual).SetOnScene( self );
     }
   }
 
   // The clipping renderer is only created if required.
   CreateClippingRenderer( *this );
 
-  // Request to be laid out when the control is connected to the Stage.
+  // Request to be laid out when the control is connected to the Scene.
   // Signal that a Relayout may be needed
 }
 
 
-void Control::OnStageDisconnection()
+void Control::OnSceneDisconnection()
 {
-  mImpl->OnStageDisconnection();
+  mImpl->OnSceneDisconnection();
 }
 
 void Control::OnKeyInputFocusGained()
@@ -604,7 +604,7 @@ void Control::OnChildRemove(Actor& child)
 void Control::OnPropertySet( Property::Index index, Property::Value propertyValue )
 {
   // If the clipping mode has been set, we may need to create a renderer.
-  // Only do this if we are already on-stage as the OnStageConnection will handle the off-stage clipping controls.
+  // Only do this if we are already on-stage as the OnSceneConnection will handle the off-stage clipping controls.
   if( ( index == Actor::Property::CLIPPING_MODE ) && Self().GetProperty< bool >( Actor::Property::CONNECTED_TO_SCENE ) )
   {
     // Note: This method will handle whether creation of the renderer is required.
index 56c358d..f127317 100644 (file)
@@ -294,114 +294,114 @@ protected: // For derived classes to call
    */
   void EmitKeyInputFocusSignal( bool focusGained );
 
-protected: // From CustomActorImpl, not to be used by application developers
+protected: // From CustomActorImpl
 
   /**
-   * @copydoc CustomActorImpl::OnStageConnection()
-   * @note If overridden, then an up-call to Control::OnStageConnection MUST be made at the end.
+   * @copydoc CustomActorImpl::OnSceneConnection()
+   * @note If overridden, then an up-call to Control::OnSceneConnection MUST be made at the end.
    */
-  virtual void OnStageConnection( int depth );
+  virtual void OnSceneConnection( int depth ) override;
 
   /**
-   * @copydoc CustomActorImpl::OnStageDisconnection()
-   * @note If overridden, then an up-call to Control::OnStageDisconnection MUST be made at the end.
+   * @copydoc CustomActorImpl::OnSceneDisconnection()
+   * @note If overridden, then an up-call to Control::OnSceneDisconnection MUST be made at the end.
    */
-  virtual void OnStageDisconnection();
+  virtual void OnSceneDisconnection() override;
 
   /**
    * @copydoc CustomActorImpl::OnChildAdd()
    * @note If overridden, then an up-call to Control::OnChildAdd MUST be made at the end.
    */
-  virtual void OnChildAdd( Actor& child );
+  virtual void OnChildAdd( Actor& child ) override;
 
   /**
    * @copydoc CustomActorImpl::OnChildRemove()
    * @note If overridden, then an up-call to Control::OnChildRemove MUST be made at the end.
    */
-  virtual void OnChildRemove( Actor& child );
+  virtual void OnChildRemove( Actor& child ) override;
 
   /**
    * @copydoc CustomActorImpl::OnPropertySet()
    * @note If overridden, then an up-call to Control::OnChildRemove MUST be made at the end.
    */
-  virtual void OnPropertySet( Property::Index index, Property::Value propertyValue );
+  virtual void OnPropertySet( Property::Index index, Property::Value propertyValue ) override;
 
   /**
    * @copydoc CustomActorImpl::OnSizeSet()
    * @note If overridden, then an up-call to Control::OnSizeSet MUST be made at the end.
    */
-  virtual void OnSizeSet( const Vector3& targetSize );
+  virtual void OnSizeSet( const Vector3& targetSize ) override;
 
   /**
    * @copydoc CustomActorImpl::OnSizeAnimation()
    * @note If overridden, then an up-call to Control::OnSizeAnimation MUST be made at the end.
    */
-  virtual void OnSizeAnimation( Animation& animation, const Vector3& targetSize );
+  virtual void OnSizeAnimation( Animation& animation, const Vector3& targetSize ) override;
 
   /**
    * @copydoc CustomActorImpl::OnTouchEvent()
    */
-  virtual bool OnTouchEvent( const TouchEvent& event );
+  virtual bool OnTouchEvent( const TouchEvent& event ) override;
 
   /**
    * @copydoc CustomActorImpl::OnHoverEvent()
    */
-  virtual bool OnHoverEvent( const HoverEvent& event );
+  virtual bool OnHoverEvent( const HoverEvent& event ) override;
 
   /**
    * @copydoc CustomActorImpl::OnKeyEvent()
    */
-  virtual bool OnKeyEvent( const KeyEvent& event );
+  virtual bool OnKeyEvent( const KeyEvent& event ) override;
 
   /**
    * @copydoc CustomActorImpl::OnWheelEvent()
    */
-  virtual bool OnWheelEvent( const WheelEvent& event );
+  virtual bool OnWheelEvent( const WheelEvent& event ) override;
 
   /**
    * @copydoc CustomActorImpl::OnRelayout()
    */
-  virtual void OnRelayout( const Vector2& size, RelayoutContainer& container );
+  virtual void OnRelayout( const Vector2& size, RelayoutContainer& container ) override;
 
   /**
    * @copydoc CustomActorImpl::OnSetResizePolicy()
    */
-  virtual void OnSetResizePolicy( ResizePolicy::Type policy, Dimension::Type dimension );
+  virtual void OnSetResizePolicy( ResizePolicy::Type policy, Dimension::Type dimension ) override;
 
   /**
    * @copydoc CustomActorImpl::GetNaturalSize()
    */
-  virtual Vector3 GetNaturalSize();
+  virtual Vector3 GetNaturalSize() override;
 
   /**
    * @copydoc CustomActorImpl::CalculateChildSize()
    */
-  virtual float CalculateChildSize( const Dali::Actor& child, Dimension::Type dimension );
+  virtual float CalculateChildSize( const Dali::Actor& child, Dimension::Type dimension ) override;
 
   /**
    * @copydoc CustomActorImpl::GetHeightForWidth()
    */
-  virtual float GetHeightForWidth( float width );
+  virtual float GetHeightForWidth( float width ) override;
 
   /**
    * @copydoc CustomActorImpl::GetWidthForHeight()
    */
-  virtual float GetWidthForHeight( float height );
+  virtual float GetWidthForHeight( float height ) override;
 
   /**
    * @copydoc CustomActorImpl::RelayoutDependentOnChildren()
    */
-  virtual bool RelayoutDependentOnChildren( Dimension::Type dimension = Dimension::ALL_DIMENSIONS );
+  virtual bool RelayoutDependentOnChildren( Dimension::Type dimension = Dimension::ALL_DIMENSIONS ) override;
 
   /**
    * @copydoc CustomActorImpl::OnCalculateRelayoutSize()
    */
-  virtual void OnCalculateRelayoutSize( Dimension::Type dimension );
+  virtual void OnCalculateRelayoutSize( Dimension::Type dimension ) override;
 
   /**
    * @copydoc CustomActorImpl::OnLayoutNegotiated()
    */
-  virtual void OnLayoutNegotiated( float size, Dimension::Type dimension );
+  virtual void OnLayoutNegotiated( float size, Dimension::Type dimension ) override;
 
 protected: // Helpers for deriving classes
 
index d9b2f8f..07170ff 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -40,23 +40,17 @@ Control::Control()
 {
 }
 
-Control::Control( const Control& uiControl )
-: CustomActor( uiControl  )
-{
-}
+Control::Control( const Control& uiControl ) = default;
+
+Control::Control( Control&& rhs ) = default;
 
 Control::~Control()
 {
 }
 
-Control& Control::operator=( const Control& handle )
-{
-  if( &handle != this )
-  {
-    CustomActor::operator=( handle );
-  }
-  return *this;
-}
+Control& Control::operator=( const Control& handle ) = default;
+
+Control& Control::operator=( Control&& rhs ) = default;
 
 Control Control::DownCast( BaseHandle handle )
 {
index b8b5621..6ecfd8b 100644 (file)
@@ -200,6 +200,14 @@ public: // Creation & Destruction
   Control(const Control& uiControl);
 
   /**
+   * @brief Move constructor.
+   *
+   * @SINCE_1_9.23
+   * @param[in] rhs Handle to move
+   */
+  Control( Control&& rhs );
+
+  /**
    * @brief Dali::Control is intended as a base class.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
@@ -210,7 +218,7 @@ public: // Creation & Destruction
 public: // operators
 
   /**
-   * @brief Assignment operator.
+   * @brief Copy assignment operator.
    *
    * Changes this handle to point to another real object.
    * @SINCE_1_0.0
@@ -219,6 +227,15 @@ public: // operators
    */
   Control& operator=( const Control& handle );
 
+  /**
+   * @brief Move assignment operator.
+   *
+   * @SINCE_1_9.23
+   * @param[in] rhs Object to assign this to
+   * @return Reference to this
+   */
+  Control& operator=( Control&& rhs );
+
 public:
 
   /**
index ec95d8c..0c0227d 100644 (file)
@@ -36,19 +36,13 @@ FlexContainer::FlexContainer()
 {
 }
 
-FlexContainer::FlexContainer( const FlexContainer& handle )
-: Control( handle )
-{
-}
+FlexContainer::FlexContainer( const FlexContainer& handle ) = default;
 
-FlexContainer& FlexContainer::operator=( const FlexContainer& handle )
-{
-  if( &handle != this )
-  {
-    Control::operator=( handle );
-  }
-  return *this;
-}
+FlexContainer::FlexContainer( FlexContainer&& rhs ) = default;
+
+FlexContainer& FlexContainer::operator=( const FlexContainer& handle ) = default;
+
+FlexContainer& FlexContainer::operator=( FlexContainer&& rhs ) = default;
 
 FlexContainer::~FlexContainer()
 {
index 78965f8..c89ef8e 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_FLEX_CONTAINER_H
 
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -241,6 +241,14 @@ public:
   FlexContainer( const FlexContainer& handle );
 
   /**
+   * @brief Move constructor
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   */
+  FlexContainer( FlexContainer&& rhs );
+
+  /**
    * @brief Assignment operator. Changes this handle to point to another real object.
    * @SINCE_1_1.35
    * @param[in] handle Handle to an object
@@ -249,6 +257,15 @@ public:
   FlexContainer& operator=( const FlexContainer& handle );
 
   /**
+   * @brief Move assignment
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this
+   */
+  FlexContainer& operator=( FlexContainer&& rhs );
+
+  /**
    * @brief Destructor.
    *
    * @details This is non-virtual since derived Handle types must not contain data or virtual methods.
index f06b667..980c0a5 100644 (file)
@@ -35,19 +35,13 @@ ImageView::ImageView()
 {
 }
 
-ImageView::ImageView( const ImageView& imageView )
-: Control( imageView )
-{
-}
+ImageView::ImageView( const ImageView& imageView ) = default;
 
-ImageView& ImageView::operator=( const ImageView& imageView )
-{
-  if( &imageView != this )
-  {
-    Control::operator=( imageView );
-  }
-  return *this;
-}
+ImageView::ImageView( ImageView&& rhs ) = default;
+
+ImageView& ImageView::operator=( const ImageView& imageView ) = default;
+
+ImageView& ImageView::operator=( ImageView&& rhs ) = default;
 
 ImageView::~ImageView()
 {
index 47806df..b2fc518 100644 (file)
@@ -194,6 +194,14 @@ public:
   ImageView( const ImageView& imageView );
 
   /**
+   * @brief Move constructor
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   */
+  ImageView( ImageView&& rhs );
+
+  /**
    * @brief Assignment operator.
    *
    * @SINCE_1_0.0
@@ -203,6 +211,15 @@ public:
   ImageView& operator=( const ImageView& imageView );
 
   /**
+   * @brief Move assignment
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this
+   */
+  ImageView& operator=( ImageView&& rhs );
+
+  /**
    * @brief Downcasts a handle to ImageView handle.
    *
    * If handle points to a ImageView, the downcast produces valid handle.
index e1dc94c..1ebdd2b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -33,19 +33,13 @@ namespace Toolkit
 Model3dView::Model3dView()
 {}
 
-Model3dView::Model3dView( const Model3dView& model3dView )
-: Control( model3dView )
-{
-}
+Model3dView::Model3dView( const Model3dView& model3dView ) = default;
 
-Model3dView& Model3dView::operator=( const Model3dView& model3dView )
-{
-  if( &model3dView != this )
-  {
-    Control::operator=( model3dView );
-  }
-  return *this;
-}
+Model3dView::Model3dView( Model3dView&& rhs ) = default;
+
+Model3dView& Model3dView::operator=( const Model3dView& model3dView ) = default;
+
+Model3dView& Model3dView::operator=( Model3dView&& rhs ) = default;
 
 Model3dView::~Model3dView()
 {
index dfa6830..358fd9f 100755 (executable)
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_MODEL3D_VIEW_H
 
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -142,6 +142,14 @@ public:
   Model3dView( const Model3dView& model3dView );
 
   /**
+   * @brief Move constructor
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   */
+  Model3dView( Model3dView&& rhs );
+
+  /**
    * @brief Assignment operator.
    * @SINCE_1_1.4
    * @param[in] model3dView Handle to an object
@@ -150,6 +158,15 @@ public:
   Model3dView& operator=( const Model3dView& model3dView );
 
   /**
+   * @brief Move assignment
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this
+   */
+  Model3dView& operator=( Model3dView&& rhs );
+
+  /**
    * @brief Downcasts an Object handle to Model3dView.
    *
    * If handle points to a Model3dView, the downcast produces valid handle.
index d34a5a8..849de38 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -31,19 +31,13 @@ ProgressBar::ProgressBar()
 {
 }
 
-ProgressBar::ProgressBar( const ProgressBar& handle )
-: Control( handle )
-{
-}
+ProgressBar::ProgressBar( const ProgressBar& handle ) = default;
 
-ProgressBar& ProgressBar::operator=( const ProgressBar& handle )
-{
-  if( &handle != this )
-  {
-    Control::operator=( handle );
-  }
-  return *this;
-}
+ProgressBar::ProgressBar( ProgressBar&& rhs ) = default;
+
+ProgressBar& ProgressBar::operator=( const ProgressBar& handle ) = default;
+
+ProgressBar& ProgressBar::operator=( ProgressBar&& rhs ) = default;
 
 ProgressBar::ProgressBar(Internal::ProgressBar& implementation)
 : Control(implementation)
index 407e026..7497fbd 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_PROGRESS_BAR_H
 
 /*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -180,6 +180,14 @@ public:
   ProgressBar( const ProgressBar& handle );
 
   /**
+   * @brief Move constructor
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   */
+  ProgressBar( ProgressBar&& rhs );
+
+  /**
    * @brief Assignment operator.
    *
    * Changes this handle to point to another real object.
@@ -190,6 +198,15 @@ public:
   ProgressBar& operator=( const ProgressBar& handle );
 
   /**
+   * @brief Move assignment
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this
+   */
+  ProgressBar& operator=( ProgressBar&& rhs );
+
+  /**
    * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
index 12a6baf..7435b13 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -40,19 +40,13 @@ ItemView::ItemView( Dali::Internal::CustomActor* internal )
   VerifyCustomActorPointer<Internal::ItemView>(internal);
 }
 
-ItemView::ItemView( const ItemView& itemView )
-: Scrollable(itemView)
-{
-}
+ItemView::ItemView( const ItemView& itemView ) = default;
 
-ItemView& ItemView::operator=( const ItemView& itemView )
-{
-  if( &itemView != this )
-  {
-    Control::operator=( itemView );
-  }
-  return *this;
-}
+ItemView::ItemView( ItemView&& rhs ) = default;
+
+ItemView& ItemView::operator=( const ItemView& itemView ) = default;
+
+ItemView& ItemView::operator=( ItemView&& rhs ) = default;
 
 ItemView ItemView::New(ItemFactory& factory)
 {
index 692d129..5bc7eea 100755 (executable)
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_ITEM_VIEW_H
 
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -215,6 +215,14 @@ public:
   ItemView( const ItemView& itemView );
 
   /**
+   * @brief Move constructor
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   */
+  ItemView( ItemView&& rhs );
+
+  /**
    * @brief Assignment operator.
    * @SINCE_1_0.0
    * @param[in] itemView Handle to an object
@@ -223,6 +231,15 @@ public:
   ItemView& operator=( const ItemView& itemView );
 
   /**
+   * @brief Move assignment
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this
+   */
+  ItemView& operator=( ItemView&& rhs );
+
+  /**
    * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
index 471f371..effc31a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -298,19 +298,13 @@ ScrollView::ScrollView( Dali::Internal::CustomActor* internal )
   VerifyCustomActorPointer<Internal::ScrollView>(internal);
 }
 
-ScrollView::ScrollView( const ScrollView& handle )
-: Scrollable( handle )
-{
-}
+ScrollView::ScrollView( const ScrollView& handle ) = default;
 
-ScrollView& ScrollView::operator=( const ScrollView& handle )
-{
-  if( &handle != this )
-  {
-    Control::operator=( handle );
-  }
-  return *this;
-}
+ScrollView::ScrollView( ScrollView&& rhs ) = default;
+
+ScrollView& ScrollView::operator=( const ScrollView& handle ) = default;
+
+ScrollView& ScrollView::operator=( ScrollView&& rhs ) = default;
 
 ScrollView ScrollView::New()
 {
index 4acf64c..14b9909 100755 (executable)
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_SCROLL_VIEW_H
 
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -737,6 +737,14 @@ public:
   ScrollView( const ScrollView& handle );
 
   /**
+   * @brief Move constructor
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   */
+  ScrollView( ScrollView&& rhs );
+
+  /**
    * @brief Assignment operator.
    *
    * Changes this handle to point to another real object.
@@ -747,6 +755,15 @@ public:
   ScrollView& operator=( const ScrollView& handle );
 
   /**
+   * @brief Move assignment
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this
+   */
+  ScrollView& operator=( ScrollView&& rhs );
+
+  /**
    * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
index 9e1c66f..3802239 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -41,19 +41,13 @@ Scrollable::Scrollable( Dali::Internal::CustomActor* internal )
   VerifyCustomActorPointer<Internal::Scrollable>(internal);
 }
 
-Scrollable::Scrollable( const Scrollable& handle )
-: Control( handle )
-{
-}
+Scrollable::Scrollable( const Scrollable& handle ) = default;
 
-Scrollable& Scrollable::operator=( const Scrollable& handle )
-{
-  if( &handle != this )
-  {
-    Control::operator=( handle );
-  }
-  return *this;
-}
+Scrollable::Scrollable( Scrollable&& rhs ) = default;
+
+Scrollable& Scrollable::operator=( const Scrollable& handle ) = default;
+
+Scrollable& Scrollable::operator=( Scrollable&& rhs ) = default;
 
 Scrollable::~Scrollable()
 {
index 38050ae..c3f235c 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_SCROLLABLE_H
 
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -124,6 +124,14 @@ public:
   Scrollable( const Scrollable& handle );
 
   /**
+   * @brief Move constructor
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   */
+  Scrollable( Scrollable&& rhs );
+
+  /**
    * @brief Assignment operator.
    *
    * Changes this handle to point to another real object.
@@ -134,6 +142,15 @@ public:
   Scrollable& operator=( const Scrollable& handle );
 
   /**
+   * @brief Move assignment
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this
+   */
+  Scrollable& operator=( Scrollable&& rhs );
+
+  /**
    * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
index 8aa47d0..ed7cda9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -33,19 +33,13 @@ Slider::Slider()
 {
 }
 
-Slider::Slider( const Slider& handle )
-: Control( handle )
-{
-}
+Slider::Slider( const Slider& handle ) = default;
 
-Slider& Slider::operator=( const Slider& handle )
-{
-  if( &handle != this )
-  {
-    Control::operator=( handle );
-  }
-  return *this;
-}
+Slider::Slider( Slider&& rhs ) = default;
+
+Slider& Slider::operator=( const Slider& handle ) = default;
+
+Slider& Slider::operator=( Slider&& rhs ) = default;
 
 Slider::Slider(Internal::Slider& implementation)
 : Control(implementation)
index 603e110..1788734 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_SLIDER_H
 
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -193,6 +193,14 @@ public:
   Slider( const Slider& handle );
 
   /**
+   * @brief Move constructor
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   */
+  Slider( Slider&& rhs );
+
+  /**
    * @brief Assignment operator.
    *
    * Changes this handle to point to another real object.
@@ -203,6 +211,15 @@ public:
   Slider& operator=( const Slider& handle );
 
   /**
+   * @brief Move assignment
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this
+   */
+  Slider& operator=( Slider&& rhs );
+
+  /**
    * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
index f02d843..f3c26f9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -36,19 +36,13 @@ TextEditor::TextEditor()
 {
 }
 
-TextEditor::TextEditor( const TextEditor& handle )
-: Control( handle )
-{
-}
+TextEditor::TextEditor( const TextEditor& handle ) = default;
 
-TextEditor& TextEditor::operator=( const TextEditor& handle )
-{
-  if( &handle != this )
-  {
-    Control::operator=( handle );
-  }
-  return *this;
-}
+TextEditor::TextEditor( TextEditor&& rhs ) = default;
+
+TextEditor& TextEditor::operator=( const TextEditor& handle ) = default;
+
+TextEditor& TextEditor::operator=( TextEditor&& rhs ) = default;
 
 TextEditor::~TextEditor()
 {
index acebb97..18bb112 100644 (file)
@@ -532,14 +532,30 @@ public:
   TextEditor( const TextEditor &handle );
 
   /**
+   * @brief Move constructor
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   */
+  TextEditor( TextEditor&& rhs );
+
+  /**
    * @brief Assignment operator.
    *
    * @SINCE_1_1.37
    * @param[in] handle The handle to copy from
    * @return A reference to this
    */
-  TextEditor&
-  operator=( const TextEditor &handle );
+  TextEditor& operator=( const TextEditor &handle );
+
+  /**
+   * @brief Move assignment
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this
+   */
+  TextEditor& operator=( TextEditor&& rhs );
 
   /**
    * @brief Destructor.
index fc58261..1ebedb6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -36,19 +36,13 @@ TextField::TextField()
 {
 }
 
-TextField::TextField( const TextField& handle )
-: Control( handle )
-{
-}
+TextField::TextField( const TextField& handle ) = default;
 
-TextField& TextField::operator=( const TextField& handle )
-{
-  if( &handle != this )
-  {
-    Control::operator=( handle );
-  }
-  return *this;
-}
+TextField::TextField( TextField&& rhs ) = default;
+
+TextField& TextField::operator=( const TextField& handle ) = default;
+
+TextField& TextField::operator=( TextField&& rhs ) = default;
 
 TextField::~TextField()
 {
index c5d257d..b705039 100644 (file)
@@ -539,6 +539,14 @@ public:
   TextField( const TextField& handle );
 
   /**
+   * @brief Move constructor
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   */
+  TextField( TextField&& rhs );
+
+  /**
    * @brief Assignment operator.
    *
    * @SINCE_1_0.0
@@ -548,6 +556,15 @@ public:
   TextField& operator=( const TextField& handle );
 
   /**
+   * @brief Move assignment
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this
+   */
+  TextField& operator=( TextField&& rhs );
+
+  /**
    * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
index 7a61615..39450c7 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -44,19 +44,13 @@ TextLabel::TextLabel()
 {
 }
 
-TextLabel::TextLabel( const TextLabel& handle )
-: Control( handle )
-{
-}
+TextLabel::TextLabel( const TextLabel& handle ) = default;
 
-TextLabel& TextLabel::operator=( const TextLabel& handle )
-{
-  if( &handle != this )
-  {
-    Control::operator=( handle );
-  }
-  return *this;
-}
+TextLabel::TextLabel( TextLabel&& rhs ) = default;
+
+TextLabel& TextLabel::operator=( const TextLabel& handle ) = default;
+
+TextLabel& TextLabel::operator=( TextLabel&& rhs ) = default;
 
 TextLabel::~TextLabel()
 {
index f61d675..4fe6447 100644 (file)
@@ -399,6 +399,14 @@ public:
   TextLabel( const TextLabel& handle );
 
   /**
+   * @brief Move constructor
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   */
+  TextLabel( TextLabel&& rhs );
+
+  /**
    * @brief Assignment operator.
    *
    * @SINCE_1_0.0
@@ -408,6 +416,15 @@ public:
   TextLabel& operator=( const TextLabel& handle );
 
   /**
+   * @brief Move assignment
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this
+   */
+  TextLabel& operator=( TextLabel&& rhs );
+
+  /**
    * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
index ef478ff..5f827a5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -35,20 +35,13 @@ VideoView::VideoView()
 {
 }
 
-VideoView::VideoView( const VideoView& videoView )
-: Control( videoView )
-{
-}
+VideoView::VideoView( const VideoView& videoView ) = default;
 
-VideoView& VideoView::operator=( const VideoView& videoView )
-{
-  if( &videoView != this )
-  {
-    Control::operator=( videoView );
-  }
+VideoView::VideoView( VideoView&& rhs ) = default;
 
-  return *this;
-}
+VideoView& VideoView::operator=( const VideoView& videoView ) = default;
+
+VideoView& VideoView::operator=( VideoView&& rhs ) = default;
 
 VideoView::~VideoView()
 {
index 88728ee..e97bb27 100755 (executable)
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_VIDEO_VIEW_H
 
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -255,6 +255,14 @@ public:
   VideoView( const VideoView& videoView );
 
   /**
+   * @brief Move constructor
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   */
+  VideoView( VideoView&& rhs );
+
+  /**
    * @brief Assignment operator.
    *
    * @SINCE_1_1.38
@@ -264,6 +272,15 @@ public:
   VideoView& operator=( const VideoView& videoView );
 
   /**
+   * @brief Move assignment
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this
+   */
+  VideoView& operator=( VideoView&& rhs );
+
+  /**
    * @brief Downcasts a handle to VideoView handle.
    *
    * If handle points to a VideoView, the downcast produces valid handle.
index 581818c..ed930ac 100644 (file)
@@ -31,7 +31,7 @@ namespace Toolkit
 
 const unsigned int TOOLKIT_MAJOR_VERSION = 1;
 const unsigned int TOOLKIT_MINOR_VERSION = 9;
-const unsigned int TOOLKIT_MICRO_VERSION = 22;
+const unsigned int TOOLKIT_MICRO_VERSION = 23;
 const char * const TOOLKIT_BUILD_DATE    = __DATE__ " " __TIME__;
 
 #ifdef DEBUG_ENABLED
index a1d21e7..cd84dd6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -40,16 +40,13 @@ AsyncImageLoader::AsyncImageLoader( Internal::AsyncImageLoader* impl )
 {
 }
 
-AsyncImageLoader::AsyncImageLoader( const AsyncImageLoader& handle )
-: BaseHandle( handle )
-{
-}
+AsyncImageLoader::AsyncImageLoader( const AsyncImageLoader& handle ) = default;
 
-AsyncImageLoader& AsyncImageLoader::operator=( const AsyncImageLoader& handle )
-{
-  BaseHandle::operator=( handle );
-  return *this;
-}
+AsyncImageLoader::AsyncImageLoader( AsyncImageLoader&& rhs ) = default;
+
+AsyncImageLoader& AsyncImageLoader::operator=( const AsyncImageLoader& handle ) =  default;
+
+AsyncImageLoader& AsyncImageLoader::operator=( AsyncImageLoader&& rhs ) =  default;
 
 AsyncImageLoader AsyncImageLoader::DownCast( BaseHandle handle )
 {
index 3a30253..e163b07 100755 (executable)
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_ASYNC_IMAGE_LOADER_H
 
 /*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -128,6 +128,14 @@ public:
   AsyncImageLoader( const AsyncImageLoader& handle );
 
   /**
+   * @brief Move constructor
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   */
+  AsyncImageLoader( AsyncImageLoader&& rhs );
+
+  /**
    * @brief This assignment operator is required for (smart) pointer semantics.
    * @SINCE_1_2_14
    *
@@ -137,6 +145,14 @@ public:
   AsyncImageLoader& operator=( const AsyncImageLoader& handle );
 
   /**
+   * @brief Move assignment
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   */
+  AsyncImageLoader& operator=( AsyncImageLoader&& rhs );
+
+  /**
    * @brief Creates a new loader to load the image asynchronously in a worker thread.
    * @SINCE_1_2_14
    *
index bbf5ae0..f421be2 100644 (file)
@@ -113,7 +113,7 @@ public:
     valueText << touchedCount;
     mTagText.SetProperty( TextLabel::Property::TEXT, valueText.str() );
 
-    return true; // Consumed
+    return true; // Consumed meaning any gestures will be cancelled
   }
   // C++ EXAMPLE END
 
index b54806b..2bc8bdd 100644 (file)
@@ -1,4 +1,4 @@
-# DALi Introduction ajskdfajksd fhksja
+# DALi Introduction
 
 ### Introduction
  + [What is DALi?](@ref dali-introduction)
index da7e857..7da3c4b 100644 (file)
@@ -387,29 +387,29 @@ Avoid adding or removing the child again within these methods.
  
 ___________________________________________________________________________________________________
 
-### Stage Connection {#creating-controls-stage}
+### Scene Connection {#creating-controls-scene}
 
-Methods are provided that can be overridden if notification is required when our control is connected to or disconnected from the stage.
+Methods are provided that can be overridden if notification is required when our control is connected to or disconnected from the scene.
 An up call to the Control class is necessary if these methods are overridden.
  
 ~~~{.cpp}
 // C++
-void Internal::MyUIControl::OnStageConnection( int depth )
+void Internal::MyUIControl::OnSceneConnection( int depth )
 {
-  // Do any other operations required upon stage connection
+  // Do any other operations required upon scene connection
 
   // Up call to Control at the end
-  Control::OnStageConnection( depth );
+  Control::OnSceneConnection( depth );
 }
 ~~~
 ~~~{.cpp}
 // C++
-void Internal::MyUIControl::OnStageDisconnection()
+void Internal::MyUIControl::OnSceneDisconnection()
 {
-  // Do any other operations required upon stage disconnection
+  // Do any other operations required upon scene disconnection
 
   // Up call to Control at the end
-  Control::OnStageDisconnection();
+  Control::OnSceneDisconnection();
 }
 ~~~
  
index 463e63b..6ad5413 100644 (file)
@@ -1,6 +1,6 @@
 Name:       dali2-toolkit
 Summary:    Dali 3D engine Toolkit
-Version:    1.9.22
+Version:    1.9.23
 Release:    1
 Group:      System/Libraries
 License:    Apache-2.0 and BSD-3-Clause and MIT