Add Overlay Layer in scene
[platform/core/uifw/dali-core.git] / dali / public-api / render-tasks / render-task-list.h
index 7f4b557..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.
@@ -18,6 +18,9 @@
  *
  */
 
+// EXTERNAL INCLUDES
+#include <cstdint> // uint32_t
+
 // INTERNAL INCLUDES
 #include <dali/public-api/object/base-handle.h>
 
@@ -44,7 +47,6 @@ class RenderTaskList;
 class DALI_CORE_API RenderTaskList : public BaseHandle
 {
 public:
-
   /**
    * @brief Creates an empty RenderTaskList handle.
    *
@@ -63,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.
@@ -91,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.
@@ -104,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.
@@ -113,7 +132,7 @@ public:
    * @SINCE_1_0.0
    * @return The number of render-tasks
    */
-  unsigned int GetTaskCount() const;
+  uint32_t GetTaskCount() const;
 
   /**
    * @brief Retrieves a render-task.
@@ -123,10 +142,17 @@ public:
    * @return A handle to the render-task
    * @pre index should be in range i.e. less than GetTaskCount().
    */
-  RenderTask GetTask( unsigned int 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.
@@ -134,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
 };
 
@@ -143,4 +169,4 @@ public: // Not intended for application developers
  */
 } // namespace Dali
 
-#endif //__DALI_RENDER_TASK_LIST_H__
+#endif //DALI_RENDER_TASK_LIST_H