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-interface.h;h=aafd4306ddcc6777504aeb41fe2625945763142a;hp=812ba7c748e63fc34bc2d40f382e57cb97d24a61;hb=HEAD;hpb=41d36118a13932bcf1db39b780ac437fcda8aa08 diff --git a/dali-toolkit/internal/text/text-model-interface.h b/dali-toolkit/internal/text/text-model-interface.h old mode 100755 new mode 100644 index 812ba7c..8327534 --- a/dali-toolkit/internal/text/text-model-interface.h +++ b/dali-toolkit/internal/text/text-model-interface.h @@ -2,7 +2,7 @@ #define DALI_TOOLKIT_TEXT_MODEL_INTERFACE_H /* - * Copyright (c) 2019 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,21 +22,24 @@ #include // INTERNAL INCLUDES -#include +#include +#include +#include +#include +#include #include #include +#include #include -#include +#include +#include namespace Dali { - namespace Toolkit { - namespace Text { - /** * @brief Interface class used to retrieve the text's model from the text-controller. */ @@ -47,7 +50,8 @@ public: * @brief Virtual destructor. */ virtual ~ModelInterface() - {} + { + } /** * @brief Retrives the control's size. @@ -92,6 +96,13 @@ public: virtual DevelText::VerticalLineAlignment::Type GetVerticalLineAlignment() const = 0; /** + * @brief Retrieves ellipsis position for text. + * + * @return The ellipsis position. + */ + virtual DevelText::EllipsisPosition::Type GetEllipsisPosition() const = 0; + + /** * @brief Whether the text elide property is enabled. * * @return @e true if the text elide property is enabled, @e false otherwise. @@ -110,7 +121,7 @@ public: * * @return A pointer to the vector with the laid-out lines. */ - virtual const LineRun* const GetLines() const = 0; + virtual const LineRun* GetLines() const = 0; /** * @brief Retrieves the number of script runs. @@ -124,7 +135,14 @@ public: * * @return A pointer to the vector with the runs of characters with the same script.. */ - virtual const ScriptRun* const GetScriptRuns() const = 0; + virtual const ScriptRun* GetScriptRuns() const = 0; + + /** + * @brief Retrieves number of characters. + * + * @return The number of characters. + */ + virtual Length GetNumberOfCharacters() const = 0; /** * @brief Retrieves the number of laid-out glyphs. @@ -134,46 +152,81 @@ public: virtual Length GetNumberOfGlyphs() const = 0; /** + * @brief Retrieves the start index of laid-out glyphs. + * + * @return The start index of laid-out glyphs. + */ + virtual GlyphIndex GetStartIndexOfElidedGlyphs() const = 0; + + /** + * @brief Retrieves the end index of laid-out glyphs. + * + * @return The end index of laid-out glyphs. + */ + virtual GlyphIndex GetEndIndexOfElidedGlyphs() const = 0; + + /** + * @brief Retrieves the first middle index of elided glyphs, index before ellipsis of middle. + * + * @return The first middle index of elided glyphs, index before ellipsis of middle. + */ + virtual GlyphIndex GetFirstMiddleIndexOfElidedGlyphs() const = 0; + + /** + * @brief Retrieves the second middle index of elided glyphs, index of ellipsis of middle. + * + * @return The second middle index of elided glyphs, index of ellipsis of middle. + */ + virtual GlyphIndex GetSecondMiddleIndexOfElidedGlyphs() const = 0; + + /** * @brief Retrieves the laid-out glyphs. * * @return A pointer to the vector with the laid-out glyphs. */ - virtual const GlyphInfo* const GetGlyphs() const = 0; + virtual const GlyphInfo* GetGlyphs() const = 0; /** * @brief Retrieves the text layout. * * @return A pointer to the vector with the positions for each glyph. */ - virtual const Vector2* const GetLayout() const = 0; + virtual const Vector2* GetLayout() const = 0; /** * @brief Retrieves the vector of colors. * * @return Pointer to the vector of colors. */ - virtual const Vector4* const GetColors() const = 0; + virtual const Vector4* GetColors() const = 0; /** * @brief Retrieves the vector of indices to the vector of colors. * * @return Pointer to a vector which stores for each glyph the index to the vector of colors. */ - virtual const ColorIndex* const GetColorIndices() const = 0; + virtual const ColorIndex* GetColorIndices() const = 0; /** * @brief Retrieves the vector of background colors. * * @return Pointer to the vector of background colors. */ - virtual const Vector4* const GetBackgroundColors() const = 0; + virtual const Vector4* GetBackgroundColors() const = 0; /** * @brief Retrieves the vector of indices to the vector of background colors. * * @return Pointer to a vector which stores for each glyph the index to the vector of background colors. */ - virtual const ColorIndex* const GetBackgroundColorIndices() const = 0; + virtual const ColorIndex* GetBackgroundColorIndices() const = 0; + + /** + * @brief checks if there is background colors set using markup. + * + * @return boolean if there is background colors set using markup . + */ + virtual bool IsMarkupBackgroundColorSet() const = 0; /** * @brief Retrieves the text's default color. @@ -218,6 +271,13 @@ public: virtual bool IsUnderlineEnabled() const = 0; /** + * @brief checks if there is underline set using markup. + * + * @return boolean if there is underline set using markup. + */ + virtual bool IsMarkupUnderlineSet() const = 0; + + /** * @brief Retrieves the underline height override * * @return Returns the override height for an underline, 0 indicates that adaptor will determine the height @@ -225,6 +285,27 @@ public: virtual float GetUnderlineHeight() const = 0; /** + * @brief Retrieves the underline type override. + * + * @return Returns the override type for an underline. + */ + virtual Text::Underline::Type GetUnderlineType() const = 0; + + /** + * @brief Retrieves the dashed underline width override + * + * @return Returns the override width for the dashed underline. + */ + virtual float GetDashedUnderlineWidth() const = 0; + + /** + * @brief Retrieves the dashed underline gap override + * + * @return Returns the override gap for the dashed underline. + */ + virtual float GetDashedUnderlineGap() const = 0; + + /** * @brief Retrieves the number of underline runs. * * @return The number of underline runs. @@ -238,7 +319,14 @@ public: * @param[in] index Index of the first underline run to be copied. * @param[in] numberOfRuns Number of underline runs to be copied. */ - virtual void GetUnderlineRuns( GlyphRun* underlineRuns, UnderlineRunIndex index, Length numberOfRuns ) const = 0; + virtual void GetUnderlineRuns(UnderlinedGlyphRun* underlineRuns, UnderlineRunIndex index, Length numberOfRuns) const = 0; + + /** + * @brief Retrieves the outline offset. + * + * @return The outline offset. + */ + virtual const Vector2& GetOutlineOffset() const = 0; /** * @brief Retrieve the outline color. @@ -268,6 +356,151 @@ public: */ virtual bool IsBackgroundEnabled() const = 0; + /** + * @brief Returns whether markup-processor is enabled or not. + * + * @return The markup-processor state. + */ + virtual bool IsMarkupProcessorEnabled() const = 0; + + /** + * @brief Retrieves whether the spanned-text is placed. + * + * By default is disabled. + * + * @return @e true if the spanned-text is placed, otherwise returns @e false. + */ + virtual bool IsSpannedTextPlaced() const = 0; + + /** + * @brief Returns the hyphens glyph info. + * + * @return hyphens glyph info. + */ + virtual const GlyphInfo* GetHyphens() const = 0; + + /** + * @brief Returns the indices of the hyphen in the text. + * + * @return the hyphen indices. + */ + virtual const Length* GetHyphenIndices() const = 0; + + /** + * @brief Returns number of hyphens to add in text. + * + * @return number of hyphens. + */ + virtual Length GetHyphensCount() const = 0; + + /** + * @brief Retrieves the strikethrough color. + * + * @return The strikethrough color. + */ + virtual const Vector4& GetStrikethroughColor() const = 0; + + /** + * @brief Returns whether strikethrough is enabled or not. + * + * @return The strikethrough state. + */ + virtual bool IsStrikethroughEnabled() const = 0; + + /** + * @brief checks if there is strikethrough set using markup. + * + * @return boolean if there is strikethrough set using markup. + */ + virtual bool IsMarkupStrikethroughSet() const = 0; + + /** + * @brief Retrieves the strikethrough height override + * + * @return Returns the override height for a strikethrough, 0 indicates that adaptor will determine the height + */ + virtual float GetStrikethroughHeight() const = 0; + + /** + * @brief Retrieves the number of strikethrough runs. + * + * @return The number of strikethrough runs. + */ + virtual Length GetNumberOfStrikethroughRuns() const = 0; + + /** + * @brief Retrieves the number of bounded paragraph runs. + * + * @return The number of bounded paragraph runs. + */ + virtual Length GetNumberOfBoundedParagraphRuns() const = 0; + + /** + * @brief Retrieves the reference for bounded paragraph runs. + * + * @return The reference for bounded paragraph runs. + */ + virtual const Vector& GetBoundedParagraphRuns() const = 0; + + /** + * @brief Retrieves the number of character-spacing glyph runs. + * + * @return The number of character-spacing glyph runs. + */ + virtual Length GetNumberOfCharacterSpacingGlyphRuns() const = 0; + + /** + * @brief Retrieves the reference for character-spacing glyph runs. + * + * @return The reference for character-spacing glyph runs. + */ + virtual const Vector& GetCharacterSpacingGlyphRuns() const = 0; + + /** + * @brief Retrieves the strikethrough runs. + * + * @param[out] strikethroughRuns Pointer to a buffer where the strikethrough runs are copied. + * @param[in] index Index of the first strikethrough run to be copied. + * @param[in] numberOfRuns Number of strikethrough runs to be copied. + */ + virtual void GetStrikethroughRuns(StrikethroughGlyphRun* strikethroughRuns, StrikethroughRunIndex index, Length numberOfRuns) const = 0; + + /** + * @brief Retrieves the character spacing. + * + * @note A positive value will make the characters far apart (expanded) and a negative value will bring them closer (condensed). + * + * @return The character spacing. + */ + virtual float GetCharacterSpacing() const = 0; + + /** + * @brief Retrieves the text buffer. + * + * @return The text buffer. + */ + virtual const Character* GetTextBuffer() const = 0; + + /** + * @brief Retrieves the Glyphs to Characters Array. + * + * @return The GlyphsToCharacters. + */ + virtual const Vector& GetGlyphsToCharacters() const = 0; + + /** + * @brief Retrieves the reference for font runs. + * + * @return The reference for font runs. + */ + virtual const Vector& GetFontRuns() const = 0; + + /** + * @brief Retrieves the reference for font description runs. + * + * @return The reference for font description runs. + */ + virtual const Vector& GetFontDescriptionRuns() const = 0; }; } // namespace Text