Gfx: Fix that empty strings have a width and/or height with D2D

This commit is contained in:
Birunthan Mohanathas 2013-08-04 21:46:59 +03:00
parent d97128e2ab
commit 5fcf4b785d

View File

@ -29,12 +29,20 @@ DWRITE_TEXT_METRICS GetAdjustedDWriteTextLayoutMetrics(
DWRITE_TEXT_METRICS metrics;
textLayout->GetMetrics(&metrics);
if (gdiEmulation)
if (metrics.width > 0.0f)
{
float size = 0.0f;
textLayout->GetFontSize(0, &size);
metrics.width = floor(metrics.width + (size / 2.05f) + (metrics.width / 55.0f) - 0.5f);
metrics.height = floor(metrics.height + (size / 9.25f) + 0.3f);
if (gdiEmulation)
{
float size = 0.0f;
textLayout->GetFontSize(0, &size);
metrics.width = floor(metrics.width + (size / 2.05f) + (metrics.width / 55.0f) - 0.5f);
metrics.height = floor(metrics.height + (size / 9.25f) + 0.3f);
}
}
else
{
// Get rid of the height that DirectWrite assigns to zero-width strings.
metrics.height = 0.0f;
}
return metrics;