X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Fdevel-api%2Fcontrols%2Faccessible-impl.h;h=37e7ad34c489f67f548b89f9b0f489f599dd318b;hp=feffe75aa01fcf3493646f81e9797a5be97e922b;hb=f4b327350bf7873847f8f08bb27d11361f60f759;hpb=b8f550700dbe3304f217b3dc7a240854089b8b4e diff --git a/dali-toolkit/devel-api/controls/accessible-impl.h b/dali-toolkit/devel-api/controls/accessible-impl.h index feffe75..37e7ad3 100644 --- a/dali-toolkit/devel-api/controls/accessible-impl.h +++ b/dali-toolkit/devel-api/controls/accessible-impl.h @@ -19,6 +19,7 @@ // EXTERNAL INCLUDES #include #include +#include // INTERNAL INCLUDES #include @@ -45,9 +46,26 @@ struct DALI_TOOLKIT_API AccessibleImpl : public virtual Dali::Accessibility::Acc public virtual Dali::Accessibility::Collection, public virtual Dali::Accessibility::Action { - Dali::Actor self; - bool modal = false, root = false; +protected: + Dali::WeakHandle mSelf; + Dali::WeakHandle mCurrentHighlightActor; + bool mIsModal = false; + bool mIsRoot = false; + Dali::Actor Self() + { + auto handle = mSelf.GetHandle(); + + // Control::Impl holds a std::unique_ptr to the Accessible object, + // so that one does not outlive the other. + DALI_ASSERT_ALWAYS(handle); + + return handle; + } + + void ScrollToSelf(); + +public: AccessibleImpl(Dali::Actor self, Dali::Accessibility::Role role, bool modal = false); /** @@ -96,6 +114,11 @@ struct DALI_TOOLKIT_API AccessibleImpl : public virtual Dali::Accessibility::Acc Dali::Accessibility::Role GetRole() override; /** + * @copydoc Dali::Accessibility::Accessible::GetLocalizedRoleName() + */ + std::string GetLocalizedRoleName() override; + + /** * @copydoc Dali::Accessibility::Accessible::GetStates() */ Dali::Accessibility::States GetStates() override; @@ -108,7 +131,7 @@ struct DALI_TOOLKIT_API AccessibleImpl : public virtual Dali::Accessibility::Acc /** * @copydoc Dali::Accessibility::Component::GetExtents() */ - Dali::Rect<> GetExtents(Dali::Accessibility::CoordType ctype) override; + Dali::Rect<> GetExtents(Accessibility::CoordinateType type) override; /** * @copydoc Dali::Accessibility::Component::GetLayer() @@ -192,14 +215,9 @@ struct DALI_TOOLKIT_API AccessibleImpl : public virtual Dali::Accessibility::Acc /** * @brief Makes sure that a given child of this container (e.g. ItemView) is visible + * @return false if scrolling is not supported or child is already visible */ - virtual void EnsureChildVisible(Actor child); - - /** - * @brief Makes sure this actor is visible (when moving the highlight frame to an - * actor that is scrolled out of the viewport) - */ - virtual void EnsureSelfVisible(); + virtual bool ScrollToChild(Actor child); /** * @brief Returns the index of the property that represents this actor's name