public override void Draw( float offsetX, float offsetY, Renderer2D renderer) { float margin = BorderEnabled ? (2f * BorderWidth) : 0f; float x = offsetX + LocalLeftX + margin; float y = offsetY + LocalTopY + Height - margin; // 下端から上へ向かって描画する int lineCount = lines.Length; int lineIndex = 0; while (lineIndex < lineCount) { int index = nextLinePos - 1 - lineIndex; if (index < 0) { index += lineCount; } else if (index >= lineCount) { index -= lineCount; } if (lines[index] != null) { renderer.Color = colors[index]; var addedLineCount = renderer.AddText( lines[index], x, y, fontSize, Width - (2f * margin), y - margin - (offsetY + LocalTopY), AlignX.Left, AlignY.Bottom); y -= renderer.CalcLineHeight(fontSize) * addedLineCount; } lineIndex++; } }