private void renderText( dfRenderData buffer )
{
if( selectedIndex < 0 || selectedIndex >= items.Length )
return;
var selectedItem = items[ selectedIndex ];
var p2u = PixelsToUnits();
var maxSize = new Vector2( size.x - textFieldPadding.horizontal, this.size.y - textFieldPadding.vertical );
var pivotOffset = pivot.TransformToUpperLeft( Size );
var origin = new Vector3(
pivotOffset.x + textFieldPadding.left,
pivotOffset.y - textFieldPadding.top,
0
) * p2u;
var renderColor = IsEnabled ? TextColor : DisabledTextColor;
using( var textRenderer = font.ObtainRenderer() )
{
textRenderer.WordWrap = false;
textRenderer.MaxSize = maxSize;
textRenderer.PixelRatio = p2u;
textRenderer.TextScale = TextScale;
textRenderer.VectorOffset = origin;
textRenderer.MultiLine = false;
textRenderer.TextAlign = TextAlignment.Left;
textRenderer.ProcessMarkup = true;
textRenderer.DefaultColor = renderColor;
textRenderer.OverrideMarkupColors = false;
textRenderer.Opacity = this.CalculateOpacity();
textRenderer.Shadow = this.Shadow;
textRenderer.ShadowColor = this.ShadowColor;
textRenderer.ShadowOffset = this.ShadowOffset;
var dynamicFontRenderer = textRenderer as dfDynamicFont.DynamicFontRenderer;
if( dynamicFontRenderer != null )
{
dynamicFontRenderer.SpriteAtlas = this.Atlas;
dynamicFontRenderer.SpriteBuffer = buffer;
}
textRenderer.Render( selectedItem, buffer );
}
}