2 * Copyright (c) 2020 Samsung Electronics Co., Ltd.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 #include <dali/devel-api/adaptor-framework/accessibility.h>
19 #include <dali/devel-api/adaptor-framework/accessibility-impl.h>
24 struct DummyBridge : Dali::Accessibility::Bridge
26 const std::string& GetBusName() const override
28 static const std::string name = "";
32 void AddTopLevelWindow(Accessibility::Accessible *) override
36 void RemoveTopLevelWindow(Accessibility::Accessible *) override
40 void AddPopup(Accessibility::Accessible *) override
44 void RemovePopup(Accessibility::Accessible *) override
48 void SetApplicationName(std::string) override
52 Accessibility::Accessible *GetApplication() const override
57 Accessibility::Accessible *FindByPath(const std::string& s) const override
62 void ApplicationShown() override
66 void ApplicationHidden() override
70 void Initialize() override
74 void Terminate() override
78 ForceUpResult ForceUp() override
80 return ForceUpResult::JUST_STARTED;
83 void ForceDown() override
87 void EmitCaretMoved(Accessibility::Accessible *obj, unsigned int cursorPosition) override
91 void EmitActiveDescendantChanged(Accessibility::Accessible *obj, Accessibility::Accessible *child) override
95 void EmitTextChanged(Accessibility::Accessible *obj, Accessibility::TextChangedState state, unsigned int position, unsigned int length, const std::string &content) override
99 void EmitStateChanged(Accessibility::Accessible *obj, Accessibility::State state, int val1, int val2) override
103 void Emit(Accessibility::Accessible *obj, Accessibility::WindowEvent we, unsigned int detail1) override
107 void Emit(Accessibility::Accessible *obj, Accessibility::ObjectPropertyChangeEvent event) override
111 void EmitBoundsChanged(Accessibility::Accessible *obj, Rect<> rect) override
115 Accessibility::Consumed Emit(Accessibility::KeyEventType type, unsigned int keyCode, const std::string& keyName, unsigned int timeStamp, bool isText) override
117 return Accessibility::Consumed::YES;
120 void Say( const std::string& text, bool discardable, std::function<void(std::string)> callback ) override
124 void Pause() override
128 void Resume() override
132 bool GetScreenReaderEnabled() override
137 bool GetIsEnabled() override
143 DummyBridge dummyBridge;
147 Accessibility::Accessible::Accessible()
151 Accessibility::Accessible::~Accessible()
155 std::vector<Accessibility::Accessible *> Accessibility::Accessible::GetChildren()
160 Accessibility::Accessible *Accessibility::Accessible::GetDefaultLabel()
165 Accessibility::Address Accessibility::Accessible::GetAddress()
170 std::shared_ptr< Accessibility::Bridge::Data > Accessibility::Accessible::GetBridgeData()
175 bool Accessibility::Accessible::IsProxy()
180 bool Accessibility::Component::IsScrollable()
185 bool Accessibility::Component::Contains(Point p, CoordType ctype)
190 Accessibility::Accessible *Accessibility::Component::GetAccessibleAtPoint(Accessibility::Point p, Accessibility::CoordType ctype)
195 Accessibility::Bridge *Accessibility::Bridge::GetCurrentBridge()
200 void Accessibility::Accessible::EmitStateChanged(Accessibility::State state, int newValue1, int newValue2)
204 void Accessibility::Accessible::Emit(Accessibility::ObjectPropertyChangeEvent event)
208 void Accessibility::Accessible::EmitHighlighted(bool set)
212 void Accessibility::Accessible::EmitBoundsChanged(Rect<> rect)
216 void Accessibility::Accessible::EmitShowing(bool showing)
220 void Accessibility::Accessible::EmitFocused(bool set)
224 void Accessibility::Accessible::EmitVisible(bool visible)
228 void Accessibility::Accessible::EmitTextInserted(unsigned int position, unsigned int length, const std::string &content)
232 void Accessibility::Accessible::EmitTextDeleted(unsigned int position, unsigned int length, const std::string &content)
236 void Accessibility::Accessible::EmitTextCaretMoved(unsigned int cursorPosition)
240 void Accessibility::Accessible::EmitActiveDescendantChanged(Accessibility::Accessible* obj, Accessibility::Accessible *child)
244 void Accessibility::Accessible::FindWordSeparationsUtf8(const utf8_t *s, size_t length, const char *language, char *breaks)
248 void Accessibility::Accessible::FindLineSeparationsUtf8(const utf8_t *s, size_t length, const char *language, char *breaks)
252 void Accessibility::Accessible::NotifyAccessibilityStateChange(Accessibility::States states, bool doRecursive)