*/
void FontStyleSetByString(bool setByString);
+ /**
+ * @brief Query if Strikethrough settings were provided by string or map
+ * @return bool true if set by string
+ */
+ bool IsStrikethroughSetByString();
+
+ /**
+ * Set method Strikethrough setting were set by
+ * @param[in] bool, true if set by string
+ */
+ void StrikethroughSetByString(bool setByString);
+
+ /**
+ * @brief Set the override used for strikethrough height, 0 indicates height will be supplied by font metrics
+ *
+ * @param[in] height The height in pixels of the strikethrough
+ */
+ void SetStrikethroughHeight(float height);
+
+ /**
+ * @brief Retrieves the override height of an strikethrough, 0 indicates height is supplied by font metrics
+ *
+ * @return The height of the strikethrough, or 0 if height is not overrided.
+ */
+ float GetStrikethroughHeight() const;
+
+ /**
+ * @brief Set the strikethrough color.
+ *
+ * @param[in] color color of strikethrough.
+ */
+ void SetStrikethroughColor(const Vector4& color);
+
+ /**
+ * @brief Retrieve the strikethrough color.
+ *
+ * @return The strikethrough color.
+ */
+ const Vector4& GetStrikethroughColor() const;
+
+ /**
+ * @brief Set the strikethrough enabled flag.
+ *
+ * @param[in] enabled The strikethrough enabled flag.
+ */
+ void SetStrikethroughEnabled(bool enabled);
+
+ /**
+ * @brief Returns whether the text has a strikethrough or not.
+ *
+ * @return The strikethrough state.
+ */
+ bool IsStrikethroughEnabled() const;
+
public: // Update.
/**
* @brief Replaces any text previously set.
float GetUnderlineHeight() const;
/**
+ * @brief Sets the underline type.
+ * @param[in] type The underline type.
+ */
+ void SetUnderlineType(Text::Underline::Type type);
+
+ /**
+ * @brief Retrieve underline type.
+ * @return The underline type.
+ */
+ Text::Underline::Type GetUnderlineType() const;
+
+ /**
+ * @brief Set the width of the dashes of the dashed underline.
+ *
+ * @param[in] width The width in pixels of the dashes of the dashed underline.
+ */
+ void SetDashedUnderlineWidth(float width);
+
+ /**
+ * @brief Retrieves the width of the dashes of the dashed underline.
+ *
+ * @return The width of the dashes of the dashed underline.
+ */
+ float GetDashedUnderlineWidth() const;
+
+ /**
+ * @brief Set the gap between the dashes of the dashed underline.
+ *
+ * @param[in] gap The gap between the dashes of the dashed underline.
+ */
+ void SetDashedUnderlineGap(float gap);
+
+ /**
+ * @brief Retrieves the gap between the dashes of the dashed underline.
+ *
+ * @return The The gap between the dashes of the dashed underline.
+ */
+ float GetDashedUnderlineGap() const;
+
+ /**
* @brief Set the outline color.
*
* @param[in] color color of outline.
float GetDefaultLineSize() const;
/**
+ * @brief Sets the relative line size to the original line size.
+ *
+ * @param[in] relativeLineSize The relativeline size.
+ *
+ * @return True if relativeLineSize has been updated, false otherwise
+ */
+ bool SetRelativeLineSize(float lineSize);
+
+ /**
+ * @brief Retrieves the relative line size.
+ *
+ * @return The relative line size.
+ */
+ float GetRelativeLineSize() const;
+
+ /**
* @brief Sets the input text's color.
*
* @param[in] color The input text's color.
const std::string& GetInputOutlineProperties() const;
/**
+ * @brief Sets the input strikethrough's properties string.
+ *
+ * @note The string is stored to be recovered.
+ *
+ * @param[in] strikethroughProperties The strikethrough's properties string.
+ */
+ void SetInputStrikethroughProperties(const std::string& strikethroughProperties);
+
+ /**
+ * @brief Retrieves the input strikethrough's properties string.
+ *
+ * @return The strikethrough's properties string.
+ */
+ const std::string& GetInputStrikethroughProperties() const;
+
+ /**
* @brief Set the control's interface.
*
* @param[in] controlInterface The control's interface.
*/
void SetAnchorControlInterface(AnchorControlInterface* anchorControlInterface);
+ /**
+ * @brief Sets the character spacing.
+ *
+ * @note A positive value will make the characters far apart (expanded) and a negative value will bring them closer (condensed).
+ *
+ * @param[in] characterSpacing The character spacing.
+ */
+ void SetCharacterSpacing(float characterSpacing);
+
+ /**
+ * @brief Retrieves the character spacing.
+ *
+ * @note A positive value will make the characters far apart (expanded) and a negative value will bring them closer (condensed).
+ *
+ * @return The character spacing.
+ */
+ const float GetCharacterSpacing() const;
+
public: // Queries & retrieves.
/**
* @brief Return the layout engine.
Vector<Vector2> GetTextPosition(CharacterIndex startIndex, CharacterIndex endIndex);
/**
+ * @brief Gets the bounding box of a specific text range.
+ *
+ * @param[in] startIndex start index of the text requested to get bounding box to.
+ * @param[in] endIndex end index(included) of the text requested to get bounding box to.
+ * @return bounding box of the requested text.
+ */
+ Rect<> GetTextBoundingRectangle(CharacterIndex startIndex, CharacterIndex endIndex);
+
+ /**
* @brief Sets the layout direction changed.
*/
void ChangedLayoutDirection();
/**
* @copydoc Dali::Toolkit::Text::Decorator::ControllerInterface::AddDecoration()
*/
- void AddDecoration(Actor& actor, bool needsClipping) override;
+ void AddDecoration(Actor& actor, DecorationType type, bool needsClipping) override;
/**
* @copydoc Dali::Toolkit::Text::Decorator::ControllerInterface::DecorationEvent()