X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Ftext-controls%2Ftext-label-impl.h;h=d776c3205a7e50427bb70d08c49b88f172ba5bac;hb=6d3a21eaeaae4edbc04b6e902b61439cdf029188;hp=d345d21d1df4ec4c2260a0e8c54ec635709ddf1a;hpb=bad241077bd728d9a5ef25d59398eae889b359a1;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/controls/text-controls/text-label-impl.h b/dali-toolkit/internal/controls/text-controls/text-label-impl.h index d345d21..d776c32 100644 --- a/dali-toolkit/internal/controls/text-controls/text-label-impl.h +++ b/dali-toolkit/internal/controls/text-controls/text-label-impl.h @@ -98,6 +98,28 @@ public: */ Text::ControllerPtr GetTextController(); + /** + * @brief Get the rendered size of a specific text range. + * if the requested text is at multilines, multiple sizes will be returned for each text located in a separate line. + * if a line contains characters with different directions, multiple sizes will be returned for each block of contiguous characters with the same direction. + * + * @param[in] startIndex start index of the text requested to calculate size for. + * @param[in] endIndex end index(included) of the text requested to calculate size for. + * @return list of sizes of the reuested text. + */ + Vector GetTextSize(const uint32_t startIndex, const uint32_t endIndex) const; + + /** + * @brief Get the top/left rendered position of a specific text range. + * if the requested text is at multilines, multiple positions will be returned for each text located in a separate line. + * if a line contains characters with different directions, multiple positions will be returned for each block of contiguous characters with the same direction. + * + * @param[in] startIndex start index of the text requested to get position to. + * @param[in] endIndex end index(included) of the text requested to get position to. + * @return list of positions of the requested text. + */ + Vector GetTextPosition(const uint32_t startIndex, const uint32_t endIndex) const; + private: // From Control /** * @copydoc Control::OnInitialize() @@ -198,6 +220,7 @@ private: * @brief Emits TextFitChanged signal. */ void EmitTextFitChangedSignal(); + void OnAccessibilityStatusChanged(); private: // Data Text::ControllerPtr mController; @@ -205,8 +228,10 @@ private: // Data Toolkit::Visual::Base mVisual; + std::vector mAnchorActors; + // Signals - Toolkit::DevelTextLabel::AnchorClickedSignalType mAnchorClickedSignal; + Toolkit::DevelTextLabel::AnchorClickedSignalType mAnchorClickedSignal; Toolkit::DevelTextLabel::TextFitChangedSignalType mTextFitChangedSignal; int mRenderingBackend; @@ -217,7 +242,8 @@ protected: * @brief This structure is to connect TextLabel with Accessible functions. */ struct AccessibleImpl : public DevelControl::AccessibleImpl, - public virtual Dali::Accessibility::Text + public virtual Dali::Accessibility::Text, + public virtual Dali::Accessibility::Hypertext { using DevelControl::AccessibleImpl::AccessibleImpl; @@ -270,6 +296,21 @@ protected: * @copydoc Dali::Accessibility::Text::GetNamePropertyIndex() */ Property::Index GetNamePropertyIndex() override; + + /** + * @copydoc Dali::Accessibility::Hypertext::GetLink() + */ + Accessibility::Hyperlink* GetLink(int32_t linkIndex) const override; + + /** + * @copydoc Dali::Accessibility::Hypertext::GetLinkIndex() + */ + int32_t GetLinkIndex(int32_t characterOffset) const override; + + /** + * @copydoc Dali::Accessibility::Hypertext::GetLinkCount() + */ + int32_t GetLinkCount() const override; }; };