}
}
-std::vector<std::vector<Accessibility::Address>> GetAccessibilityRelations(Toolkit::Control control)
+std::vector<Accessibility::Relation> GetAccessibilityRelations(Toolkit::Control control)
{
- std::vector<std::vector<Accessibility::Address>> result(static_cast<std::size_t>(Accessibility::RelationType::MAX_COUNT));
+ const auto& relations = GetControlImplementation(control).mAccessibilityRelations;
+ std::vector<Accessibility::Relation> result;
- // Map every Accessible* to its Address
- for(auto& relation : GetControlImplementation(control).mAccessibilityRelations)
+ for(auto& relation : relations)
{
- auto index = static_cast<std::size_t>(relation.first);
auto& targets = relation.second;
- std::transform(targets.begin(), targets.end(), std::back_inserter(result[index]), [](auto* x) {
- return x->GetAddress();
- });
+ result.emplace_back(Accessibility::Relation{relation.first, {}});
+ std::copy(targets.begin(), targets.end(), std::back_inserter(result.back().mTargets));
}
return result;
GetControlImplementation(control).mAccessibilityRelations.clear();
}
-void SetAccessibilityConstructor(Dali::Actor control, std::function<std::unique_ptr<Dali::Accessibility::Accessible>(Dali::Actor)> constructor)
-{
- GetControlImplementation(Toolkit::Control::DownCast(control)).mAccessibilityConstructor = constructor;
-}
-
void AppendAccessibilityAttribute(Toolkit::Control control, const std::string& key, const std::string& value)
{
GetControlImplementation(control).AppendAccessibilityAttribute(key, value);
bool ClearAccessibilityHighlight(Toolkit::Control control)
{
- auto* accessible = Dali::Accessibility::Component::DownCast(GetControlImplementation(control).GetAccessibilityObject());
-
- return accessible ? accessible->ClearHighlight() : false;
+ return GetControlImplementation(control).GetAccessibleObject()->ClearHighlight();
}
bool GrabAccessibilityHighlight(Toolkit::Control control)
{
- auto* accessible = Dali::Accessibility::Component::DownCast(GetControlImplementation(control).GetAccessibilityObject());
-
- return accessible ? accessible->GrabHighlight() : false;
+ return GetControlImplementation(control).GetAccessibleObject()->GrabHighlight();
}
Dali::Accessibility::States GetAccessibilityStates(Toolkit::Control control)
{
- auto* accessible = GetControlImplementation(control).GetAccessibilityObject();
-
- return accessible->GetStates();
+ return GetControlImplementation(control).GetAccessibleObject()->GetStates();
}
void NotifyAccessibilityStateChange(Toolkit::Control control, Dali::Accessibility::States states, bool recurse)
{
- GetControlImplementation(control).GetAccessibilityObject()->NotifyAccessibilityStateChange(std::move(states), recurse);
+ GetControlImplementation(control).GetAccessibleObject()->NotifyAccessibilityStateChange(std::move(states), recurse);
}
} // namespace DevelControl