This patch also removes the ACCESSIBILITY_ANIMATED property (not to be
confused with AT-SPI state ANIMATED). This property was used to control
automatic emission of the BoundsChanged event (and it had only one user,
the highlight frame actor). However, we no longer emit this event, so
this property serves no purpose.
Change-Id: I8df8b9e7fb75951c9f88d5aec944f9d52f10bf06
s[Dali::Accessibility::State::HIGHLIGHTED] = GetCurrentlyHighlightedActor() == self;
s[Dali::Accessibility::State::ENABLED] = true;
s[Dali::Accessibility::State::SENSITIVE] = true;
s[Dali::Accessibility::State::HIGHLIGHTED] = GetCurrentlyHighlightedActor() == self;
s[Dali::Accessibility::State::ENABLED] = true;
s[Dali::Accessibility::State::SENSITIVE] = true;
- s[Dali::Accessibility::State::ANIMATED] = self.GetProperty(Toolkit::DevelControl::Property::ACCESSIBILITY_ANIMATED).Get<bool>();
s[Dali::Accessibility::State::VISIBLE] = true;
if(modal)
{
s[Dali::Accessibility::State::VISIBLE] = true;
if(modal)
{
auto actor = Toolkit::ImageView::New(focusBorderImagePath);
actor.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS);
DevelControl::AppendAccessibilityAttribute(actor, "highlight", "");
auto actor = Toolkit::ImageView::New(focusBorderImagePath);
actor.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS);
DevelControl::AppendAccessibilityAttribute(actor, "highlight", "");
- actor.SetProperty(Toolkit::DevelControl::Property::ACCESSIBILITY_ANIMATED, true);
actor.SetProperty(Toolkit::DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE, false);
return actor;
actor.SetProperty(Toolkit::DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE, false);
return actor;
* @brief Set of accessibility attributes describing object in accessibility hierarchy
* @details Name "accessibilityAttributes", type Property::MAP
*/
* @brief Set of accessibility attributes describing object in accessibility hierarchy
* @details Name "accessibilityAttributes", type Property::MAP
*/
- ACCESSIBILITY_ATTRIBUTES,
-
- /**
- * @brief Boolean flag describing object as animated
- * @details Name "accessibilityAnimated", type Property::BOOLEAN
- * @note Flag set to true will prevent BoundChanged accessibility signal from emiting
- */
- ACCESSIBILITY_ANIMATED
+ ACCESSIBILITY_ATTRIBUTES
};
} // namespace Property
};
} // namespace Property
const PropertyRegistration Control::Impl::PROPERTY_19(typeRegistration, "accessibilityTranslationDomain", Toolkit::DevelControl::Property::ACCESSIBILITY_TRANSLATION_DOMAIN, Property::STRING, &Control::Impl::SetProperty, &Control::Impl::GetProperty);
const PropertyRegistration Control::Impl::PROPERTY_20(typeRegistration, "accessibilityRole", Toolkit::DevelControl::Property::ACCESSIBILITY_ROLE, Property::INTEGER, &Control::Impl::SetProperty, &Control::Impl::GetProperty);
const PropertyRegistration Control::Impl::PROPERTY_21(typeRegistration, "accessibilityHighlightable", Toolkit::DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE, Property::BOOLEAN, &Control::Impl::SetProperty, &Control::Impl::GetProperty);
const PropertyRegistration Control::Impl::PROPERTY_19(typeRegistration, "accessibilityTranslationDomain", Toolkit::DevelControl::Property::ACCESSIBILITY_TRANSLATION_DOMAIN, Property::STRING, &Control::Impl::SetProperty, &Control::Impl::GetProperty);
const PropertyRegistration Control::Impl::PROPERTY_20(typeRegistration, "accessibilityRole", Toolkit::DevelControl::Property::ACCESSIBILITY_ROLE, Property::INTEGER, &Control::Impl::SetProperty, &Control::Impl::GetProperty);
const PropertyRegistration Control::Impl::PROPERTY_21(typeRegistration, "accessibilityHighlightable", Toolkit::DevelControl::Property::ACCESSIBILITY_HIGHLIGHTABLE, Property::BOOLEAN, &Control::Impl::SetProperty, &Control::Impl::GetProperty);
-const PropertyRegistration Control::Impl::PROPERTY_22(typeRegistration, "accessibilityAnimated", Toolkit::DevelControl::Property::ACCESSIBILITY_ANIMATED, Property::BOOLEAN, &Control::Impl::SetProperty, &Control::Impl::GetProperty);
// clang-format on
Control::Impl::Impl(Control& controlImpl)
// clang-format on
Control::Impl::Impl(Control& controlImpl)
-
- case Toolkit::DevelControl::Property::ACCESSIBILITY_ANIMATED:
- {
- bool animated;
- if(value.Get(animated))
- {
- controlImpl.mImpl->mAccessibilityAnimated = animated;
- }
- break;
- }
value = controlImpl.mImpl->mAccessibilityAttributes;
break;
}
value = controlImpl.mImpl->mAccessibilityAttributes;
break;
}
-
- case Toolkit::DevelControl::Property::ACCESSIBILITY_ANIMATED:
- {
- value = controlImpl.mImpl->mAccessibilityAnimated;
- break;
- }
-void Control::Impl::PositionOrSizeChangedCallback(PropertyNotification& p)
-{
- auto self = Dali::Actor::DownCast(p.GetTarget());
- if(Dali::Accessibility::IsUp() && !self.GetProperty(Toolkit::DevelControl::Property::ACCESSIBILITY_ANIMATED).Get<bool>())
- {
- auto extents = DevelActor::CalculateScreenExtents(self);
- Dali::Accessibility::Accessible::Get(self)->EmitBoundsChanged(extents);
- }
-}
-
void Control::Impl::CulledChangedCallback(PropertyNotification& p)
{
if(Dali::Accessibility::IsUp())
void Control::Impl::CulledChangedCallback(PropertyNotification& p)
{
if(Dali::Accessibility::IsUp())
{
if(!accessibilityNotificationSet)
{
{
if(!accessibilityNotificationSet)
{
- accessibilityNotificationPosition = mControlImpl.Self().AddPropertyNotification(Actor::Property::POSITION, StepCondition(0.01f));
- accessibilityNotificationPosition.SetNotifyMode(PropertyNotification::NOTIFY_ON_CHANGED);
- accessibilityNotificationPosition.NotifySignal().Connect(&Control::Impl::PositionOrSizeChangedCallback);
-
- accessibilityNotificationSize = mControlImpl.Self().AddPropertyNotification(Actor::Property::SIZE, StepCondition(0.01f));
- accessibilityNotificationSize.SetNotifyMode(PropertyNotification::NOTIFY_ON_CHANGED);
- accessibilityNotificationSize.NotifySignal().Connect(&Control::Impl::PositionOrSizeChangedCallback);
-
accessibilityNotificationCulled = mControlImpl.Self().AddPropertyNotification(DevelActor::Property::CULLED, LessThanCondition(0.5f));
accessibilityNotificationCulled.SetNotifyMode(PropertyNotification::NOTIFY_ON_CHANGED);
accessibilityNotificationCulled.NotifySignal().Connect(&Control::Impl::CulledChangedCallback);
accessibilityNotificationCulled = mControlImpl.Self().AddPropertyNotification(DevelActor::Property::CULLED, LessThanCondition(0.5f));
accessibilityNotificationCulled.SetNotifyMode(PropertyNotification::NOTIFY_ON_CHANGED);
accessibilityNotificationCulled.NotifySignal().Connect(&Control::Impl::CulledChangedCallback);
{
if(accessibilityNotificationSet)
{
{
if(accessibilityNotificationSet)
{
- accessibilityNotificationPosition.NotifySignal().Disconnect(&Control::Impl::PositionOrSizeChangedCallback);
- if(remove)
- {
- mControlImpl.Self().RemovePropertyNotification(accessibilityNotificationPosition);
- }
- accessibilityNotificationPosition.Reset();
- accessibilityNotificationPosition = {};
-
- accessibilityNotificationSize.NotifySignal().Disconnect(&Control::Impl::PositionOrSizeChangedCallback);
- if(remove)
- {
- mControlImpl.Self().RemovePropertyNotification(accessibilityNotificationSize);
- }
- accessibilityNotificationSize.Reset();
- accessibilityNotificationSize = {};
-
accessibilityNotificationCulled.NotifySignal().Disconnect(&Control::Impl::CulledChangedCallback);
if(remove)
{
accessibilityNotificationCulled.NotifySignal().Disconnect(&Control::Impl::CulledChangedCallback);
if(remove)
{
Dali::Accessibility::Role mAccessibilityRole = Dali::Accessibility::Role::UNKNOWN;
std::vector<std::vector<Accessibility::Address>> mAccessibilityRelations;
Dali::Accessibility::Role mAccessibilityRole = Dali::Accessibility::Role::UNKNOWN;
std::vector<std::vector<Accessibility::Address>> mAccessibilityRelations;
- bool mAccessibilityAnimated = false;
// Gesture Detection
PinchGestureDetector mPinchGestureDetector;
// Gesture Detection
PinchGestureDetector mPinchGestureDetector;
std::function<std::unique_ptr<Dali::Accessibility::Accessible>(Actor)> accessibilityConstructor;
std::unique_ptr<Dali::Accessibility::Accessible> accessibilityObject;
std::function<std::unique_ptr<Dali::Accessibility::Accessible>(Actor)> accessibilityConstructor;
std::unique_ptr<Dali::Accessibility::Accessible> accessibilityObject;
- Dali::PropertyNotification accessibilityNotificationPosition, accessibilityNotificationSize, accessibilityNotificationCulled;
+ Dali::PropertyNotification accessibilityNotificationCulled;
bool accessibilityNotificationSet = false;
bool accessibilityNotificationSet = false;
- static void PositionOrSizeChangedCallback(PropertyNotification&);
static void CulledChangedCallback(PropertyNotification&);
};
static void CulledChangedCallback(PropertyNotification&);
};