fix incorrect calculaion of natural size in text
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / text / markup-processor-strikethrough.h
index 6c0a520..fca6d34 100644 (file)
  *
  */
 
+// EXTERNAL INCLUDES
+#include <dali/public-api/common/dali-vector.h>
+
+// INTERNAL INCLUDES
+#include <dali-toolkit/internal/text/strikethrough-character-run.h>
+
 namespace Dali
 {
 namespace Toolkit
@@ -25,9 +31,26 @@ namespace Toolkit
 namespace Text
 {
 struct Tag;
+struct Attribute;
 struct StrikethroughCharacterRun;
 
 /**
+ * @brief Fill the strikethrough character run with the color attribute value.
+ *
+ * @param[in] attribute the color attribute.
+ * @param[out] strikethroughCharacterRun The strikethrough character run
+ */
+void ProcessColorAttribute(const Attribute& attribute, StrikethroughCharacterRun& strikethroughCharacterRun);
+
+/**
+ * @brief Fill the strikethrough character run with the height attribute value.
+ *
+ * @param[in] attribute the height attribute.
+ * @param[out] strikethroughRun The strikethrough character run
+ */
+void ProcessHeightAttribute(const Attribute& attribute, StrikethroughCharacterRun& strikethroughRun);
+
+/**
  * @brief Retrieves the strikethrough run info from the tag and sets it to the strikethrough run.
  *
  * @param[in] tag The strikethrough tag and its attributes.
@@ -35,6 +58,13 @@ struct StrikethroughCharacterRun;
  */
 void ProcessStrikethroughTag(const Tag& tag, StrikethroughCharacterRun& strikethroughRun);
 
+/**
+ * @brief Override the run's attributes which contained in the previous run. This is to handle the nested tags.
+ *
+ * @param[in,out] strikethroughCharacterRun The list of strikethrough character run
+ */
+void OverrideNestedStrikethroughCharacterRuns(Vector<StrikethroughCharacterRun>& strikethroughCharacterRun);
+
 } // namespace Text
 
 } // namespace Toolkit