Shortcut check for markup in a string, before attempting to parse and split the strin...
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / text-view / text-view-impl.h
index 7e5c556..7493fcc 100644 (file)
@@ -278,6 +278,20 @@ public:
   bool IsSnapshotModeEnabled() const;
 
   /**
+   * @brief Sets whether markup processing should be carried out.
+   *
+   * @param[in] enable whether markup processing is carried out or not.
+   */
+  void SetMarkupProcessingEnabled( bool enable );
+
+  /**
+   * @brief Returns whether markup processing is enabled or not
+   *
+   * @return true is markup processing is enabled
+   */
+  bool IsMarkupProcessingEnabled() const;
+
+  /**
    * @copydoc SetScrollEnabled()
    */
   void SetScrollEnabled( bool enable );
@@ -555,7 +569,8 @@ public:
                       Toolkit::Alignment::Type               alignment,
                       Toolkit::TextView::LineJustification   lineJustification,
                       float                                  lineHeightOffset,
-                      const std::string&                     ellipsizeText );
+                      const std::string&                     ellipsizeText,
+                      const bool                             markUpEnabled );
 
     /**
      * Copy constructor
@@ -575,7 +590,8 @@ public:
     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.
+    MarkupProcessor::StyledTextArray     mEllipsizeText;       ///< Stores the ellipsize text
+    bool                                 mMarkUpEnabled:1;     ///< Is markup string scanning enabled
   };
 
   /**
@@ -640,8 +656,8 @@ public:
     TextViewProcessor::TextLayoutInfo               mTextLayoutInfo;              ///< Stores metrics, layout info (size, direction, type of word) and text-actor info for the whole text.
     std::vector<int>                                mCharacterLogicalToVisualMap; ///< Reorder map that stores each character's visual (output) index according to its logical (input) index
     std::vector<int>                                mCharacterVisualToLogicalMap; ///< Reorder map that stores each character's logical (input) index according to its visual (output) index
-    std::vector<TextActor>                          mTextActors;                  ///< Stores handles of those text-actors which are currently added to the text-view.
-    std::vector<TextActor>                          mEllipsizedTextActors;        ///< Stores handles of those text-actors which are used to ellipsize the text.
+    std::vector<RenderableActor>                    mGlyphActors;                 ///< Stores handles of those text-actors which are currently added to the text-view.
+    std::vector<RenderableActor>                    mEllipsizedGlyphActors;       ///< Stores handles of those text-actors which are used to ellipsize the text.
     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.
@@ -689,6 +705,7 @@ private:
 
   bool                                            mLockPreviousSnapshotMode;      ///< Whether previous stored snapshot mode should be modified.
   bool                                            mPreviousSnapshotModeEnabled:1; ///< Stores the previous snapshot mode value.
+  bool                                            mMarkUpEnabled:1;               ///< enable to scan for mark-up
 
   Toolkit::TextView::ScrolledSignalV2             mScrolledSignalV2;              ///< Signal emitted when text is scrolled.