+void VisualModel::SetTextColor( const Vector4& textColor )
+{
+ mTextColor = textColor;
+
+ if ( !mUnderlineColorSet )
+ {
+ mUnderlineColor = textColor;
+ }
+}
+
+void VisualModel::SetShadowOffset( const Vector2& shadowOffset )
+{
+ mShadowOffset = shadowOffset;
+}
+
+void VisualModel::SetShadowColor( const Vector4& shadowColor )
+{
+ mShadowColor = shadowColor;
+}
+
+void VisualModel::SetUnderlineColor( const Vector4& color )
+{
+ mUnderlineColor = color;
+ mUnderlineColorSet = true;
+}
+
+void VisualModel::SetUnderlineEnabled( bool enabled )
+{
+ mUnderlineEnabled = enabled;
+}
+
+void VisualModel::SetUnderlineHeight( float height )
+{
+ mUnderlineHeight = height;
+}
+
+const Vector4& VisualModel::GetTextColor() const
+{
+ return mTextColor;
+}
+
+const Vector2& VisualModel::GetShadowOffset() const
+{
+ return mShadowOffset;
+}
+
+const Vector4& VisualModel::GetShadowColor() const
+{
+ return mShadowColor;
+}
+
+const Vector4& VisualModel::GetUnderlineColor() const
+{
+ return mUnderlineColor;
+}
+
+bool VisualModel::IsUnderlineEnabled() const
+{
+ return mUnderlineEnabled;
+}
+
+float VisualModel::GetUnderlineHeight() const
+{
+ return mUnderlineHeight;
+}
+
+void VisualModel::ClearCaches()
+{
+ mCachedLineIndex = 0u;
+}
+