Add Overlay Layer in scene
[platform/core/uifw/dali-core.git] / dali / public-api / render-tasks / render-task-list.h
index 47bcb7a..0de427c 100644 (file)
@@ -1,8 +1,8 @@
-#ifndef __DALI_RENDER_TASK_LIST_H__
-#define __DALI_RENDER_TASK_LIST_H__
+#ifndef DALI_RENDER_TASK_LIST_H
+#define DALI_RENDER_TASK_LIST_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.
@@ -47,7 +47,6 @@ class RenderTaskList;
 class DALI_CORE_API RenderTaskList : public BaseHandle
 {
 public:
-
   /**
    * @brief Creates an empty RenderTaskList handle.
    *
@@ -66,7 +65,7 @@ public:
    * @param[in] handle A handle to an object
    * @return A handle to a RenderTaskList or an uninitialized handle
    */
-  static RenderTaskList DownCast( BaseHandle handle );
+  static RenderTaskList DownCast(BaseHandle handle);
 
   /**
    * @brief Destructor.
@@ -94,6 +93,23 @@ public:
   RenderTaskList& operator=(const RenderTaskList& rhs);
 
   /**
+   * @brief Move constructor.
+   *
+   * @SINCE_1_9.22
+   * @param[in] rhs A reference to the moved handle
+   */
+  RenderTaskList(RenderTaskList&& rhs);
+
+  /**
+   * @brief Move assignment operator.
+   *
+   * @SINCE_1_9.22
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this handle
+   */
+  RenderTaskList& operator=(RenderTaskList&& rhs);
+
+  /**
    * @brief Creates a new RenderTask.
    *
    * This will be appended to the list of render-tasks.
@@ -107,7 +123,7 @@ public:
    * @SINCE_1_0.0
    * @param[in] task The render-task to remove.
    */
-  void RemoveTask( RenderTask task );
+  void RemoveTask(RenderTask task);
 
   /**
    * @brief Queries the number of render-tasks in the list.
@@ -126,10 +142,17 @@ public:
    * @return A handle to the render-task
    * @pre index should be in range i.e. less than GetTaskCount().
    */
-  RenderTask GetTask( uint32_t index ) const;
+  RenderTask GetTask(uint32_t index) const;
 
-public: // Not intended for application developers
+  /**
+   * @brief Retrieves a RenderTask for Overlay
+   * @SINCE_2_2.10
+   * @return A handle to the overlay RenderTask.
+   * If the scene has not created an overlay render task, this returns empty handle.
+   */
+  RenderTask GetOverlayTask() const;
 
+public: // Not intended for application developers
   /// @cond internal
   /**
    * @brief This constructor is used by Dali New() methods.
@@ -137,7 +160,7 @@ public: // Not intended for application developers
    * @SINCE_1_0.0
    * @param [in] renderTask A pointer to a newly allocated render-task
    */
-  explicit DALI_INTERNAL RenderTaskList( Internal::RenderTaskList* renderTask );
+  explicit DALI_INTERNAL RenderTaskList(Internal::RenderTaskList* renderTask);
   /// @endcond
 };
 
@@ -146,4 +169,4 @@ public: // Not intended for application developers
  */
 } // namespace Dali
 
-#endif //__DALI_RENDER_TASK_LIST_H__
+#endif //DALI_RENDER_TASK_LIST_H