Add Overlay Layer in scene
[platform/core/uifw/dali-core.git] / dali / public-api / render-tasks / render-task-list.cpp
1 /*
2  * Copyright (c) 2020 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18 // CLASS HEADER
19 #include <dali/public-api/render-tasks/render-task-list.h>
20
21 // INTERNAL INCLUDES
22 #include <dali/internal/event/render-tasks/render-task-list-impl.h>
23
24 namespace Dali
25 {
26 RenderTaskList::RenderTaskList() = default;
27
28 RenderTaskList RenderTaskList::DownCast(BaseHandle handle)
29 {
30   return RenderTaskList(dynamic_cast<Dali::Internal::RenderTaskList*>(handle.GetObjectPtr()));
31 }
32
33 RenderTaskList::~RenderTaskList() = default;
34
35 RenderTaskList::RenderTaskList(const RenderTaskList& handle) = default;
36
37 RenderTaskList& RenderTaskList::operator=(const RenderTaskList& rhs) = default;
38
39 RenderTaskList::RenderTaskList(RenderTaskList&& rhs) = default;
40
41 RenderTaskList& RenderTaskList::operator=(RenderTaskList&& rhs) = default;
42
43 RenderTask RenderTaskList::CreateTask()
44 {
45   return RenderTask(GetImplementation(*this).CreateTask().Get());
46 }
47
48 void RenderTaskList::RemoveTask(RenderTask task)
49 {
50   if(task) // don't crash if called with empty task handle
51   {
52     GetImplementation(*this).RemoveTask(GetImplementation(task));
53   }
54 }
55
56 uint32_t RenderTaskList::GetTaskCount() const
57 {
58   return GetImplementation(*this).GetTaskCount();
59 }
60
61 RenderTask RenderTaskList::GetTask(uint32_t index) const
62 {
63   return RenderTask(GetImplementation(*this).GetTask(index).Get());
64 }
65
66 RenderTask RenderTaskList::GetOverlayTask() const
67 {
68   return RenderTask(GetImplementation(*this).GetOverlayTask().Get());
69 }
70
71 RenderTaskList::RenderTaskList(Internal::RenderTaskList* internal)
72 : BaseHandle(internal)
73 {
74 }
75
76 } // namespace Dali