added wxTLWBase::GetDefaultSize() to avoid creating windows with default size unsuitable for the current display size
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26615 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -152,9 +152,10 @@ protected:
|
|||||||
|
|
||||||
// Get the default size for the new window if no explicit size given. If
|
// Get the default size for the new window if no explicit size given. If
|
||||||
// there are better default sizes then these can be changed, just as long
|
// there are better default sizes then these can be changed, just as long
|
||||||
// as they are not too small for TLWs.
|
// as they are not too small for TLWs (and not larger than screen).
|
||||||
static int WidthDefault(int w) { return w == -1 ? 400 : w; }
|
static wxSize GetDefaultSize();
|
||||||
static int HeightDefault(int h) { return h == -1 ? 250 : h; }
|
static int WidthDefault(int w) { return w == -1 ? GetDefaultSize().x : w; }
|
||||||
|
static int HeightDefault(int h) { return h == -1 ? GetDefaultSize().y : h; }
|
||||||
|
|
||||||
// the frame icon
|
// the frame icon
|
||||||
wxIconBundle m_icons;
|
wxIconBundle m_icons;
|
||||||
|
@@ -125,6 +125,30 @@ wxSize wxTopLevelWindowBase::GetMaxSize() const
|
|||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* static */
|
||||||
|
wxSize wxTopLevelWindowBase::GetDefaultSize()
|
||||||
|
{
|
||||||
|
wxSize size = wxGetClientDisplayRect().GetSize();
|
||||||
|
|
||||||
|
// create proportionally bigger windows on small screens
|
||||||
|
if ( size.x >= 1024 )
|
||||||
|
size.x = 400;
|
||||||
|
else if ( size.x >= 800 )
|
||||||
|
size.x = 300;
|
||||||
|
else if ( size.x >= 320 )
|
||||||
|
size.x = 240;
|
||||||
|
|
||||||
|
if ( size.y >= 768 )
|
||||||
|
size.y = 250;
|
||||||
|
else if ( size.y > 200 )
|
||||||
|
{
|
||||||
|
size.y *= 2;
|
||||||
|
size.y /= 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxTopLevelWindow size management: we exclude the areas taken by
|
// wxTopLevelWindow size management: we exclude the areas taken by
|
||||||
// menu/status/toolbars from the client area, so the client area is what's
|
// menu/status/toolbars from the client area, so the client area is what's
|
||||||
|
Reference in New Issue
Block a user