Allow initialising wxStaticBitamp with wxNullBitmap/wxNullIcon,
automatically resize the control to match the bitmap (as wxMSW does). git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20749 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
ffa3d6b8a3
commit
c8ec0b3d36
@ -69,9 +69,9 @@ bool wxStaticBitmap::Create(wxWindow *parent, wxWindowID id,
|
||||
wxSize actualSize(size);
|
||||
// work around the cases where the bitmap is a wxNull(Icon/Bitmap)
|
||||
if (actualSize.x == -1)
|
||||
actualSize.x = bitmap.GetWidth() ? bitmap.GetWidth() : 1;
|
||||
actualSize.x = bitmap.Ok() ? bitmap.GetWidth() : 1;
|
||||
if (actualSize.y == -1)
|
||||
actualSize.y = bitmap.GetHeight() ? bitmap.GetHeight() : 1;
|
||||
actualSize.y = bitmap.Ok() ? bitmap.GetHeight() : 1;
|
||||
AttachWidget (parent, m_mainWidget, (WXWidget) NULL,
|
||||
pos.x, pos.y, actualSize.x, actualSize.y);
|
||||
|
||||
@ -86,9 +86,7 @@ wxStaticBitmap::~wxStaticBitmap()
|
||||
void wxStaticBitmap::DoSetBitmap()
|
||||
{
|
||||
Widget widget = (Widget) m_mainWidget;
|
||||
int x, y, w1, h1, w2, h2;
|
||||
|
||||
GetPosition(&x, &y);
|
||||
int w2, h2;
|
||||
|
||||
if (m_messageBitmapOriginal.Ok())
|
||||
{
|
||||
@ -123,10 +121,8 @@ void wxStaticBitmap::DoSetBitmap()
|
||||
XmNlabelPixmap, pixmap,
|
||||
XmNlabelType, XmPIXMAP,
|
||||
NULL);
|
||||
GetSize(&w1, &h1);
|
||||
|
||||
if (! (w1 == w2) && (h1 == h2))
|
||||
SetSize(x, y, w2, h2);
|
||||
SetSize(w2, h2);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user