Support paragraph tag <p> in markup
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / text / logical-model-impl.h
index 80a1285..c54c523 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_TEXT_LOGICAL_MODEL_IMPL_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.
 #include <dali-toolkit/internal/text/anchor.h>
 #include <dali-toolkit/internal/text/bidirectional-line-info-run.h>
 #include <dali-toolkit/internal/text/bidirectional-paragraph-info-run.h>
+#include <dali-toolkit/internal/text/bounded-paragraph-run.h>
 #include <dali-toolkit/internal/text/color-run.h>
 #include <dali-toolkit/internal/text/embedded-item.h>
 #include <dali-toolkit/internal/text/font-description-run.h>
 #include <dali-toolkit/internal/text/font-run.h>
 #include <dali-toolkit/internal/text/paragraph-run.h>
 #include <dali-toolkit/internal/text/script-run.h>
+#include <dali-toolkit/internal/text/strikethrough-character-run.h>
 #include <dali-toolkit/internal/text/underlined-character-run.h>
 
 namespace Dali
@@ -152,6 +154,11 @@ public:
    */
   void ClearFontDescriptionRuns();
 
+  /**
+   * @brief Clears the strikethrough runs.
+   */
+  void ClearStrikethroughRuns();
+
   // Paragraphs
 
   /**
@@ -176,6 +183,20 @@ public:
                       Length                     numberOfCharacters,
                       Vector<ParagraphRunIndex>& paragraphs);
 
+  /**
+   * @brief Retrieves the number of bounded paragraph runs.
+   *
+   * @return The number of bounded paragraph runs.
+   */
+  Length GetNumberOfBoundedParagraphRuns() const;
+
+  /**
+   * @brief Retrieves the reference for bounded paragraph runs.
+   *
+   * @return The reference for bounded paragraph runs.
+   */
+  const Vector<BoundedParagraphRun>& GetBoundedParagraphRuns() const;
+
   // Embedded images
 
   /**
@@ -220,7 +241,9 @@ public:
   Vector<BidirectionalLineInfoRun>      mBidirectionalLineInfo;
   Vector<EmbeddedItem>                  mEmbeddedItems;
   Vector<Anchor>                        mAnchors;
-  Vector<UnderlinedCharacterRun>        mUnderlinedCharacterRuns; ///< The underlined character run from markup-processor
+  Vector<UnderlinedCharacterRun>        mUnderlinedCharacterRuns;    ///< The underlined character run from markup-processor
+  Vector<StrikethroughCharacterRun>     mStrikethroughCharacterRuns; ///< The strikethrough character run from markup-processor
+  Vector<BoundedParagraphRun>           mBoundedParagraphRuns;       ///< The bounded paragraph is used to handle a paragraph mark-up tag and it's attributes. Like TextAlign, TextDirection, TextIndent, LineHeight, etc.
 
   BidirectionalLineRunIndex mBidirectionalLineIndex; ///< The last fetched bidirectional line info.
 };