X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Ftext-model.h;h=416df17c32b17812846df6a6dad4586e8c09be62;hp=d52809c1bf05a37b366851b2652e27d88debe6b8;hb=HEAD;hpb=d0b0cfa4a44953be9af9128885eb6ef5d83a214e diff --git a/dali-toolkit/internal/text/text-model.h b/dali-toolkit/internal/text/text-model.h index d52809c..5661035 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) 2023 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; @@ -95,7 +102,7 @@ public: /** * @copydoc ModelInterface::GetLines() */ - const LineRun* const GetLines() const override; + const LineRun* GetLines() const override; /** * @copydoc ModelInterface::GetNumberOfScripts() @@ -105,7 +112,12 @@ public: /** * @copydoc ModelInterface::GetScriptRuns() */ - const ScriptRun* const GetScriptRuns() const override; + const ScriptRun* GetScriptRuns() const override; + + /** + * @copydoc ModelInterface::GetNumberOfCharacters() + */ + Length GetNumberOfCharacters() const override; /** * @copydoc ModelInterface::GetNumberOfGlyphs() @@ -113,34 +125,59 @@ 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; + const GlyphInfo* GetGlyphs() const override; /** * @copydoc ModelInterface::GetLayout() */ - const Vector2* const GetLayout() const override; + const Vector2* GetLayout() const override; /** * @copydoc ModelInterface::GetColors() */ - const Vector4* const GetColors() const override; + const Vector4* GetColors() const override; /** * @copydoc ModelInterface::GetColorIndices() */ - const ColorIndex* const GetColorIndices() const override; + const ColorIndex* GetColorIndices() const override; /** * @copydoc ModelInterface::GetBackgroundColors() */ - const Vector4* const GetBackgroundColors() const override; + const Vector4* GetBackgroundColors() const override; /** * @copydoc ModelInterface::GetBackgroundColorIndices() */ - const ColorIndex* const GetBackgroundColorIndices() const override; + const ColorIndex* GetBackgroundColorIndices() const override; + + /** + * @copydoc ModelInterface::IsMarkupBackgroundColorSet() + */ + bool IsMarkupBackgroundColorSet() const override; /** * @copydoc ModelInterface::GetDefaultColor() @@ -173,11 +210,31 @@ public: bool IsUnderlineEnabled() const override; /** + * @copydoc ModelInterface::IsMarkupUnderlineSet() + */ + bool 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; @@ -185,7 +242,12 @@ 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::GetOutlineOffset() + */ + const Vector2& GetOutlineOffset() const override; /** * @copydoc ModelInterface::GetOutlineColor() @@ -198,6 +260,11 @@ public: uint16_t GetOutlineWidth() const override; /** + * @copydoc ModelInterface::GetOutlineBlurRadius() + */ + const float& GetOutlineBlurRadius() const override; + + /** * @copydoc ModelInterface::GetBackgroundColor() */ const Vector4& GetBackgroundColor() const override; @@ -207,6 +274,131 @@ public: */ bool IsBackgroundEnabled() const override; + /** + * @copydoc ModelInterface::IsMarkupProcessorEnabled() + */ + bool IsMarkupProcessorEnabled() const override; + + /** + * @copydoc ModelInterface::IsSpannedTextPlaced() + */ + bool IsSpannedTextPlaced() const override; + + /** + * @copydoc ModelInterface::GetHyphens() + */ + const GlyphInfo* GetHyphens() const override; + + /** + * @copydoc ModelInterface::GetHyphens() + */ + const Length* GetHyphenIndices() const override; + + /** + * @copydoc ModelInterface::GetHyphens() + */ + 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 IsMarkupStrikethroughSet() const override; + + /** + * @copydoc ModelInterface::GetCharacterSpacing() + */ + 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; + + /** + * @copydoc ModelInterface::GetFontRuns() + */ + const Vector& GetFontRuns() const override; + + /** + * @copydoc ModelInterface::GetFontDescriptionRuns() + */ + const Vector& GetFontDescriptionRuns() const override; + + /** + * @copydoc ModelInterface::IsRemoveFrontInset() + */ + bool IsRemoveFrontInset() const override; + + /** + * @copydoc ModelInterface::IsRemoveBackInset() + */ + bool IsRemoveBackInset() const override; + + /** + * @copydoc ModelInterface::IsCutoutEnabled() + */ + bool IsCutoutEnabled() const override; + + /** + * @copydoc ModelInterface::IsBackgroundWithCutoutEnabled() + */ + const bool IsBackgroundWithCutoutEnabled() const override; + + /** + * @copydoc ModelInterface::GetBackgroundColorWithCutout() + */ + const Vector4& GetBackgroundColorWithCutout() const override; + private: // Private contructors & copy operator. /** * @brief Private constructor. @@ -232,16 +424,20 @@ 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. + bool mRemoveFrontInset : 1; ///< Whether to ignore xBearing of the first glyph. Default is true. + bool mRemoveBackInset : 1; ///< Whether to ignore advance of the last glyph. 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 + Vector2 mVisualTransformOffset; ///< The offset of the layout based on the controller due to alignment. }; } // namespace Text