Revert "[Tizen] Add KeyEventGeneratedSignal for Get KeyEvent normally"
[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 class KeyEvent;
27 class TouchData;
28 class WheelEvent;
29 class RenderTaskList;
30
31 namespace DevelWindow
32 {
33
34 typedef Signal< void () > EventProcessingFinishedSignalType;       ///< Event Processing finished signal type
35
36 typedef Signal< void (const KeyEvent&) > KeyEventSignalType;       ///< Key event signal type
37
38 typedef Signal< void (const TouchData&) > TouchSignalType;         ///< Touch signal type
39
40 typedef Signal< void (const WheelEvent&) > WheelEventSignalType;   ///< Touched signal type
41
42 /**
43  * @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.
44  *
45  * @param[in] window The window instance
46  * @param[in] positionSize The new window position and size
47  */
48 DALI_ADAPTOR_API void SetPositionSize( Window window, PositionSize positionSize );
49
50 /**
51  * @brief Retrieves the list of render-tasks in the window.
52  *
53  * @param[in] window The window instance
54  * @return A valid handle to a RenderTaskList
55  */
56 DALI_ADAPTOR_API Dali::RenderTaskList GetRenderTaskList( Window window );
57
58 /**
59  * @brief Retrieve the window that the given actor is added to.
60  *
61  * @param[in] actor The actor
62  * @return The window the actor is added to or an empty handle if the actor is not added to any window.
63  */
64 DALI_ADAPTOR_API Window Get( Actor actor );
65
66 /**
67  * @brief This signal is emitted just after the event processing is finished.
68  *
69  * @param[in] window The window instance
70  * @return The signal to connect to
71  */
72 DALI_ADAPTOR_API EventProcessingFinishedSignalType& EventProcessingFinishedSignal( Window window );
73
74 /**
75  * @brief This signal is emitted when key event is received.
76  *
77  * A callback of the following type may be connected:
78  * @code
79  *   void YourCallbackName(const KeyEvent& event);
80  * @endcode
81  * @param[in] window The window instance
82  * @return The signal to connect to
83  */
84 DALI_ADAPTOR_API KeyEventSignalType& KeyEventSignal( Window window );
85
86 /**
87  * @brief This signal is emitted when the screen is touched and when the touch ends
88  * (i.e. the down & up touch events only).
89  *
90  * If there are multiple touch points, then this will be emitted when the first touch occurs and
91  * then when the last finger is lifted.
92  * An interrupted event will also be emitted (if it occurs).
93  * A callback of the following type may be connected:
94  * @code
95  *   void YourCallbackName( TouchData event );
96  * @endcode
97  *
98  * @param[in] window The window instance
99  * @return The touch signal to connect to
100  * @note Motion events are not emitted.
101  */
102 DALI_ADAPTOR_API TouchSignalType& TouchSignal( Window window );
103
104 /**
105  * @brief This signal is emitted when wheel event is received.
106  *
107  * A callback of the following type may be connected:
108  * @code
109  *   void YourCallbackName(const WheelEvent& event);
110  * @endcode
111  * @param[in] window The window instance
112  * @return The signal to connect to
113  */
114 DALI_ADAPTOR_API WheelEventSignalType& WheelEventSignal( Window window );
115
116 } // namespace DevelWindow
117
118 } // namespace Dali
119
120 #endif // DALI_WINDOW_DEVEL_H