Return non-zero height from GetMultiLineTextExtent("") in wxMSW

This restores the previous behaviour inadvertently changed by bfeae1922d
(Minor optimizations in GetMultiLineTextExtent(), 2020-06-10) and makes
it official by documenting it and adding tests checking for it.

It wasn't completely obviously if this was intentional or accidental
before, but at least wxStaticText itself relied on the old behaviour,
and chances are that so did some code outside the library, so make this
part of the API now.

See #18825.
This commit is contained in:
Vadim Zeitlin
2020-07-15 01:23:29 +02:00
parent 46d6866c9f
commit d57c688d89
3 changed files with 19 additions and 1 deletions

View File

@@ -77,6 +77,12 @@ TEST_CASE("wxDC::GetTextExtent", "[dc][text-extent]")
CHECK( dc.GetMultiLineTextExtent("Good\nbye").y >= 2*sz.y );
// Check that empty lines get counted
CHECK( dc.GetMultiLineTextExtent("\n\n\n").y >= 3*sz.y );
// And even empty strings count like one line.
CHECK( dc.GetMultiLineTextExtent(wxString()) == wxSize(0, sz.y) );
// Test the functions with some other DC kinds also.
#if wxUSE_PRINTING_ARCHITECTURE && wxUSE_POSTSCRIPT
wxPostScriptDC psdc;