*
*/
+// EXTERNAL INCLUDES
+#include <dali/public-api/common/vector-wrapper.h>
+
// INTERNAL INCLUDES
#include <dali-toolkit/public-api/controls/text-controls/text-label.h>
*
*/
STRIKETHROUGH,
+
+ /**
+ * @brief The spaces between characters in Pixels.
+ * @details Name "characterSpacing", type Property::FLOAT.
+ * @note
+ * A positive value will make the characters far apart (expanded) and a negative value will bring them closer (condensed).
+ * The default value is 0.f which does nothing.
+ */
+ CHARACTER_SPACING,
+
+ /**
+ * @brief the relative height of the line (a factor that will be multiplied by text height).
+ * @details Name "relativeLineSize", type Property::FLOAT.
+ * @note If the value is less than 1, the lines could to be overlapped.
+ */
+ RELATIVE_LINE_SIZE,
+
+ /**
+ * @brief The anchor color that will be used by default in markup processing.
+ * @details Name "anchorColor", type Property::VECTOR4.
+ * @note If there is a color attribute in the anchor tag, the markup attribute takes precedence.
+ */
+ ANCHOR_COLOR,
+
+ /**
+ * @brief The anchor clicked color that will be used by default in markup processing.
+ * @details Name "anchorClickedColor", type Property::VECTOR4.
+ * @note If there is a color attribute in the anchor tag, the markup attribute takes precedence.
+ */
+ ANCHOR_CLICKED_COLOR,
};
} // namespace Property
+struct FitOption
+{
+ FitOption(float pointSize = 0.0f, float minLineSize = 0.0f)
+ : mPointSize(pointSize), mMinLineSize(minLineSize) {}
+
+ float GetPointSize() const
+ {
+ return mPointSize;
+ }
+ float GetMinLineSize() const
+ {
+ return mMinLineSize;
+ }
+ void SetPointSize(float pointSize)
+ {
+ mPointSize = pointSize;
+ }
+ void SetMinLineSize(float minLineSize)
+ {
+ mMinLineSize = minLineSize;
+ }
+
+private:
+ float mPointSize = 0.0f;
+ float mMinLineSize = 0.0f;
+};
+
/**
* @brief Get the rendered size of a specific text range.
* if the requested text is at multilines, multiple sizes will be returned for each text located in a separate line.
DALI_TOOLKIT_API Vector<Vector2> GetTextPosition(TextLabel textLabel, const uint32_t startIndex, const uint32_t endIndex);
/**
+ * @brief Gets the bounding box of a specific text range.
+ *
+ * @param[in] textLabel The instance of TextLabel.
+ * @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.
+ */
+DALI_TOOLKIT_API Rect<> GetTextBoundingRectangle(TextLabel textLabel, uint32_t startIndex, uint32_t endIndex);
+
+/**
+ * @brief Set text fit array to text label.
+ *
+ * @param[in] textLabel The instance of TextLabel.
+ * @param[in] enable Whether the text fit array is enabled or not.
+ * @param[in] fitOptions list of the fit options.
+ */
+DALI_TOOLKIT_API void SetTextFitArray(TextLabel textLabel, const bool enable, std::vector<FitOption>& fitOptions);
+
+/**
+ * @brief Get the text fit array of text label.
+ *
+ * @param[in] textLabel The instance of TextLabel.
+ * @return list of the fit options.
+ */
+DALI_TOOLKIT_API std::vector<FitOption>& GetTextFitArray(TextLabel textLabel);
+
+/**
+ * @brief Whether the text fit array is enabled or not.
+ *
+ * @return True if the text fit array is enabled.
+ */
+DALI_TOOLKIT_API bool IsTextFitArrayEnabled(TextLabel textLabel);
+
+/**
* @brief Anchor clicked signal type.
*
* @note Signal