+ /**
+ * Retrieve the glyph's position of the given glyph.
+ *
+ * @param[in] glyphIndex Index to the glyph.
+ *
+ * @return The glyph's position.
+ */
+ const Vector2& GetGlyphPosition( GlyphIndex glyphIndex ) const;
+
+ // Line interface.
+
+ /**
+ * Sets the lines.
+ *
+ * Replaces any lines previously set.
+ *
+ * Every line is an item run containing the index to the first glyph of the line and the number of glyphs.
+ *
+ * @param[in] lines Pointer to a buffer containing all the line runs.
+ * @param[in] numberOfLines The number of lines in the buffer.
+ */
+ void SetLines( const LineRun* const lines,
+ Length numberOfLines );
+
+ /**
+ * Retrieves the number of lines of the whole text.
+ *
+ * @return The number of lines.
+ */
+ Length GetNumberOfLines() const;
+
+ /**
+ * Retrieves lines.
+ *
+ * The size of the @p lines buffer needs to be big enough to copy the @p numberOfLines.
+ *
+ * @param[out] lines Pointer to a buffer where the lines are copied.
+ * @param[in] lineIndex Index to the first line.
+ * @param[in] numberOfLines Number of lines to be copied.
+ */
+ void GetLines( LineRun* lines,
+ LineIndex lineIndex,
+ Length numberOfLines ) const;
+
+ /**
+ * Retrieves the number of lines where the given range of glyphs is laid out.
+ *
+ * @param[in] glyphIndex Index to the first glyph.
+ * @param[in] numberOfGlyphs The number of glyph.
+ *
+ * @return The number of lines.
+ */
+ TextAbstraction::Length GetNumberOfLines( GlyphIndex glyphIndex,
+ Length numberOfGlyphs ) const;
+ /**
+ * Retrieves the lines where the given range of glyphs is laid out.
+ *
+ * The size of the @p lines buffer needs to be big enough to copy the @p numberOfLines.
+ *
+ * @param[out] lines Pointer to a buffer where the lines are copied.
+ * @param[in] glyphIndex Index to the first glyphs of the range.
+ * @param[in] numberOfGlyphs Number of glyphs in the range.
+ */
+ void GetLinesOfGlyphRange( LineRun* lines,
+ GlyphIndex glyphIndex,
+ Length numberOfGlyphs ) const;
+
+ // Size interface
+
+ /**
+ * Sets the natural size.
+ *
+ * @param[in] size The text's natural size.
+ */
+ void SetNaturalSize( const Vector2& size );
+
+ /**
+ * Retrieves the natural size.
+ *
+ * @return The text's natural size.
+ */
+ const Vector2& GetNaturalSize() const;
+
+ /**
+ * Sets the text's actual size after it has been laid out.
+ *
+ * @param[in] size The text's size.
+ */
+ void SetActualSize( const Vector2& size );
+
+ /**
+ * Retrieves the text's actual size after it has been laid out.
+ *
+ * @return The text's size.
+ */
+ const Vector2& GetActualSize() const;
+