[AT-SPI] Squashed implementation
[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       singletonService.Register(typeid(manager), manager);
61     }
62   }
63
64   return manager;
65 }
66
67 AccessibilityManager::AccessibilityManager(Internal::AccessibilityManager* impl)
68 : BaseHandle(impl)
69 {
70 }
71
72 void AccessibilityManager::SetAccessibilityAttribute(Actor actor, AccessibilityAttribute type, const std::string& text)
73 {
74   GetImpl(*this).SetAccessibilityAttribute(actor, type, text);
75 }
76
77 std::string AccessibilityManager::GetAccessibilityAttribute(Actor actor, AccessibilityAttribute type) const
78 {
79   return GetImpl(*this).GetAccessibilityAttribute(actor, type);
80 }
81
82 void AccessibilityManager::SetFocusOrder(Actor actor, const unsigned int order)
83 {
84   GetImpl(*this).SetFocusOrder(actor, order);
85 }
86
87 unsigned int AccessibilityManager::GetFocusOrder(Actor actor) const
88 {
89   return GetImpl(*this).GetFocusOrder(actor);
90 }
91
92 unsigned int AccessibilityManager::GenerateNewFocusOrder() const
93 {
94   return GetImpl(*this).GenerateNewFocusOrder();
95 }
96
97 Actor AccessibilityManager::GetActorByFocusOrder(const unsigned int order)
98 {
99   return GetImpl(*this).GetActorByFocusOrder(order);
100 }
101
102 bool AccessibilityManager::SetCurrentFocusActor(Actor actor)
103 {
104   return GetImpl(*this).SetCurrentFocusActor(actor);
105 }
106
107 Actor AccessibilityManager::GetCurrentFocusActor()
108 {
109   return GetImpl(*this).GetCurrentFocusActor();
110 }
111
112 Actor AccessibilityManager::GetCurrentFocusGroup()
113 {
114   return GetImpl(*this).GetCurrentFocusGroup();
115 }
116
117 unsigned int AccessibilityManager::GetCurrentFocusOrder()
118 {
119   return GetImpl(*this).GetCurrentFocusOrder();
120 }
121
122 bool AccessibilityManager::MoveFocusForward()
123 {
124   return GetImpl(*this).MoveFocusForward();
125 }
126
127 bool AccessibilityManager::MoveFocusBackward()
128 {
129   return GetImpl(*this).MoveFocusBackward();
130 }
131
132 void AccessibilityManager::ClearFocus()
133 {
134   GetImpl(*this).ClearFocus();
135 }
136
137 void AccessibilityManager::Reset()
138 {
139   GetImpl(*this).Reset();
140 }
141
142 void AccessibilityManager::SetFocusGroup(Actor actor, bool isFocusGroup)
143 {
144   GetImpl(*this).SetFocusGroup(actor, isFocusGroup);
145 }
146
147 bool AccessibilityManager::IsFocusGroup(Actor actor) const
148 {
149   return GetImpl(*this).IsFocusGroup(actor);
150 }
151
152 void AccessibilityManager::SetGroupMode(bool enabled)
153 {
154   GetImpl(*this).SetGroupMode(enabled);
155 }
156
157 bool AccessibilityManager::GetGroupMode() const
158 {
159   return GetImpl(*this).GetGroupMode();
160 }
161
162 void AccessibilityManager::SetWrapMode(bool wrapped)
163 {
164   GetImpl(*this).SetWrapMode(wrapped);
165 }
166
167 bool AccessibilityManager::GetWrapMode() const
168 {
169   return GetImpl(*this).GetWrapMode();
170 }
171
172 void AccessibilityManager::SetFocusIndicatorActor(Actor indicator)
173 {
174   GetImpl(*this).SetFocusIndicatorActor(indicator);
175 }
176
177 Actor AccessibilityManager::GetFocusIndicatorActor()
178 {
179   return GetImpl(*this).GetFocusIndicatorActor();
180 }
181
182 Actor AccessibilityManager::GetFocusGroup(Actor actor)
183 {
184   return GetImpl(*this).GetFocusGroup(actor);
185 }
186
187 Vector2 AccessibilityManager::GetReadPosition() const
188 {
189   return GetImpl(*this).GetReadPosition();
190 }
191
192 AccessibilityManager::FocusChangedSignalType& AccessibilityManager::FocusChangedSignal()
193 {
194   return GetImpl(*this).FocusChangedSignal();
195 }
196
197 AccessibilityManager::FocusOvershotSignalType& AccessibilityManager::FocusOvershotSignal()
198 {
199   return GetImpl(*this).FocusOvershotSignal();
200 }
201
202 AccessibilityManager::FocusedActorActivatedSignalType& AccessibilityManager::FocusedActorActivatedSignal()
203 {
204   return GetImpl(*this).FocusedActorActivatedSignal();
205 }
206
207 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::StatusChangedSignal()
208 {
209   return GetImpl(*this).StatusChangedSignal();
210 }
211
212 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionNextSignal()
213 {
214   return GetImpl(*this).ActionNextSignal();
215 }
216
217 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPreviousSignal()
218 {
219   return GetImpl(*this).ActionPreviousSignal();
220 }
221
222 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionActivateSignal()
223 {
224   return GetImpl(*this).ActionActivateSignal();
225 }
226
227 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionOverSignal()
228 {
229   return GetImpl(*this).ActionOverSignal();
230 }
231
232 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadSignal()
233 {
234   return GetImpl(*this).ActionReadSignal();
235 }
236
237 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadNextSignal()
238 {
239   return GetImpl(*this).ActionReadNextSignal();
240 }
241
242 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadPreviousSignal()
243 {
244   return GetImpl(*this).ActionReadPreviousSignal();
245 }
246
247 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionUpSignal()
248 {
249   return GetImpl(*this).ActionUpSignal();
250 }
251
252 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionDownSignal()
253 {
254   return GetImpl(*this).ActionDownSignal();
255 }
256
257 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionClearFocusSignal()
258 {
259   return GetImpl(*this).ActionClearFocusSignal();
260 }
261
262 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionBackSignal()
263 {
264   return GetImpl(*this).ActionBackSignal();
265 }
266
267 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionScrollUpSignal()
268 {
269   return GetImpl(*this).ActionScrollUpSignal();
270 }
271
272 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionScrollDownSignal()
273 {
274   return GetImpl(*this).ActionScrollDownSignal();
275 }
276
277 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPageLeftSignal()
278 {
279   return GetImpl(*this).ActionPageLeftSignal();
280 }
281
282 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPageRightSignal()
283 {
284   return GetImpl(*this).ActionPageRightSignal();
285 }
286
287 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPageUpSignal()
288 {
289   return GetImpl(*this).ActionPageUpSignal();
290 }
291
292 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionPageDownSignal()
293 {
294   return GetImpl(*this).ActionPageDownSignal();
295 }
296
297 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionMoveToFirstSignal()
298 {
299   return GetImpl(*this).ActionMoveToFirstSignal();
300 }
301
302 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionMoveToLastSignal()
303 {
304   return GetImpl(*this).ActionMoveToLastSignal();
305 }
306
307 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadFromTopSignal()
308 {
309   return GetImpl(*this).ActionReadFromTopSignal();
310 }
311
312 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadFromNextSignal()
313 {
314   return GetImpl(*this).ActionReadFromNextSignal();
315 }
316
317 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionZoomSignal()
318 {
319   return GetImpl(*this).ActionZoomSignal();
320 }
321
322 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionReadPauseResumeSignal()
323 {
324   return GetImpl(*this).ActionReadPauseResumeSignal();
325 }
326
327 AccessibilityManager::AccessibilityActionSignalType& AccessibilityManager::ActionStartStopSignal()
328 {
329   return GetImpl(*this).ActionStartStopSignal();
330 }
331
332 AccessibilityManager::AccessibilityActionScrollSignalType& AccessibilityManager::ActionScrollSignal()
333 {
334   return GetImpl(*this).ActionScrollSignal();
335 }
336
337 } // namespace Toolkit
338
339 } // namespace Dali