DALi Version 2.2.21
[platform/core/uifw/dali-core.git] / dali / integration-api / scene.h
index bdaf814..75d4939 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_SCENE_H
 
 /*
- * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 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.
@@ -122,6 +122,21 @@ public:
   Scene& operator=(const Scene& rhs);
 
   /**
+   * @brief This move constructor is required for (smart) pointer semantics.
+   *
+   * @param [in] handle A reference to the moved handle
+   */
+  Scene(Scene&& handle) noexcept;
+
+  /**
+   * @brief This move assignment operator is required for (smart) pointer semantics.
+   *
+   * @param [in] rhs  A reference to the moved handle
+   * @return A reference to this
+   */
+  Scene& operator=(Scene&& rhs) noexcept;
+
+  /**
    * @brief Adds a child Actor to the Scene.
    *
    * The child will be referenced.
@@ -192,6 +207,14 @@ public:
   Layer GetRootLayer() const;
 
   /**
+   * @brief Returns the Scene's Overlay Layer.
+   * If there is no overlay layer yet, this creates the layer and an associated render task.
+   *
+   * @return The overlay layer
+   */
+  Layer GetOverlayLayer();
+
+  /**
    * @brief Queries the number of on-stage layers.
    *
    * Note that a default layer is always provided (count >= 1).
@@ -222,6 +245,11 @@ public:
   void SurfaceReplaced();
 
   /**
+   * @brief Removes the scene graph object.
+   */
+  void RemoveSceneObject();
+
+  /**
    * @brief Discards this Scene from the Core.
    */
   void Discard();