From f753cc5ce64c092ce377abdf7d003b8102c201a0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Artur=20=C5=9Awigo=C5=84?= Date: Tue, 25 May 2021 16:46:30 +0200 Subject: [PATCH] [AT-SPI] Do not emit BoundsChanged for all actors 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 --- .../devel-api/controls/accessible-impl.cpp | 2 - dali-toolkit/devel-api/controls/control-devel.h | 9 +--- .../controls/control/control-data-impl.cpp | 51 ---------------------- .../internal/controls/control/control-data-impl.h | 4 +- 4 files changed, 2 insertions(+), 64 deletions(-) diff --git a/dali-toolkit/devel-api/controls/accessible-impl.cpp b/dali-toolkit/devel-api/controls/accessible-impl.cpp index dd1fc93..8756121 100644 --- a/dali-toolkit/devel-api/controls/accessible-impl.cpp +++ b/dali-toolkit/devel-api/controls/accessible-impl.cpp @@ -168,7 +168,6 @@ Dali::Accessibility::States AccessibleImpl::CalculateStates() 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(); s[Dali::Accessibility::State::VISIBLE] = true; if(modal) { @@ -262,7 +261,6 @@ static Dali::Actor CreateHighlightIndicatorActor() 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; diff --git a/dali-toolkit/devel-api/controls/control-devel.h b/dali-toolkit/devel-api/controls/control-devel.h index 3d340ec..4978e4d 100644 --- a/dali-toolkit/devel-api/controls/control-devel.h +++ b/dali-toolkit/devel-api/controls/control-devel.h @@ -182,14 +182,7 @@ enum * @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 diff --git a/dali-toolkit/internal/controls/control/control-data-impl.cpp b/dali-toolkit/internal/controls/control/control-data-impl.cpp index 9e69f95..e989991 100644 --- a/dali-toolkit/internal/controls/control/control-data-impl.cpp +++ b/dali-toolkit/internal/controls/control/control-data-impl.cpp @@ -420,7 +420,6 @@ const PropertyRegistration Control::Impl::PROPERTY_18(typeRegistration, "accessi 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) @@ -1234,16 +1233,6 @@ void Control::Impl::SetProperty(BaseObject* object, Property::Index index, const } break; } - - case Toolkit::DevelControl::Property::ACCESSIBILITY_ANIMATED: - { - bool animated; - if(value.Get(animated)) - { - controlImpl.mImpl->mAccessibilityAnimated = animated; - } - break; - } } } } @@ -1404,12 +1393,6 @@ Property::Value Control::Impl::GetProperty(BaseObject* object, Property::Index i value = controlImpl.mImpl->mAccessibilityAttributes; break; } - - case Toolkit::DevelControl::Property::ACCESSIBILITY_ANIMATED: - { - value = controlImpl.mImpl->mAccessibilityAnimated; - break; - } } } @@ -1911,16 +1894,6 @@ Dali::Accessibility::Accessible* Control::Impl::GetAccessibilityObject(Dali::Act return nullptr; } -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()) - { - auto extents = DevelActor::CalculateScreenExtents(self); - Dali::Accessibility::Accessible::Get(self)->EmitBoundsChanged(extents); - } -} - void Control::Impl::CulledChangedCallback(PropertyNotification& p) { if(Dali::Accessibility::IsUp()) @@ -1934,14 +1907,6 @@ void Control::Impl::AccessibilityRegister() { 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); @@ -1954,22 +1919,6 @@ void Control::Impl::AccessibilityDeregister(bool remove) { 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) { diff --git a/dali-toolkit/internal/controls/control/control-data-impl.h b/dali-toolkit/internal/controls/control/control-data-impl.h index a3ab6c0..027189b 100644 --- a/dali-toolkit/internal/controls/control/control-data-impl.h +++ b/dali-toolkit/internal/controls/control/control-data-impl.h @@ -489,7 +489,6 @@ public: Dali::Accessibility::Role mAccessibilityRole = Dali::Accessibility::Role::UNKNOWN; std::vector> mAccessibilityRelations; - bool mAccessibilityAnimated = false; // Gesture Detection PinchGestureDetector mPinchGestureDetector; @@ -548,9 +547,8 @@ public: std::function(Actor)> accessibilityConstructor; std::unique_ptr accessibilityObject; - Dali::PropertyNotification accessibilityNotificationPosition, accessibilityNotificationSize, accessibilityNotificationCulled; + Dali::PropertyNotification accessibilityNotificationCulled; bool accessibilityNotificationSet = false; - static void PositionOrSizeChangedCallback(PropertyNotification&); static void CulledChangedCallback(PropertyNotification&); }; -- 2.7.4