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=0a0140040bd157bc8a5664d1494dea26cec2d5ae;hp=5edb29469bd1bcfb4f5dfe2d364528e1257a9088;hb=70fdb1a1e8e2660c383079ae49bc94fbe14943d1;hpb=d9d5db59d3c9b5ec6c34315da1c41b2231547828 diff --git a/dali-toolkit/internal/text/text-model.h b/dali-toolkit/internal/text/text-model.h old mode 100755 new mode 100644 index 5edb294..0a01400 --- 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) 2019 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 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,20 +22,17 @@ #include // INTERNAL INCLUDES -#include #include #include #include +#include namespace Dali { - namespace Toolkit { - namespace Text { - // Forward declarations. class Model; @@ -46,9 +43,7 @@ typedef IntrusivePtr ModelPtr; */ class Model : public RefObject, public ModelInterface { - public: // Constructor. - /** * @brief Create a new instance of a text Model. * @@ -57,199 +52,253 @@ public: // Constructor. static ModelPtr New(); public: - /** * @copydoc ModelInterface::GetControlSize() */ - virtual const Size& GetControlSize() const override; + const Size& GetControlSize() const override; /** * @copydoc ModelInterface::GetLayoutSize() */ - virtual const Size& GetLayoutSize() const override; + const Size& GetLayoutSize() const override; /** * @copydoc ModelInterface::GetScrollPosition() */ - virtual const Vector2& GetScrollPosition() const override; + const Vector2& GetScrollPosition() const override; /** * @copydoc ModelInterface::GetHorizontalAlignment() */ - virtual HorizontalAlignment::Type GetHorizontalAlignment() const override; + HorizontalAlignment::Type GetHorizontalAlignment() const override; /** * @copydoc ModelInterface::GetVerticalAlignment() */ - virtual VerticalAlignment::Type GetVerticalAlignment() const override; + VerticalAlignment::Type GetVerticalAlignment() const override; /** * @copydoc ModelInterface::GetVerticalLineAlignment() */ - virtual DevelText::VerticalLineAlignment::Type GetVerticalLineAlignment() const override; + DevelText::VerticalLineAlignment::Type GetVerticalLineAlignment() const override; + + /** + * @copydoc ModelInterface::GetEllipsisPosition() + */ + DevelText::EllipsisPosition::Type GetEllipsisPosition() const override; /** * @copydoc ModelInterface::IsTextElideEnabled() */ - virtual bool IsTextElideEnabled() const override; + bool IsTextElideEnabled() const override; /** * @copydoc ModelInterface::GetNumberOfLines() */ - virtual Length GetNumberOfLines() const override; + Length GetNumberOfLines() const override; /** * @copydoc ModelInterface::GetLines() */ - virtual const LineRun* const GetLines() const override; + const LineRun* const GetLines() const override; /** * @copydoc ModelInterface::GetNumberOfScripts() */ - virtual Length GetNumberOfScripts() const override; + Length GetNumberOfScripts() const override; /** * @copydoc ModelInterface::GetScriptRuns() */ - virtual const ScriptRun* const GetScriptRuns() const override; + const ScriptRun* const GetScriptRuns() const override; /** * @copydoc ModelInterface::GetNumberOfGlyphs() */ - virtual Length GetNumberOfGlyphs() const override; + 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() */ - virtual const GlyphInfo* const GetGlyphs() const override; + const GlyphInfo* const GetGlyphs() const override; /** * @copydoc ModelInterface::GetLayout() */ - virtual const Vector2* const GetLayout() const override; + const Vector2* const GetLayout() const override; /** * @copydoc ModelInterface::GetColors() */ - virtual const Vector4* const GetColors() const override; + const Vector4* const GetColors() const override; /** * @copydoc ModelInterface::GetColorIndices() */ - virtual const ColorIndex* const GetColorIndices() const override; + const ColorIndex* const GetColorIndices() const override; /** * @copydoc ModelInterface::GetBackgroundColors() */ - virtual const Vector4* const GetBackgroundColors() const override; + const Vector4* const GetBackgroundColors() const override; /** * @copydoc ModelInterface::GetBackgroundColorIndices() */ - virtual const ColorIndex* const GetBackgroundColorIndices() const override; + const ColorIndex* const GetBackgroundColorIndices() const override; + + /** + * @copydoc ModelInterface::IsMarkupBackgroundColorSet() + */ + bool const IsMarkupBackgroundColorSet() const override; /** * @copydoc ModelInterface::GetDefaultColor() */ - virtual const Vector4& GetDefaultColor() const override; + const Vector4& GetDefaultColor() const override; /** * @copydoc ModelInterface::GetShadowOffset() */ - virtual const Vector2& GetShadowOffset() const override; + const Vector2& GetShadowOffset() const override; /** * @copydoc ModelInterface::GetShadowColor() */ - virtual const Vector4& GetShadowColor() const override; + const Vector4& GetShadowColor() const override; /** * @copydoc ModelInterface::GetShadowBlurRadius() */ - virtual const float& GetShadowBlurRadius() const override; + const float& GetShadowBlurRadius() const override; /** * @copydoc ModelInterface::GetUnderlineColor() */ - virtual const Vector4& GetUnderlineColor() const override; + const Vector4& GetUnderlineColor() const override; /** * @copydoc ModelInterface::IsUnderlineEnabled() */ - virtual bool IsUnderlineEnabled() const override; + bool IsUnderlineEnabled() const override; /** * @copydoc ModelInterface::GetUnderlineHeight() */ - virtual float GetUnderlineHeight() const override; + float GetUnderlineHeight() const override; /** * @copydoc ModelInterface::GetNumberOfUnderlineRuns() */ - virtual Length GetNumberOfUnderlineRuns() const override; + Length GetNumberOfUnderlineRuns() const override; /** * @copydoc ModelInterface::GetUnderlineRuns() */ - virtual void GetUnderlineRuns( GlyphRun* underlineRuns, UnderlineRunIndex index, Length numberOfRuns ) const override; + void GetUnderlineRuns(GlyphRun* underlineRuns, UnderlineRunIndex index, Length numberOfRuns) const override; /** * @copydoc ModelInterface::GetOutlineColor() */ - virtual const Vector4& GetOutlineColor() const override; + const Vector4& GetOutlineColor() const override; /** * @copydoc ModelInterface::GetOutlineWidth() */ - virtual uint16_t GetOutlineWidth() const override; + uint16_t GetOutlineWidth() const override; /** * @copydoc ModelInterface::GetBackgroundColor() */ - virtual const Vector4& GetBackgroundColor() const override; + const Vector4& GetBackgroundColor() const override; /** * @copydoc ModelInterface::IsBackgroundEnabled() */ - virtual bool IsBackgroundEnabled() const override; + bool IsBackgroundEnabled() const override; -private: // Private contructors & copy operator. + /** + * @copydoc ModelInterface::IsMarkupProcessorEnabled() + */ + bool IsMarkupProcessorEnabled() 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; + float GetStrikethroughHeight() const override; + + const Vector4& GetStrikethroughColor() const override; + + bool IsStrikethroughEnabled() const override; + +private: // Private contructors & copy operator. /** * @brief Private constructor. */ Model(); // Undefined. - Model( const Model& handle ); + Model(const Model& handle); // Undefined. - Model& operator=( const Model& handle ); + Model& operator=(const Model& handle); protected: - /** * @brief A reference counted object may only be deleted by calling Unreference(). */ virtual ~Model(); public: - LogicalModelPtr mLogicalModel; ///< Pointer to the logical model. - VisualModelPtr mVisualModel; ///< Pointer to the visual model. + LogicalModelPtr mLogicalModel; ///< Pointer to the logical model. + VisualModelPtr mVisualModel; ///< Pointer to the visual model. /** * 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