+ * @copydoc Dali::Toollkit::TextLabel::TextFitChangedSignal()
+ */
+ DevelTextLabel::TextFitChangedSignalType& TextFitChangedSignal();
+
+ /**
+ * @copydoc Dali::Toollkit::TextLabel::AsyncTextRenderedSignal()
+ */
+ DevelTextLabel::AsyncTextRenderedSignalType& AsyncTextRenderedSignal();
+
+ /**
+ * @copydoc Dali::Toollkit::TextLabel::AsyncNaturalSizeComputedSignal()
+ */
+ DevelTextLabel::AsyncNaturalSizeComputedSignalType& AsyncNaturalSizeComputedSignal();
+
+ /**
+ * @copydoc Dali::Toollkit::TextLabel::AsyncHeightForWidthComputedSignal()
+ */
+ DevelTextLabel::AsyncHeightForWidthComputedSignalType& AsyncHeightForWidthComputedSignal();
+
+ /**
+ * Connects a callback function with the object's signals.
+ * @param[in] object The object providing the signal.
+ * @param[in] tracker Used to disconnect the signal.
+ * @param[in] signalName The signal to connect to.
+ * @param[in] functor A newly allocated FunctorDelegate.
+ * @return True if the signal was connected.
+ * @post If a signal was connected, ownership of functor was passed to CallbackBase. Otherwise the caller is responsible for deleting the unused functor.
+ */
+ static bool DoConnectSignal(BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor);
+
+ /**
+ * @brief Gets text controller
+ *
+ * @return The text controller
+ */
+ Text::ControllerPtr GetTextController();
+
+ /**
+ * @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.
+ * if a line contains characters with different directions, multiple sizes will be returned for each block of contiguous characters with the same direction.
+ *
+ * @param[in] startIndex start index of the text requested to calculate size for.
+ * @param[in] endIndex end index(included) of the text requested to calculate size for.
+ * @return list of sizes of the reuested text.
+ */
+ Vector<Vector2> GetTextSize(const uint32_t startIndex, const uint32_t endIndex) const;
+
+ /**
+ * @brief Get the top/left rendered position of a specific text range.
+ * if the requested text is at multilines, multiple positions will be returned for each text located in a separate line.
+ * if a line contains characters with different directions, multiple positions will be returned for each block of contiguous characters with the same direction.
+ *
+ * @param[in] startIndex start index of the text requested to get position to.
+ * @param[in] endIndex end index(included) of the text requested to get position to.
+ * @return list of positions of the requested text.
+ */
+ Vector<Vector2> GetTextPosition(const uint32_t startIndex, const uint32_t endIndex) const;
+
+ /**
+ * @brief Get the line bounding rectangle.
+ * if the requested index is out of range or the line is not yet rendered, a rect of {0, 0, 0, 0} is returned.
+ *
+ * @param[in] lineIndex line index to which we want to calculate the geometry for.
+ * @return bounding rectangle.
+ */
+ Rect<float> GetLineBoundingRectangle(const uint32_t lineIndex) const;
+
+ /**
+ * @brief Get the character bounding rectangle.
+ * If the text is not yet rendered or the index > text.Count(); a rect of {0, 0, 0, 0} is returned.
+ *
+ * @param[in] charIndex character index to which we want to calculate the geometry for.
+ * @return bounding rectangle.
+ */
+ Rect<float> GetCharacterBoundingRectangle(const uint32_t charIndex) const;
+
+ /**
+ * @brief Get the character index.
+ * If the text is not yet rendered or the textis empty, -1 is returned.
+ *
+ * @param[in] visualX visual x position.
+ * @param[in] visualY visual y position.
+ * @return character index.
+ */
+ int GetCharacterIndexAtPosition(float visualX, float visualY) const;
+
+ /**
+ * @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(uint32_t startIndex, uint32_t endIndex) const;
+
+ /**
+ * @brief Set the @p spannedText into current textLabel
+ * the spanned text contains content (text) and format (spans with ranges)
+ * the text is copied into text-controller and the spans are applied on ranges
+ *
+ * @param[in] spannedText the text with spans.
+ */
+ void SetSpannedText(const Text::Spanned& spannedText);
+
+ /**
+ * @brief Set text fit array to text label.
+ *
+ * @param[in] enable Whether the text fit array is enabled or not.
+ * @param[in] fitOptions list of the fit options.
+ */
+ void SetTextFitArray(const bool enable, std::vector<Toolkit::DevelTextLabel::FitOption>& fitOptions);
+
+ /**
+ * @brief Get the text fit array of text label.
+ *
+ * @return list of the fit options.
+ */
+ std::vector<Toolkit::DevelTextLabel::FitOption>& GetTextFitArray();
+
+ /**
+ * @brief Whether the text fit array is enabled or not.
+ *
+ * @return True if the text fit array is enabled.
+ */
+ bool IsTextFitArrayEnabled() const;
+
+ /**
+ * @brief Gets the locale.
+ */
+ std::string GetLocale();
+
+ /**
+ * @brief Set removing front inset to text label.
+ *
+ * @param[in] remove Whether front inset of text label has to be removed or not.
+ */
+ void SetRemoveFrontInset(const bool remove);
+
+ /**
+ * @brief Whether front inset of text label is removed or not.
+ *
+ * @return True if the front inset of text label is removed.
+ */
+ bool IsRemoveFrontInset() const;
+
+ /**
+ * @brief Set removing back inset to text label.
+ *
+ * @param[in] remove Whether back inset of text label has to be removed or not.
+ */
+ void SetRemoveBackInset(const bool remove);
+
+ /**
+ * @brief Whether back inset of text label is removed or not.
+ *
+ * @return True if the back inset of text label is removed.
+ */
+ bool IsRemoveBackInset() const;
+
+ /**
+ * @brief Enable control's background
+ *
+ * @param[in] enable Whether to enable the background of control.
+ */
+ void EnableControlBackground(const bool enable);
+
+ /**
+ * @brief A method that requests asynchronous rendering of text with a fixed size.
+ *
+ * @param[in] width The width of text to render.
+ * @param[in] height The height of text to render.
+ */
+ void RequestAsyncRenderWithFixedSize(float width, float height);
+
+ /**
+ * @brief Requests asynchronous text rendering with a fixed width.
+ * The height is determined by the content of the text when rendered with the given width.
+ * The result will be the same as the height returned by GetHeightForWidth.
+ * If the heightConstraint is given, the maximum height will be the heightConstraint.
+ *
+ * @param[in] width The width of text to render.
+ * @param[in] heightConstraint The maximum available height of text to render.
+ */
+ void RequestAsyncRenderWithFixedWidth(float width, float heightConstraint);
+
+ /**
+ * @brief Requests asynchronous rendering with the maximum available width using the given widthConstraint.
+ *
+ * If the width of the text content is smaller than the widthConstraint, the width will be determined by the width of the text.
+ * If the width of the text content is larger than the widthConstraint, the width will be determined by the widthConstraint.
+ * The height is determined by the content of the text when rendered with the given width.
+ * In this case, the result will be the same as the height returned by GetHeightForWidth.
+ * If the heightConstraint is given, the maximum height will be the heightConstraint.
+ *
+ * @param[in] widthConstraint The maximum available width of text to render.