[dali_2.3.24] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / devel-api / controls / shadow-view / shadow-view.h
index 6b4b9dd..07e5ee5 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_SHADOW_VIEW_H
 
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 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.
 
 namespace Dali
 {
-
 namespace Toolkit
 {
-
 namespace Internal DALI_INTERNAL
 {
-
 /**
  * ShadowView implementation class
  */
 class ShadowView;
 
-} // namespace Internal
+} // namespace DALI_INTERNAL
 
 /**
  *
@@ -74,12 +71,12 @@ class ShadowView;
  *  ImageView shadowPlaneBg = ImageView::New(); //This will be the shadow plane
  *  shadowPlaneBg.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
  *  shadowPlaneBg.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER );
- *  shadowPlaneBg.SetSize(700.0f, 700.0f);
- *  shadowPlaneBg.SetPosition( Vector3(0.0f, 0.0f, -30.0f) ); //Just behind the image view.
+ *  shadowPlaneBg.SetProperty( Actor::Property::SIZE, Vector2(700.0f, 700.0f) );
+ *  shadowPlaneBg.SetProperty( Actor::Property::POSITION, Vector3(0.0f, 0.0f, -30.0f) ); //Just behind the image view.
  *  shadowView.SetShadowPlaneBackground(ShadowPlane);
  *
  *  Actor pointLight = Actor::New(); // This will be the light source
- *  pointLight.SetPosition(300.0f, 250.0f, 600.0f);
+ *  pointLight.SetProperty( Actor::Property::POSITION, Vector3(300.0f, 250.0f, 600.0f) );
  *  Stage::GetCurrent().Add(pointLight);
  *  shadowView.SetPointLight(pointLight);
  *
@@ -102,7 +99,6 @@ class ShadowView;
 class DALI_TOOLKIT_API ShadowView : public Control
 {
 public:
-
   /**
    * Create an uninitialized ShadowView; this can be initialized with ShadowView::New()
    * Calling member functions with an uninitialized Dali::Object is not allowed.
@@ -111,13 +107,29 @@ public:
 
   /**
    * Copy constructor. Creates another handle that points to the same real object
+   * @param[in] handle to copy from
    */
   ShadowView(const ShadowView& handle);
 
   /**
    * Assignment operator. Changes this handle to point to another real object
+   * @param[in] handle to copy from
+   * @return reference to this
+   */
+  ShadowView& operator=(const ShadowView& handle);
+
+  /**
+   * Move constructor. Creates another handle that points to the same real object
+   * @param[in] rhs to move from
+   */
+  ShadowView(ShadowView&& rhs);
+
+  /**
+   * Move assignment operator. Changes this handle to point to another real object
+   * @param[in] rhs to move from
+   * @return reference to this
    */
-  ShadowView& operator=(const ShadowView& view);
+  ShadowView& operator=(ShadowView&& rhs);
 
   /**
    * @brief Destructor
@@ -132,7 +144,7 @@ public:
    * @param[in] handle Handle to an object
    * @return handle to a ShadowView or an uninitialized handle
    */
-  static ShadowView DownCast( BaseHandle handle );
+  static ShadowView DownCast(BaseHandle handle);
 
   /**
   * Create an initialized ShadowView. Add children and call SetShadowPlane to make shadows visible\n
@@ -210,20 +222,18 @@ public:
    */
   Dali::Property::Index GetShadowColorPropertyIndex() const;
 
-
 public:
-
   /**
    * Creates a handle using the Toolkit::Internal implementation.
    * @param[in]  implementation  The UI Control implementation.
    */
-  DALI_INTERNAL ShadowView( Internal::ShadowView& implementation );
+  DALI_INTERNAL ShadowView(Internal::ShadowView& implementation);
 
   /**
    * Allows the creation of this UI Control from an Internal::CustomActor pointer.
    * @param[in]  internal  A pointer to the internal CustomActor.
    */
-  explicit DALI_INTERNAL ShadowView( Dali::Internal::CustomActor* internal );
+  explicit DALI_INTERNAL ShadowView(Dali::Internal::CustomActor* internal);
 };
 
 } // namespace Toolkit