#include <cstdint> // uint32_t
// INTERNAL INCLUDES
-#include <dali/public-api/object/ref-object.h>
#include <dali/public-api/actors/actor.h>
#include <dali/public-api/math/rect.h>
#include <dali/public-api/math/vector3.h>
+#include <dali/public-api/object/ref-object.h>
namespace Dali
{
* @SINCE_1_0.0
* @see Dali::Layer::SetClippingBox()
*/
-typedef Rect<int32_t> ClippingBox;
+using ClippingBox = Rect<int32_t>;
/**
* @brief Layers provide a mechanism for overlaying groups of actors on top of each other.
*
- * When added to the stage, a layer can be ordered relative to other
- * layers. The bottom layer is at depth zero. The stage provides a default
- * layer for it's children (see Stage::GetRootLayer()).
+ * When added to a scene, a layer can be ordered relative to other
+ * layers. The bottom layer is at depth zero. A scene provides a default
+ * layer for its children.
*
* Layered actors inherit position etc. as normal, but are drawn in an order
* determined by the layers. In case of LAYER_3D, the depth buffer is cleared
class DALI_CORE_API Layer : public Actor
{
public:
-
/**
* @brief Enumeration for the instance of properties belonging to the Layer class.
*
* @SINCE_1_0.0
* @param[in] position This is the actor translation from camera
*/
- typedef float (*SortFunctionType)( const Vector3& position );
+ using SortFunctionType = float (*)(const Vector3&);
/**
* @brief Creates an empty Layer handle.
* @param[in] handle Handle to an object
* @return Handle to a Layer or an uninitialized handle
*/
- static Layer DownCast( BaseHandle handle );
+ static Layer DownCast(BaseHandle handle);
/**
* @brief Destructor.
Layer& operator=(const Layer& rhs);
/**
+ * @brief Move constructor.
+ *
+ * @SINCE_1_9.22
+ * @param[in] rhs The layer to move
+ */
+ Layer(Layer&& rhs);
+
+ /**
+ * @brief Move assignment operator.
+ *
+ * @SINCE_1_9.22
+ * @param[in] rhs The layer to move
+ * @return A reference to this
+ */
+ Layer& operator=(Layer&& rhs);
+
+ /**
* @brief Increments the depth of the layer.
*
* @SINCE_1_0.0
* @pre Target layer is on the stage.
* @note All layers between this layer and target get new depth values.
*/
- void RaiseAbove( Layer target );
+ void RaiseAbove(Layer target);
/**
* @brief Ensures the layers depth is less than the target layer.
* @pre Target layer is on the stage.
* @note All layers between this layer and target get new depth values.
*/
- void LowerBelow( Layer target );
+ void LowerBelow(Layer target);
/**
* @brief Raises the layer to the top.
* @pre Target layer is on the stage.
* @note All layers between this layer and target get new depth values.
*/
- void MoveAbove( Layer target );
+ void MoveAbove(Layer target);
/**
* @brief Moves the layer directly below the given layer.
* @pre Target layer is on the stage.
* @note All layers between this layer and target get new depth values.
*/
- void MoveBelow( Layer target );
+ void MoveBelow(Layer target);
// Sorting
* layer, then the sort function used by the child layer will also be the same.
*
*/
- void SetSortFunction( SortFunctionType function );
+ void SetSortFunction(SortFunctionType function);
/**
* @brief Retrieves whether the layer consumes hover.
bool IsHoverConsumed() const;
public: // Not intended for application developers
-
/// @cond internal
/**
* @brief This constructor is used by Layer::New() methods.