GDI+: Add trailing whitespace when measuring text (similar to 32fc794)

This commit is contained in:
Brian Ferguson 2013-07-13 10:16:35 -06:00
parent 239e61fd14
commit 6e9bc98d0b
2 changed files with 4 additions and 3 deletions

View File

@ -181,7 +181,7 @@ bool CanvasGDIP::MeasureTextLinesW(const WCHAR* str, UINT strLen, const TextForm
stringFormat.SetTrimming(Gdiplus::StringTrimmingNone); stringFormat.SetTrimming(Gdiplus::StringTrimmingNone);
const INT stringFormatFlags = stringFormat.GetFormatFlags(); const INT stringFormatFlags = stringFormat.GetFormatFlags();
stringFormat.SetFormatFlags(Gdiplus::StringFormatFlagsNoClip); stringFormat.SetFormatFlags(Gdiplus::StringFormatFlagsMeasureTrailingSpaces | Gdiplus::StringFormatFlagsNoClip);
INT linesFilled = 0; INT linesFilled = 0;
const Gdiplus::Status status = m_Graphics->MeasureString( const Gdiplus::Status status = m_Graphics->MeasureString(

View File

@ -101,12 +101,13 @@ void TextFormatGDIP::SetTrimming(bool trim)
if (trim) if (trim)
{ {
m_StringFormat.SetTrimming(Gdiplus::StringTrimmingEllipsisCharacter); m_StringFormat.SetTrimming(Gdiplus::StringTrimmingEllipsisCharacter);
m_StringFormat.SetFormatFlags(0x0); m_StringFormat.SetFormatFlags(Gdiplus::StringFormatFlagsMeasureTrailingSpaces);
} }
else else
{ {
m_StringFormat.SetTrimming(Gdiplus::StringTrimmingNone); m_StringFormat.SetTrimming(Gdiplus::StringTrimmingNone);
m_StringFormat.SetFormatFlags(Gdiplus::StringFormatFlagsNoClip | Gdiplus::StringFormatFlagsNoWrap); m_StringFormat.SetFormatFlags(Gdiplus::StringFormatFlagsMeasureTrailingSpaces |
Gdiplus::StringFormatFlagsNoClip | Gdiplus::StringFormatFlagsNoWrap);
} }
} }