1 #ifndef DALI_ADAPTOR_PROXY_ACCESSIBLE_H
2 #define DALI_ADAPTOR_PROXY_ACCESSIBLE_H
5 * Copyright (c) 2021 Samsung Electronics Co., Ltd.
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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.
25 #include <dali/devel-api/adaptor-framework/accessibility.h>
26 #include <dali/devel-api/atspi-interfaces/accessible.h>
28 namespace Dali::Accessibility
31 * @brief The minimalistic, always empty Accessible object with settable address.
33 * For those situations, where you want to return address in different bridge
34 * (embedding for example), but the object itself ain't planned to be used otherwise.
35 * This object has null parent, no children, empty name and so on
37 class DALI_ADAPTOR_API EmptyAccessibleWithAddress : public virtual Accessible
40 EmptyAccessibleWithAddress() = default;
42 EmptyAccessibleWithAddress(Address address)
43 : mAddress(std::move(address))
47 void SetAddress(Address address)
49 this->mAddress = std::move(address);
52 std::string GetName() override
57 std::string GetDescription() override
62 Accessible* GetParent() override
67 size_t GetChildCount() override
72 std::vector<Accessible*> GetChildren() override
77 Accessible* GetChildAtIndex(size_t index) override
79 throw std::domain_error{"out of bounds index (" + std::to_string(index) + ") - no children"};
82 size_t GetIndexInParent() override
84 return static_cast<size_t>(-1);
87 Role GetRole() override
92 std::string GetRoleName() override;
94 States GetStates() override
99 Attributes GetAttributes() override
104 Address GetAddress() override
109 bool DoGesture(const GestureInfo& gestureInfo) override
114 std::vector<Relation> GetRelationSet() override
119 Dali::Actor GetInternalActor() override
121 return Dali::Actor{};
128 } // namespace Dali::Accessibility
130 #endif // DALI_ADAPTOR_PROXY_ACCESSIBLE_H