X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Ftext-model.h;h=a3a42a2993613f74dae140ee404f95c997be5da8;hb=refs%2Fchanges%2F87%2F277487%2F3;hp=751f230e148024d666f3d458ac0b4f626a544877;hpb=1bf8666355ccc3b6ca6dde1cf4be9f0bc6e35875;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/text/text-model.h b/dali-toolkit/internal/text/text-model.h index 751f230..a3a42a2 100644 --- a/dali-toolkit/internal/text/text-model.h +++ b/dali-toolkit/internal/text/text-model.h @@ -2,7 +2,7 @@ #define DALI_TOOLKIT_TEXT_MODEL_H /* - * Copyright (c) 2021 Samsung Electronics Co., Ltd. + * Copyright (c) 2022 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,6 +22,8 @@ #include // INTERNAL INCLUDES +#include +#include #include #include #include @@ -83,6 +85,11 @@ public: DevelText::VerticalLineAlignment::Type GetVerticalLineAlignment() const override; /** + * @copydoc ModelInterface::GetEllipsisPosition() + */ + DevelText::EllipsisPosition::Type GetEllipsisPosition() const override; + + /** * @copydoc ModelInterface::IsTextElideEnabled() */ bool IsTextElideEnabled() const override; @@ -113,6 +120,26 @@ public: Length GetNumberOfGlyphs() const override; /** + * @copydoc ModelInterface::GetStartIndexOfElidedGlyphs() + */ + GlyphIndex GetStartIndexOfElidedGlyphs() const override; + + /** + * @copydoc ModelInterface::GetEndIndexOfElidedGlyphs() + */ + GlyphIndex GetEndIndexOfElidedGlyphs() const override; + + /** + * @copydoc ModelInterface::GetFirstMiddleIndexOfElidedGlyphs() + */ + GlyphIndex GetFirstMiddleIndexOfElidedGlyphs() const override; + + /** + * @copydoc ModelInterface::GetSecondMiddleIndexOfElidedGlyphs() + */ + GlyphIndex GetSecondMiddleIndexOfElidedGlyphs() const override; + + /** * @copydoc ModelInterface::GetGlyphs() */ const GlyphInfo* const GetGlyphs() const override; @@ -178,11 +205,31 @@ public: bool IsUnderlineEnabled() const override; /** + * @copydoc ModelInterface::IsMarkupUnderlineSet() + */ + bool const IsMarkupUnderlineSet() const override; + + /** * @copydoc ModelInterface::GetUnderlineHeight() */ float GetUnderlineHeight() const override; /** + * @copydoc ModelInterface::GetUnderlineType() + */ + Text::Underline::Type GetUnderlineType() const override; + + /** + * @copydoc ModelInterface::GetDashedUnderlineWidth() + */ + float GetDashedUnderlineWidth() const override; + + /** + * @copydoc ModelInterface::GetDashedUnderlineGap() + */ + float GetDashedUnderlineGap() const override; + + /** * @copydoc ModelInterface::GetNumberOfUnderlineRuns() */ Length GetNumberOfUnderlineRuns() const override; @@ -190,7 +237,7 @@ public: /** * @copydoc ModelInterface::GetUnderlineRuns() */ - void GetUnderlineRuns(GlyphRun* underlineRuns, UnderlineRunIndex index, Length numberOfRuns) const override; + void GetUnderlineRuns(UnderlinedGlyphRun* underlineRuns, UnderlineRunIndex index, Length numberOfRuns) const override; /** * @copydoc ModelInterface::GetOutlineColor() @@ -232,6 +279,71 @@ public: */ Length GetHyphensCount() const override; + /** + * @copydoc ModelInterface::GetStrikethroughHeight() + */ + float GetStrikethroughHeight() const override; + + /** + * @copydoc ModelInterface::GetStrikethroughColor() + */ + const Vector4& GetStrikethroughColor() const override; + + /** + * @copydoc ModelInterface::IsStrikethroughEnabled() + */ + bool IsStrikethroughEnabled() const override; + + /** + * @copydoc ModelInterface::IsMarkupStrikethroughSet() + */ + bool const IsMarkupStrikethroughSet() const override; + + /** + * @copydoc ModelInterface::GetCharacterSpacing() + */ + const float GetCharacterSpacing() const override; + + /** + * @copydoc ModelInterface::GetTextBuffer() + */ + const Character* GetTextBuffer() const override; + + /** + * @copydoc ModelInterface::GetGlyphsToCharacters() + */ + const Vector& GetGlyphsToCharacters() const override; + + /** + * @copydoc ModelInterface::GetNumberOfStrikethroughRuns() + */ + Length GetNumberOfStrikethroughRuns() const override; + + /** + * @copydoc ModelInterface::GetStrikethroughRuns() + */ + void GetStrikethroughRuns(StrikethroughGlyphRun* strikethroughRuns, StrikethroughRunIndex index, Length numberOfRuns) const override; + + /** + * @copydoc ModelInterface::GetNumberOfBoundedParagraphRuns() + */ + virtual Length GetNumberOfBoundedParagraphRuns() const override; + + /** + * @copydoc ModelInterface::GetBoundedParagraphRuns() + */ + virtual const Vector& GetBoundedParagraphRuns() const override; + + /** + * @copydoc ModelInterface::GetNumberOfCharacterSpacingGlyphRuns() + */ + Length GetNumberOfCharacterSpacingGlyphRuns() const override; + + /** + * @copydoc ModelInterface::GetCharacterSpacingGlyphRuns() + */ + const Vector& GetCharacterSpacingGlyphRuns() const override; + private: // Private contructors & copy operator. /** * @brief Private constructor. @@ -257,16 +369,17 @@ public: * 0,0 means that the top-left corner of the layout matches the top-left corner of the UI control. * Typically this will have a negative value with scrolling occurs. */ - Vector2 mScrollPosition; ///< The text is offset by this position when scrolling. - Vector2 mScrollPositionLast; ///< The last offset value of mScrollPosition - HorizontalAlignment::Type mHorizontalAlignment; ///< The layout's horizontal alignment. - VerticalAlignment::Type mVerticalAlignment; ///< The layout's vertical alignment. - DevelText::VerticalLineAlignment::Type mVerticalLineAlignment; ///< The layout's vertical line alignment. - Text::LineWrap::Mode mLineWrapMode; ///< The text wrap mode - float mAlignmentOffset; ///< The alignment offset. - bool mElideEnabled : 1; ///< Whether the text's elide is enabled. - bool mIgnoreSpacesAfterText : 1; ///< Whether ignoring spaces after text or not. Default is true. - bool mMatchSystemLanguageDirection : 1; ///< Whether match align for system language direction or not. Default is false. + Vector2 mScrollPosition; ///< The text is offset by this position when scrolling. + Vector2 mScrollPositionLast; ///< The last offset value of mScrollPosition + HorizontalAlignment::Type mHorizontalAlignment; ///< The layout's horizontal alignment. + VerticalAlignment::Type mVerticalAlignment; ///< The layout's vertical alignment. + DevelText::VerticalLineAlignment::Type mVerticalLineAlignment; ///< The layout's vertical line alignment. + Text::LineWrap::Mode mLineWrapMode; ///< The text wrap mode + float mAlignmentOffset; ///< The alignment offset. + bool mElideEnabled : 1; ///< Whether the text's elide is enabled. + bool mIgnoreSpacesAfterText : 1; ///< Whether ignoring spaces after text or not. Default is true. + DevelText::MatchLayoutDirection mMatchLayoutDirection; ///< Whether to match text alignment with layout direction or not. + DevelText::EllipsisPosition::Type mEllipsisPosition; ///< Where is the location the text elide }; } // namespace Text