{
case Toolkit::TextLabel::Property::RENDERING_BACKEND:
{
- const int backend = value.Get< int >();
+ int backend = value.Get< int >();
+#ifndef ENABLE_VECTOR_BASED_TEXT_RENDERING
+ if( Text::RENDERING_VECTOR_BASED == backend )
+ {
+ backend = TextAbstraction::BITMAP_GLYPH; // Fallback to bitmap-based rendering
+ }
+#endif
if( impl.mRenderingBackend != backend )
{
impl.mRenderingBackend = backend;
impl.mRenderer.Reset();
- impl.RequestTextRelayout();
+
+ if( impl.mController )
+ {
+ // When using the vector-based rendering, the size of the GLyphs are different
+ TextAbstraction::GlyphType glyphType = (Text::RENDERING_VECTOR_BASED == impl.mRenderingBackend) ? TextAbstraction::VECTOR_GLYPH : TextAbstraction::BITMAP_GLYPH;
+ impl.mController->SetGlyphType( glyphType );
+ }
}
break;
}
mController = Text::Controller::New( *this );
+ // When using the vector-based rendering, the size of the GLyphs are different
+ TextAbstraction::GlyphType glyphType = (Text::RENDERING_VECTOR_BASED == mRenderingBackend) ? TextAbstraction::VECTOR_GLYPH : TextAbstraction::BITMAP_GLYPH;
+ mController->SetGlyphType( glyphType );
+
// Use height-for-width negotiation by default
self.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH );
self.SetResizePolicy( ResizePolicy::DIMENSION_DEPENDENCY, Dimension::HEIGHT );
if( renderableActor )
{
+ // TODO: Scroll and alignment needs to be refactored.
const Vector2& alignmentOffset = mController->GetAlignmentOffset();
- renderableActor.SetPosition( alignmentOffset.x, alignmentOffset.y );
+ renderableActor.SetPosition( 0.f, alignmentOffset.y );
self.Add( renderableActor );
}