public override Point CalculcateRequiredClientSpace(Point available)
{
if (Font == null) return Point.Zero;
AnalyzeText(available);
int width = 0;
int height = 0;
if (WordWrap)
{
foreach (var line in lines)
{
Vector2 lineSize = Font.MeasureString(line);
width = Math.Max((int)lineSize.X, width);
height += (int)lineSize.Y;
}
}
else
{
if (string.IsNullOrEmpty(Text))
{
return new Point(0, Font.LineSpacing);
}
Vector2 lineSize = Font.MeasureString(Text);
return new Point((int)lineSize.X, (int)lineSize.Y);
}
return new Point(width, height);
}