Allow using wxTextMeasure::GetLargestStringExtent() with wxArrayString.
Change the signature of this method to take the number of strings and the pointer to the first of them instead of wxVector<wxString> as this allows it to be used with all of wxVector<wxString>, wxArrayString and raw arrays of wxStrings. Also return the computed size from it instead of filling output parameters. Closes #14781. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72802 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -158,18 +158,15 @@ void wxTextMeasureBase::GetMultiLineTextExtent(const wxString& text,
|
||||
*heightOneLine = heightLine;
|
||||
}
|
||||
|
||||
void wxTextMeasureBase::GetLargestStringExtent(const wxVector<wxString>& strings,
|
||||
wxCoord *width,
|
||||
wxCoord *height)
|
||||
wxSize wxTextMeasureBase::GetLargestStringExtent(size_t n,
|
||||
const wxString* strings)
|
||||
{
|
||||
MeasuringGuard guard(*this);
|
||||
|
||||
wxCoord w, h, widthMax = 0, heightMax = 0;
|
||||
for ( wxVector<wxString>::const_iterator i = strings.begin();
|
||||
i != strings.end();
|
||||
++i )
|
||||
for ( size_t i = 0; i < n; ++i )
|
||||
{
|
||||
CallGetTextExtent(*i, &w, &h);
|
||||
CallGetTextExtent(strings[i], &w, &h);
|
||||
|
||||
if ( w > widthMax )
|
||||
widthMax = w;
|
||||
@@ -177,10 +174,7 @@ void wxTextMeasureBase::GetLargestStringExtent(const wxVector<wxString>& strings
|
||||
heightMax = h;
|
||||
}
|
||||
|
||||
if ( width )
|
||||
*width = widthMax;
|
||||
if ( height )
|
||||
*height = heightMax;
|
||||
return wxSize(widthMax, heightMax);
|
||||
}
|
||||
|
||||
bool wxTextMeasureBase::GetPartialTextExtents(const wxString& text,
|
||||
|
||||
Reference in New Issue
Block a user