void wxNewBitmapButton::Reshape( ) { bool wasCreated = mIsCreated; mIsCreated = true; if ( !wasCreated ) { // in the case of loading button from stream, check if we // have non-empty image-file name, load if possible if (!mImageFileName.empty()) { mDepressedBmp.LoadFile( mImageFileName, mImageFileType ); //wxMessageBox("Image Loaded!!!"); } //RenderLabelImages(); RenderAllLabelImages(); wxBitmap* pCurImg = GetStateLabel(); int w = pCurImg->GetWidth(), h = pCurImg->GetHeight(); SetSize( 0,0, w + mMarginX*2, h + mMarginY*2 , 0 ); } }
void wxNewBitmapButton::DrawLabel( wxDC& dc ) { wxBitmap* pCurBmp = GetStateLabel(); if ( pCurBmp == NULL ) { wxSizeEvent evt; OnSize( evt ); // fake it up! //RenderLabelImages(); pCurBmp = GetStateLabel(); } wxMemoryDC mdc; mdc.SelectObject( *pCurBmp ); dc.Blit( mMarginX, mMarginY, pCurBmp->GetWidth(), pCurBmp->GetHeight(), &mdc, 0,0, wxCOPY ); mdc.SelectObject( wxNullBitmap ); }
void wxNewBitmapButton::DrawShade( int outerLevel, wxDC& dc, wxPen& upperLeftSidePen, wxPen& lowerRightSidePen ) { wxBitmap* pBmp = GetStateLabel(); int x = mMarginX - (outerLevel + 2); int y = mMarginY - (outerLevel + 2); int height = pBmp->GetHeight() + (outerLevel + 2)*2 - 1; int width = pBmp->GetWidth() + (outerLevel + 2)*2 - 1; dc.SetPen( upperLeftSidePen ); dc.DrawLine( x,y, x + width, y ); dc.DrawLine( x,y, x, y + height ); dc.SetPen( lowerRightSidePen ); dc.DrawLine( x + width, y, x + width, y + height + 1 ); dc.DrawLine( x, y + height, x + width, y + height ); }