99e2199bd6ff2835df2940fb9e0c5e6a5f5c1b68
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / devel-api / accessibility-manager / accessibility-manager.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-toolkit/devel-api/accessibility-manager/accessibility-manager.h>
20
21 // EXTERNAL INCLUDES
22 #include <dali/devel-api/common/singleton-service.h>
23 #include <dali/integration-api/debug.h>
24
25 // INTERNAL INCLUDES
26 #include <dali-toolkit/internal/accessibility-manager/accessibility-manager-impl.h>
27
28 namespace Dali
29 {
30 namespace Toolkit
31 {
32 AccessibilityManager::AccessibilityManager()
33 {
34 }
35
36 AccessibilityManager::~AccessibilityManager()
37 {
38 }
39
40 AccessibilityManager AccessibilityManager::Get()
41 {
42   AccessibilityManager manager;
43
44   // Check whether the accessibility manager is already created
45   SingletonService singletonService(SingletonService::Get());
46   if(singletonService)
47   {
48     Dali::BaseHandle handle = singletonService.GetSingleton(typeid(AccessibilityManager));
49     if(handle)
50     {
51       // If so, downcast the handle of singleton to focus manager
52       manager = AccessibilityManager(dynamic_cast<Internal::AccessibilityManager*>(handle.GetObjectPtr()));
53     }
54
55     if(!manager)
56     {
57       // If not, create the accessibility manager and register it as a singleton
58       Internal::AccessibilityManager* internalManager = new Internal::AccessibilityManager();
59       manager                                         = AccessibilityManager(internalManager);
60       internalManager->Initialise();
61       singletonService.Register(typeid(manager), manager);
62     }
63   }
64
65   return manager;
66 }
67
68 AccessibilityManager::AccessibilityManager(Internal::AccessibilityManager* impl)
69 : BaseHandle(impl)
70 {
71 }
72
73 void AccessibilityManager::SetAccessibilityAttribute(Actor actor, AccessibilityAttribute type, const std::string& text)
74 {
75   GetImpl(*this).SetAccessibilityAttribute(actor, type, text);
76 }
77
78 std::string AccessibilityManager::GetAccessibilityAttribute(Actor actor, AccessibilityAttribute type) const
79 {
80   return GetImpl(*this).GetAccessibilityAttribute(actor, type);
81 }
82
83 void AccessibilityManager::SetFocusOrder(Actor actor, const unsigned int order)
84 {
85   GetImpl(*this).SetFocusOrder(actor, order);
86 }
87
88 unsigned int AccessibilityManager::GetFocusOrder(Actor actor) const
89 {
90   return GetImpl(*this).GetFocusOrder(actor);
91 }
92
93 unsigned int AccessibilityManager::GenerateNewFocusOrder() const
94 {
95   return GetImpl(*this).GenerateNewFocusOrder();
96 }
97
98 Actor AccessibilityManager::GetActorByFocusOrder(const unsigned int order)
99 {
100   return GetImpl(*this).GetActorByFocusOrder(order);
101 }
102
103 bool AccessibilityManager::SetCurrentFocusActor(Actor actor)
104 {
105   return GetImpl(*this).SetCurrentFocusActor(actor);
106 }
107
108 Actor AccessibilityManager::GetCurrentFocusActor()
109 {
110   return GetImpl(*this).GetCurrentFocusActor();
111 }
112
113 Actor AccessibilityManager::GetCurrentFocusGroup()
114 {
115   return GetImpl(*this).GetCurrentFocusGroup();
116 }
117
118 unsigned int AccessibilityManager::GetCurrentFocusOrder()
119 {
120   return GetImpl(*this).GetCurrentFocusOrder();
121 }
122
123 bool AccessibilityManager::MoveFocusForward()
124 {
125   return GetImpl(*this).MoveFocusForward();
126 }
127
128 bool AccessibilityManager::MoveFocusBackward()
129 {
130   return GetImpl(*this).MoveFocusBackward();
131 }
132
133 void AccessibilityManager::ClearFocus()
134 {
135   GetImpl(*this).ClearFocus();
136 }
137
138 void AccessibilityManager::Reset()
139 {
140   GetImpl(*this).Reset();
141 }
142
143 void AccessibilityManager::SetFocusGroup(Actor actor, bool isFocusGroup)
144 {
145   GetImpl(*this).SetFocusGroup(actor, isFocusGroup);
146 }
147
148 bool AccessibilityManager::IsFocusGroup(Actor actor) const
149 {
150   return GetImpl(*this).IsFocusGroup(actor);
151 }
152
153 void AccessibilityManager::SetGroupMode(bool enabled)
154 {
155   GetImpl(*this).SetGroupMode(enabled);
156 }
157
158 bool AccessibilityManager::GetGroupMode() const
159 {
160   return GetImpl(*this).GetGroupMode();
161 }
162
163 void AccessibilityManager::SetWrapMode(bool wrapped)
164 {
165   GetImpl(*this).SetWrapMode(wrapped);
166 }
167
168 bool AccessibilityManager::GetWrapMode() const
169 {
170   return GetImpl(*this).GetWrapMode();
171 }
172
173 void AccessibilityManager::SetFocusIndicatorActor(Actor indicator)
174 {
175   GetImpl(*this).SetFocusIndicatorActor(indicator);
176 }
177
178 Actor AccessibilityManager::GetFocusIndicatorActor()
179 {
180   return GetImpl(*this).GetFocusIndicatorActor();
181 }
182
183 Actor AccessibilityManager::GetFocusGroup(Actor actor)
184 {
185   return GetImpl(*this).GetFocusGroup(actor);
186 }
187
188 Vector2 AccessibilityManager::GetReadPosition() const
189 {
190   return GetImpl(*this).GetReadPosition();
191 }
192
193 AccessibilityManager::FocusChangedSignalType& AccessibilityManager::FocusChangedSignal()
194 {
195   return GetImpl(*this).FocusChangedSignal();
196 }
197
198 AccessibilityManager::FocusOvershotSignalType& AccessibilityManager::FocusOvershotSignal()
199 {
200   return GetImpl(*this).FocusOvershotSignal();
201 }
202
203 AccessibilityManager::FocusedActorActivatedSignalType& AccessibilityManager::FocusedActorActivatedSignal()
204 {
205   return GetImpl(*this).FocusedActorActivatedSignal();
206 }
207
208 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::StatusChangedSignal()
209 {
210   return GetImpl(*this).StatusChangedSignal();
211 }
212
213 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionNextSignal()
214 {
215   return GetImpl(*this).ActionNextSignal();
216 }
217
218 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPreviousSignal()
219 {
220   return GetImpl(*this).ActionPreviousSignal();
221 }
222
223 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionActivateSignal()
224 {
225   return GetImpl(*this).ActionActivateSignal();
226 }
227
228 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionOverSignal()
229 {
230   return GetImpl(*this).ActionOverSignal();
231 }
232
233 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadSignal()
234 {
235   return GetImpl(*this).ActionReadSignal();
236 }
237
238 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadNextSignal()
239 {
240   return GetImpl(*this).ActionReadNextSignal();
241 }
242
243 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadPreviousSignal()
244 {
245   return GetImpl(*this).ActionReadPreviousSignal();
246 }
247
248 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionUpSignal()
249 {
250   return GetImpl(*this).ActionUpSignal();
251 }
252
253 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionDownSignal()
254 {
255   return GetImpl(*this).ActionDownSignal();
256 }
257
258 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionClearFocusSignal()
259 {
260   return GetImpl(*this).ActionClearFocusSignal();
261 }
262
263 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionBackSignal()
264 {
265   return GetImpl(*this).ActionBackSignal();
266 }
267
268 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionScrollUpSignal()
269 {
270   return GetImpl(*this).ActionScrollUpSignal();
271 }
272
273 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionScrollDownSignal()
274 {
275   return GetImpl(*this).ActionScrollDownSignal();
276 }
277
278 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPageLeftSignal()
279 {
280   return GetImpl(*this).ActionPageLeftSignal();
281 }
282
283 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPageRightSignal()
284 {
285   return GetImpl(*this).ActionPageRightSignal();
286 }
287
288 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPageUpSignal()
289 {
290   return GetImpl(*this).ActionPageUpSignal();
291 }
292
293 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPageDownSignal()
294 {
295   return GetImpl(*this).ActionPageDownSignal();
296 }
297
298 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionMoveToFirstSignal()
299 {
300   return GetImpl(*this).ActionMoveToFirstSignal();
301 }
302
303 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionMoveToLastSignal()
304 {
305   return GetImpl(*this).ActionMoveToLastSignal();
306 }
307
308 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadFromTopSignal()
309 {
310   return GetImpl(*this).ActionReadFromTopSignal();
311 }
312
313 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadFromNextSignal()
314 {
315   return GetImpl(*this).ActionReadFromNextSignal();
316 }
317
318 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionZoomSignal()
319 {
320   return GetImpl(*this).ActionZoomSignal();
321 }
322
323 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadPauseResumeSignal()
324 {
325   return GetImpl(*this).ActionReadPauseResumeSignal();
326 }
327
328 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionStartStopSignal()
329 {
330   return GetImpl(*this).ActionStartStopSignal();
331 }
332
333 AccessibilityManager::AccessibilityActionScrollSignalType& AccessibilityManager::ActionScrollSignal()
334 {
335   return GetImpl(*this).ActionScrollSignal();
336 }
337
338 } // namespace Toolkit
339
340 } // namespace Dali