X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=base%2Fdali-toolkit%2Finternal%2Fcontrols%2Ftext-view%2Ftext-view-impl.h;h=e1cbc426f64007bf583704b768c0cc7f0d1cadab;hb=refs%2Fchanges%2F79%2F29479%2F3;hp=8d7634767b3199575ffa71d7348c509e84f82950;hpb=d5e3ed5f5b1c8fdba3ae97ead8729620f54b3836;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/base/dali-toolkit/internal/controls/text-view/text-view-impl.h b/base/dali-toolkit/internal/controls/text-view/text-view-impl.h index 8d76347..e1cbc42 100644 --- a/base/dali-toolkit/internal/controls/text-view/text-view-impl.h +++ b/base/dali-toolkit/internal/controls/text-view/text-view-impl.h @@ -18,14 +18,18 @@ * */ -// INTERNAL INCLUDES -#include +// EXTERNAL INCLUDES +#include +#include +#include +#include +#include -#include +// INTERNAL INCLUDES #include #include -#include "text-actor-cache.h" -#include "text-view-processor-types.h" +#include +#include namespace Dali { @@ -93,7 +97,7 @@ public: TextViewProcessorMetadataType mType; ///< Stores the type of operation. std::size_t mPosition; ///< Character position within the text. - std::size_t mNumberOfCharacters; ///< Number of characters to be removed/ replaced. + std::size_t mNumberOfCharacters; ///< Number of characters to be removed/replaced. MarkupProcessor::StyledTextArray mText; ///< The new text. TextStyle::Mask mStyleMask; ///< The style mask. }; @@ -111,7 +115,6 @@ public: RELAYOUT_INITIALIZE_TEXT_ACTORS = 0x10, ///< Initialize text-actors (create handles). RELAYOUT_TEXT_ACTOR_UPDATE = 0x20, ///< Updates text-actors (set size, position, style, ...) RELAYOUT_INSERT_TO_TEXT_VIEW = 0x40, ///< Adds the text-actors to the text-view. - RELAYOUT_INSERT_TO_TEXT_ACTOR_LIST = 0x80, ///< Inserts the text-actors to the text-actor list. RELAYOUT_ALL = 0xFF ///< Does all operations. }; @@ -249,6 +252,11 @@ public: void SetEllipsizeText( const MarkupProcessor::StyledTextArray& ellipsizeText ); /** + * @copydoc SetEllipsizeText() + */ + void SetEllipsizeText( const Text& ellipsizeText, const Vector& ellipsizeStyles ); + + /** * @copydoc GetEllipsizeText() */ std::string GetEllipsizeText() const; @@ -426,8 +434,7 @@ private: TextView& operator=( const TextView& rhs ); /** - * Executes synchronously relayout operations such as set, insert, remove or replace text, or - * split groups of characters, etc. + * Executes synchronously relayout operations such as set, insert, remove or replace text, etc. */ void PerformTextViewProcessorOperations(); @@ -529,6 +536,11 @@ private: Actor GetRootActor() const; /** + * Creates the ellipsize text layout. + */ + void CreateEllipsizeLayout(); + + /** * Handle SetProperty for markup processing. * @param[in] propertyValue The new property value. */ @@ -596,6 +608,11 @@ public: LayoutParameters(); /** + * Default destructor. + */ + ~LayoutParameters(); + + /** * Constructor */ LayoutParameters( Toolkit::TextView::MultilinePolicy multilinePolicy, @@ -604,7 +621,6 @@ public: Toolkit::Alignment::Type alignment, Toolkit::TextView::LineJustification lineJustification, float lineHeightOffset, - const std::string& ellipsizeText, bool markUpEnabled ); /** @@ -618,15 +634,14 @@ public: LayoutParameters& operator=( const LayoutParameters& layoutParameters ); Toolkit::TextView::MultilinePolicy mMultilinePolicy; ///< Stores the multiline policy. - TextView::ExceedPolicy mExceedPolicy; ///< Stores a combination of both policies; + TextView::ExceedPolicy mExceedPolicy; ///< Stores a combination of both policies. Toolkit::TextView::ExceedPolicy mWidthExceedPolicy; ///< Stores the text width exceed policy. Toolkit::TextView::ExceedPolicy mHeightExceedPolicy; ///< Stores the text height exceed policy. Toolkit::Alignment::Type mHorizontalAlignment; ///< Stores the horizontal alignment for the whole text. Toolkit::Alignment::Type mVerticalAlignment; ///< Stores the vertical alignment for the whole text. Toolkit::TextView::LineJustification mLineJustification; ///< Stores the line justification. float mLineHeightOffset; ///< Line height offset to be addded to the font line height (measured in PointSize). - MarkupProcessor::StyledTextArray mEllipsizeText; ///< Stores the ellipsize text - bool mMarkUpEnabled:1; ///< Is markup string scanning enabled + bool mMarkUpEnabled:1; ///< Is markup string scanning enabled. }; /** @@ -658,15 +673,6 @@ public: }; /** - * Temporary data used to calculate line justification. - */ - struct LineJustificationInfo - { - TextViewProcessor::TextInfoIndices mIndices; ///< Indices to the first character of the new line. - float mLineLength; ///< Length of the line (or portion of line). - }; - - /** * The results of the relayout process. */ struct RelayoutData @@ -696,7 +702,6 @@ public: Toolkit::TextView::CharacterLayoutInfoContainer mCharacterLayoutInfoTable; ///< Stores layout info per character sorted by the character's visual index. Toolkit::TextView::LineLayoutInfoContainer mLines; ///< Stores an index to the first character of each line. Size mTextSizeForRelayoutOption; ///< Stores the text size after relayout. - std::vector mLineJustificationInfo; ///< Stores justification info per line. TextActorCache mTextActorCache; ///< Stores previously created text-actors to be reused. };