X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Frendering%2Fview-model.h;h=ef8ba87b094682c179fd2fd2e8a005f71f951ea9;hp=e51a0759fd202ffd5c56ac2df26b6e6eb7d7e6b2;hb=076f84a43592f26ff0aa2bced54583f712800fe3;hpb=93ad73e0e2c46aca4c191a1e2f075061e167e8b5 diff --git a/dali-toolkit/internal/text/rendering/view-model.h b/dali-toolkit/internal/text/rendering/view-model.h index e51a075..ef8ba87 100644 --- a/dali-toolkit/internal/text/rendering/view-model.h +++ b/dali-toolkit/internal/text/rendering/view-model.h @@ -2,7 +2,7 @@ #define DALI_TOOLKIT_TEXT_VIEW_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. @@ -81,11 +81,16 @@ public: Text::VerticalAlignment::Type GetVerticalAlignment() const override; /** - * @copydoc ModelInterface::GetVerticalLineAlignment() - */ + * @copydoc ModelInterface::GetVerticalLineAlignment() + */ DevelText::VerticalLineAlignment::Type GetVerticalLineAlignment() const override; /** + * @copydoc ModelInterface::GetEllipsisPosition() + */ + DevelText::EllipsisPosition::Type GetEllipsisPosition() const override; + + /** * @copydoc ModelInterface::IsTextElideEnabled() */ bool IsTextElideEnabled() const override; @@ -116,6 +121,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; @@ -186,6 +211,21 @@ public: 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; @@ -193,7 +233,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() @@ -236,20 +276,57 @@ public: Length GetHyphensCount() const override; /** - * @brief Does the text elide. + * @copydoc ModelInterface::GetCharacterSpacing() + */ + const float GetCharacterSpacing() const override; + + /** + * @copydoc ModelInterface::GetTextBuffer() + */ + const Character* GetTextBuffer() const override; + + /** + * @copydoc ModelInterface::GetGlyphsToCharacters() + */ + const Vector& GetGlyphsToCharacters() const override; + + /** + * @brief Does the text elide at the end, start or middle of text according to ellipsis position * * It stores a copy of the visible glyphs and removes as many glyphs as needed - * from the last visible line to add the ellipsis glyph. + * from the last visible line to add the ellipsis glyph in END case, + * from the first visible line to add the ellipsis glyph in START case, + * between the first and last visible lines to add the ellipsis glyph. * * It stores as well a copy of the positions for each visible glyph. */ void ElideGlyphs(); + float GetStrikethroughHeight() const override; + + const Vector4& GetStrikethroughColor() const override; + + bool IsStrikethroughEnabled() const override; + + /** + * @copydoc ModelInterface::GetNumberOfStrikethroughRuns() + */ + Length GetNumberOfStrikethroughRuns() const override; + + /** + * @copydoc ModelInterface::GetStrikethroughRuns() + */ + void GetStrikethroughRuns(StrikethroughGlyphRun* strikethroughRuns, StrikethroughRunIndex index, Length numberOfRuns) const override; + private: - const ModelInterface* const mModel; ///< Pointer to the text's model. - Vector mElidedGlyphs; ///< Stores the glyphs of the elided text. - Vector mElidedLayout; ///< Stores the positions of each glyph of the elided text. - bool mIsTextElided : 1; ///< Whether the text has been elided. + const ModelInterface* const mModel; ///< Pointer to the text's model. + Vector mElidedGlyphs; ///< Stores the glyphs of the elided text. + Vector mElidedLayout; ///< Stores the positions of each glyph of the elided text. + bool mIsTextElided : 1; ///< Whether the text has been elided. + GlyphIndex mStartIndexOfElidedGlyphs; ///< The start index of elided glyphs. + GlyphIndex mEndIndexOfElidedGlyphs; ///< The end index of elided glyphs. + GlyphIndex mFirstMiddleIndexOfElidedGlyphs; ///< The first end index of elided glyphs, index before ellipsis of middle. + GlyphIndex mSecondMiddleIndexOfElidedGlyphs; ///< The second end index of elided glyphs, index of ellipsis of middle. }; } // namespace Text