void wxSkinWindow::OnPaint(wxPaintEvent& e) { wxBufferedPaintDC dcp(this); if(m_bScaleFill) { int h, w; GetSize(&h,&w); if(m_bInside && bmp_over.ISOK()) dcp.DrawBitmap(wxBitmap(bmp_over.Scale(h, w)),0,0,true); else if(IsEnabled() && bmp_normal.ISOK()) dcp.DrawBitmap(wxBitmap(bmp_normal.Scale(h, w)),0,0,true); else if( bmp_disabled.ISOK() ) dcp.DrawBitmap(wxBitmap(bmp_disabled.Scale(h, w)),0,0,true); } else { if(m_bInside && bmp_over.ISOK()) dcp.DrawBitmap(bmp_over,0,0,true); if(IsEnabled() && bmp_normal.ISOK()) dcp.DrawBitmap(bmp_normal,0,0,true); else if( bmp_disabled.ISOK() ) dcp.DrawBitmap(bmp_disabled,0,0,true); } DrawCustom(dcp); }
void wxSkinWindow::OnPaint(wxPaintEvent& e) { wxBufferedPaintDC dcp(this); wxSize size = GetSize(); if(m_inside && m_imageOver.IsOk()) { dcp.DrawBitmap(m_scaleFill ? wxBitmap(m_imageOver.Scale(size.x, size.y)) : m_imageOver, 0, 0, true); } else if(IsEnabled() && (m_imageNormal.IsOk() || m_imageFocus.IsOk())) { if(m_imageFocus.IsOk() && HasFocus()) dcp.DrawBitmap(m_scaleFill ? wxBitmap(m_imageFocus.Scale(size.x, size.y)) : m_imageFocus, 0, 0, true); else dcp.DrawBitmap(m_scaleFill ? wxBitmap(m_imageNormal.Scale(size.x, size.y)) : m_imageNormal, 0, 0, true); } else if(m_imageDisabled.IsOk()) { dcp.DrawBitmap(m_scaleFill ? wxBitmap(m_imageDisabled.Scale(size.x, size.y)) : m_imageDisabled, 0, 0, true); } DrawCustom(dcp); }