Revert "[Tizen] Revert "Support multiple window rendering""
[platform/core/uifw/dali-adaptor.git] / dali / devel-api / adaptor-framework / window-devel.h
1 #ifndef DALI_WINDOW_DEVEL_H
2 #define DALI_WINDOW_DEVEL_H
3
4 /*
5  * Copyright (c) 2019 Samsung Electronics Co., Ltd.
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  */
20
21 // INTERNAL INCLUDES
22 #include <dali/public-api/adaptor-framework/window.h>
23
24 namespace Dali
25 {
26
27 namespace DevelWindow
28 {
29
30 /**
31  * @brief Sets position and size of the window. This API guarantees that both moving and resizing of window will appear on the screen at once.
32  *
33  * @param[in] window The window instance
34  * @param[in] positionSize The new window position and size
35  */
36 DALI_ADAPTOR_API void SetPositionSize( Window window, PositionSize positionSize );
37
38 /**
39  * @brief Adds a child Actor to the Window.
40  *
41  * The child will be referenced.
42  * @param[in] window The window instance
43  * @param[in] actor The child
44  * @pre The actor has been initialized.
45  * @pre The actor does not have a parent.
46  */
47 DALI_ADAPTOR_API void Add( Window window, Dali::Actor actor );
48
49 /**
50  * @brief Removes a child Actor from the Window.
51  *
52  * The child will be unreferenced.
53  * @param[in] window The window instance
54  * @param[in] actor The child
55  * @pre The actor has been added to the stage.
56  */
57 DALI_ADAPTOR_API void Remove( Window window, Dali::Actor actor );
58
59 /**
60  * @brief Sets the background color of the window.
61  *
62  * @param[in] window The window instance
63  * @param[in] color The new background color
64  */
65 DALI_ADAPTOR_API void SetBackgroundColor( Window window, Vector4 color );
66
67 /**
68  * @brief Gets the background color of the surface.
69  *
70  * @param[in] window The window instance
71  * @return The background color
72  */
73 DALI_ADAPTOR_API Vector4 GetBackgroundColor( Window window );
74
75 /**
76  * @brief Returns the Scene's Root Layer.
77  *
78  * @param[in] window The window instance
79  * @return The root layer
80  */
81 DALI_ADAPTOR_API Dali::Layer GetRootLayer( Window window );
82
83 /**
84  * @brief Queries the number of on-stage layers.
85  *
86  * Note that a default layer is always provided (count >= 1).
87  * @param[in] window The window instance
88  * @return The number of layers
89  */
90 DALI_ADAPTOR_API uint32_t GetLayerCount( Window window );
91
92 /**
93  * @brief Retrieves the layer at a specified depth.
94  *
95  * @param[in] window The window instance
96  * @param[in] depth The depth
97  * @return The layer found at the given depth
98  * @pre Depth is less than layer count; see GetLayerCount().
99  */
100 DALI_ADAPTOR_API Dali::Layer GetLayer( Window window, uint32_t depth );
101
102
103 } // namespace DevelWindow
104
105 } // namespace Dali
106
107 #endif // DALI_WINDOW_DEVEL_H