+ void CreateTextureSet(TilingInfo& info, Renderer& renderer, Sampler& sampler, bool hasMultipleTextColors, bool containsColorGlyph, bool styleEnabled);
+
+ /**
+ * Create renderer of the text for rendering.
+ * @param[in] actor The actor.
+ * @param[in] size The texture size.
+ * @param[in] hasMultipleTextColors Whether the text contains multiple colors.
+ * @param[in] containsColorGlyph Whether the text contains color glyph.
+ * @param[in] styleEnabled Whether the text contains any styles (e.g. shadow, underline, etc.).
+ */
+ void AddRenderer(Actor& actor, const Vector2& size, bool hasMultipleTextColors, bool containsColorGlyph, bool styleEnabled);
+
+ /**
+ * Get the texture of the text for rendering.
+ * @param[in] size The texture size.
+ * @param[in] hasMultipleTextColors Whether the text contains multiple colors.
+ * @param[in] containsColorGlyph Whether the text contains color glyph.
+ * @param[in] styleEnabled Whether the text contains any styles (e.g. shadow, underline, etc.).
+ */
+ TextureSet GetTextTexture(const Vector2& size, bool hasMultipleTextColors, bool containsColorGlyph, bool styleEnabled);
+
+ /**
+ * Get the text rendering shader.
+ * @param[in] factoryCache A pointer pointing to the VisualFactoryCache object
+ * @param[in] hasMultipleTextColors Whether the text contains multiple colors.
+ * @param[in] containsColorGlyph Whether the text contains color glyph.
+ * @param[in] styleEnabled Whether the text contains any styles (e.g. shadow, underline, etc.).
+ */
+ Shader GetTextShader(VisualFactoryCache& factoryCache, bool hasMultipleTextColors, bool containsColorGlyph, bool styleEnabled);
+
+ /**
+ * @brief Retrieve the TextVisual object.
+ * @param[in] visual A handle to the TextVisual
+ * @return The TextVisual object
+ */
+ static TextVisual& GetVisualObject(Toolkit::Visual::Base visual)
+ {
+ return static_cast<TextVisual&>(Toolkit::GetImplementation(visual).GetVisualObject());
+ };
+
+private:
+ typedef std::vector<Renderer> RendererContainer;