+ static TextVisualPtr New( VisualFactoryCache& factoryCache, const Property::Map& properties );
+
+ /**
+ * @brief Converts all strings keys in property map to index keys. Property Map can then be merged correctly.
+ * @param[in,out] propertyMap containing string keys or a mix of strings and indexes. Will be changed to index keys.
+ */
+ static void ConvertStringKeysToIndexKeys( Property::Map& propertyMap );
+
+ /**
+ * @brief Retrieve the text's controller.
+ * @param[in] visual The text visual.
+ * @return The text controller
+ */
+ static Text::ControllerPtr GetController( Toolkit::Visual::Base visual )
+ {
+ return GetVisualObject( visual ).mController;
+ };
+
+ /**
+ * @brief Set the index of the animatable text color property.
+ * @param[in] visual The text visual.
+ * @param[in] animatablePropertyIndex The index of the animatable property
+ */
+ static void SetAnimatableTextColorProperty( Toolkit::Visual::Base visual, Property::Index animatablePropertyIndex )
+ {
+ GetVisualObject( visual ).mAnimatableTextColorPropertyIndex = animatablePropertyIndex;
+ };
+
+ /**
+ * @brief Set the flag to trigger the textures to be initialized and renderer to be added to the control.
+ * @param[in] visual The text visual.
+ */
+ static void EnableRendererUpdate( Toolkit::Visual::Base visual )
+ {
+ GetVisualObject( visual ).mRendererUpdateNeeded = true;
+ };
+
+ /**
+ * @brief Instantly updates the renderer
+ * @param[in] visual The text visual.
+ */
+ static void UpdateRenderer( Toolkit::Visual::Base visual )
+ {
+ GetVisualObject( visual ).UpdateRenderer();
+ };