/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
controlDataImpl.DoAction(visualIndex, actionId, attributes);
}
+void DoActionExtension(Control& control, Dali::Property::Index visualIndex, Dali::Property::Index actionId, Dali::Any attributes)
+{
+ Internal::Control& controlInternal = Toolkit::Internal::GetImplementation(control);
+ Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get(controlInternal);
+ controlDataImpl.DoActionExtension(visualIndex, actionId, attributes);
+}
+
void SetInputMethodContext(Internal::Control& control, InputMethodContext& inputMethodContext)
{
Internal::Control::Impl::Get(control).SetInputMethodContext(inputMethodContext);
bool ClearAccessibilityHighlight(Toolkit::Control control)
{
- return GetControlImplementation(control).GetAccessibleObject()->ClearHighlight();
+ auto* controlAccessible = GetControlImplementation(control).GetAccessibleObject();
+ if(DALI_LIKELY(controlAccessible))
+ {
+ return controlAccessible->ClearHighlight();
+ }
+ return false;
}
bool GrabAccessibilityHighlight(Toolkit::Control control)
{
- return GetControlImplementation(control).GetAccessibleObject()->GrabHighlight();
+ auto* controlAccessible = GetControlImplementation(control).GetAccessibleObject();
+ if(DALI_LIKELY(controlAccessible))
+ {
+ return controlAccessible->GrabHighlight();
+ }
+ return false;
}
Dali::Accessibility::States GetAccessibilityStates(Toolkit::Control control)
{
- return GetControlImplementation(control).GetAccessibleObject()->GetStates();
+ auto* controlAccessible = GetControlImplementation(control).GetAccessibleObject();
+ if(DALI_LIKELY(controlAccessible))
+ {
+ return controlAccessible->GetStates();
+ }
+ return Dali::Accessibility::States{};
}
void NotifyAccessibilityStateChange(Toolkit::Control control, Dali::Accessibility::States states, bool recurse)
{
- GetControlImplementation(control).GetAccessibleObject()->NotifyAccessibilityStateChange(std::move(states), recurse);
+ auto* controlAccessible = GetControlImplementation(control).GetAccessibleObject();
+ if(DALI_LIKELY(controlAccessible))
+ {
+ controlAccessible->NotifyAccessibilityStateChange(std::move(states), recurse);
+ }
+}
+
+bool IsAccessibleCreated(Toolkit::Control control)
+{
+ return GetControlImplementation(control).IsAccessibleCreated();
+}
+
+void EnableCreateAccessible(Toolkit::Control control, bool enable)
+{
+ GetControlImplementation(control).EnableCreateAccessible(enable);
+}
+
+bool IsCreateAccessibleEnabled(Toolkit::Control control)
+{
+ return GetControlImplementation(control).IsCreateAccessibleEnabled();
}
} // namespace DevelControl