]> git.saurik.com Git - wxWidgets.git/commitdiff
Put back wxMSW's wxStaticBitmap::DoGetBestSize because GetBitmap (used
authorRobin Dunn <robin@alldunn.com>
Wed, 7 Apr 2004 22:41:34 +0000 (22:41 +0000)
committerRobin Dunn <robin@alldunn.com>
Wed, 7 Apr 2004 22:41:34 +0000 (22:41 +0000)
in base DoGBS) is not able to be called until the control is fully
constructed

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26662 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/msw/statbmp.h
src/msw/statbmp.cpp

index 49734fd44311e4652bd852b12b712b646bc40869..e778d2e373daef075fb0ba4665c618a4b61acbaf 100644 (file)
@@ -78,6 +78,7 @@ public:
 
 protected:
     virtual wxBorder GetDefaultBorder() const;
+    virtual wxSize DoGetBestSize() const;
     virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
 
     // ctor/dtor helpers
index 14adf39e01d5b42382bfc6bd70b297cb1bab1a12..a584ebac96c1efb4be93bc6530834ea03f43a3c2 100644 (file)
@@ -167,6 +167,9 @@ bool wxStaticBitmap::Create(wxWindow *parent,
     // no need to delete the new image
     SetImageNoCopy(image);
 
+    // GetBestSize will work properly now, so set the best size if needed
+    SetBestSize(size);
+    
     return TRUE;
 }
 
@@ -201,6 +204,15 @@ void wxStaticBitmap::Free()
     m_image = NULL;
 }
 
+wxSize wxStaticBitmap::DoGetBestSize() const
+{
+    if ( ImageIsOk() )
+        return wxSize(m_image->GetWidth(), m_image->GetHeight());
+
+    // this is completely arbitrary
+    return wxSize(16, 16);
+}
+
 void wxStaticBitmap::SetImage( const wxGDIImage* image )
 {
     wxGDIImage* convertedImage = ConvertImage( *image );