X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Ftext-controls%2Ftext-label-impl.h;h=8bedc5baebc4e32e48902e1f134ab7b13e718518;hb=9a5ce98a301f74f8df8a3be6d223b525c8839b0b;hp=5c9a6b1bd32b9ff00ff91bebf564e20d0de13b16;hpb=c6aa87aaec61d4ab3638c397b3ba4bd08ecb13a6;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 5c9a6b1..8bedc5b 100644 --- a/dali-toolkit/internal/controls/text-controls/text-label-impl.h +++ b/dali-toolkit/internal/controls/text-controls/text-label-impl.h @@ -19,6 +19,8 @@ */ // EXTERNAL INCLUDES +#include +#include #include // INTERNAL INCLUDES @@ -98,6 +100,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() @@ -209,7 +233,7 @@ private: // Data std::vector mAnchorActors; // Signals - Toolkit::DevelTextLabel::AnchorClickedSignalType mAnchorClickedSignal; + Toolkit::DevelTextLabel::AnchorClickedSignalType mAnchorClickedSignal; Toolkit::DevelTextLabel::TextFitChangedSignalType mTextFitChangedSignal; int mRenderingBackend; @@ -219,26 +243,26 @@ protected: /** * @brief This structure is to connect TextLabel with Accessible functions. */ - struct AccessibleImpl : public DevelControl::AccessibleImpl, + struct AccessibleImpl : public DevelControl::ControlAccessible, public virtual Dali::Accessibility::Text, public virtual Dali::Accessibility::Hypertext { - using DevelControl::AccessibleImpl::AccessibleImpl; + using DevelControl::ControlAccessible::ControlAccessible; /** * @copydoc Dali::Accessibility::Text::GetText() */ - std::string GetText(size_t startOffset, size_t endOffset) override; + std::string GetText(size_t startOffset, size_t endOffset) const override; /** * @copydoc Dali::Accessibility::Text::GetCharacterCount() */ - size_t GetCharacterCount() override; + size_t GetCharacterCount() const override; /** * @copydoc Dali::Accessibility::Text::GetCursorOffset() */ - size_t GetCursorOffset() override; + size_t GetCursorOffset() const override; /** * @copydoc Dali::Accessibility::Text::SetCursorOffset() @@ -248,12 +272,12 @@ protected: /** * @copydoc Dali::Accessibility::Text::GetTextAtOffset() */ - Accessibility::Range GetTextAtOffset(size_t offset, Accessibility::TextBoundary boundary) override; + Accessibility::Range GetTextAtOffset(size_t offset, Accessibility::TextBoundary boundary) const override; /** * @copydoc Dali::Accessibility::Text::GetRangeOfSelection() */ - Accessibility::Range GetRangeOfSelection(size_t selectionIndex) override; + Accessibility::Range GetRangeOfSelection(size_t selectionIndex) const override; /** * @copydoc Dali::Accessibility::Text::RemoveSelection() @@ -268,7 +292,7 @@ protected: /** * @copydoc Dali::Accessibility::Text::GetNameRaw() */ - std::string GetNameRaw() override; + std::string GetNameRaw() const override; /** * @copydoc Dali::Accessibility::Text::GetNamePropertyIndex()