+ /**
+ * @brief Retrieves the underline type override
+ *
+ * @return Returns the override type for an underline.
+ */
+ virtual Text::Underline::Type GetUnderlineType() const = 0;
+
+ /**
+ * @brief Retrieves the dashed underline width override.
+ *
+ * @return Returns the override width for the dashed underline.
+ */
+ virtual float GetDashedUnderlineWidth() const = 0;
+
+ /**
+ * @brief Retrieves the dashed underline gap override.
+ *
+ * @return Returns the override gap for the dashed underline.
+ */
+ virtual float GetDashedUnderlineGap() const = 0;
+
+ /**
+ * @brief Retrieves the number of underline runs.
+ *
+ * @return The number of underline runs.
+ */
+ virtual Length GetNumberOfUnderlineRuns() const = 0;
+
+ /**
+ * @brief Retrieves the underline runs.
+ *
+ * @param[out] underlineRuns Pointer to a buffer where the underline runs are copied.
+ * @param[in] index Index of the first underline run to be copied.
+ * @param[in] numberOfRuns Number of underline runs to be copied.
+ */
+ virtual void GetUnderlineRuns(UnderlinedGlyphRun* underlineRuns,
+ UnderlineRunIndex index,
+ Length numberOfRuns) const = 0;
+
+ /**
+ * @brief Retrieve the outline color.
+ *
+ * @return The outline color.
+ */
+ virtual const Vector4& GetOutlineColor() const = 0;
+
+ /**
+ * @brief Retrieves the width of an outline
+ *
+ * @return The width of the outline.
+ */
+ virtual uint16_t GetOutlineWidth() const = 0;
+
+ /**
+ * @brief Retrieves ellipsis position for text.
+ *
+ * @return The ellipsis position.
+ */
+ virtual DevelText::EllipsisPosition::Type GetEllipsisPosition() const = 0;
+
+ /**
+ * @brief Whether the text elide property is enabled.
+ *
+ * @return @e true if the text elide property is enabled, @e false otherwise.
+ */
+ virtual bool IsTextElideEnabled() const = 0;
+
+ /**
+ * @brief Retrieves the start index of laid-out glyphs.
+ *
+ * @return The start index of laid-out glyphs.
+ */
+ virtual GlyphIndex GetStartIndexOfElidedGlyphs() const = 0;
+
+ /**
+ * @brief Retrieves the end index of laid-out glyphs.
+ *
+ * @return The end index of laid-out glyphs.
+ */
+ virtual GlyphIndex GetEndIndexOfElidedGlyphs() const = 0;
+
+ /**
+ * @brief Retrieves the first middle index of elided glyphs, index before ellipsis of middle.
+ *
+ * @return The first middle index of elided glyphs, index before ellipsis of middle.
+ */
+ virtual GlyphIndex GetFirstMiddleIndexOfElidedGlyphs() const = 0;
+
+ /**
+ * @brief Retrieves the second middle index of elided glyphs, index of ellipsis of middle.
+ *
+ * @return The second middle index of elided glyphs, index of ellipsis of middle.
+ */
+ virtual GlyphIndex GetSecondMiddleIndexOfElidedGlyphs() const = 0;
+
+ /**
+ * @brief Retrieves the strikethrough color.
+ *
+ * @return The strikethrough color.
+ */
+ virtual const Vector4& GetStrikethroughColor() const = 0;
+
+ /**
+ * @brief Returns whether strikethrough is enabled or not.
+ *
+ * @return The strikethrough state.
+ */
+ virtual bool IsStrikethroughEnabled() const = 0;
+
+ /**
+ * @brief checks if there is strikethrough set using markup.
+ *
+ * @return boolean if there is strikethrough set using markup.
+ */
+ virtual bool IsMarkupStrikethroughSet() const = 0;
+
+ /**
+ * @brief Retrieves the strikethrough height override
+ *
+ * @return Returns the override height for a strikethrough, 0 indicates that adaptor will determine the height
+ */
+ virtual float GetStrikethroughHeight() const = 0;
+
+ /**
+ * @brief Retrieves the number of strikethrough runs.
+ *
+ * @return The number of strikethrough runs.
+ */
+ virtual Length GetNumberOfStrikethroughRuns() const = 0;
+
+ /**
+ * @brief Retrieves the number of bounded paragraph runs.
+ *
+ * @return The number of bounded paragraph runs.
+ */
+ virtual Length GetNumberOfBoundedParagraphRuns() const = 0;
+
+ /**
+ * @brief Retrieves the reference for bounded paragraph runs.
+ *
+ * @return The reference for bounded paragraph runs.
+ */
+ virtual const Vector<BoundedParagraphRun>& GetBoundedParagraphRuns() const = 0;
+
+ /**
+ * @brief Retrieves the number of character-spacing glyph runs.
+ *
+ * @return The number of character-spacing glyph runs.
+ */
+ virtual Length GetNumberOfCharacterSpacingGlyphRuns() const = 0;
+
+ /**
+ * @brief Retrieves the reference for character-spacing glyph runs.
+ *
+ * @return The reference for character-spacing glyph runs.
+ */
+ virtual const Vector<CharacterSpacingGlyphRun>& GetCharacterSpacingGlyphRuns() const = 0;
+
+ /**
+ * @brief Retrieves the strikethrough runs.
+ *
+ * @param[out] strikethroughRuns Pointer to a buffer where the strikethrough runs are copied.
+ * @param[in] index Index of the first strikethrough run to be copied.
+ * @param[in] numberOfRuns Number of strikethrough runs to be copied.
+ */
+ virtual void GetStrikethroughRuns(StrikethroughGlyphRun* strikethroughRuns,
+ StrikethroughRunIndex index,
+ Length numberOfRuns) const = 0;
+
+ /**
+ * @brief The spaces between characters in Pixels.
+ *
+ * @note A positive value will make the characters far apart (expanded) and a negative value will bring them closer (condensed).
+ *
+ * @return characterSpacing.
+ */
+ virtual float GetCharacterSpacing() const = 0;
+
+ /**
+ * @brief The text buffer.
+ *
+ * @return The text buffer.
+ */
+ virtual const Character* GetTextBuffer() const = 0;
+
+ /**
+ * @brief The text Glyph to Characters Array.
+ *
+ * @return GetGlyphsToCharacters.
+ */
+ virtual const Vector<CharacterIndex>& GetGlyphsToCharacters() const = 0;