//----------------------------------------------------------------------------- // Purpose: Draw the current image //----------------------------------------------------------------------------- void AnimatingImagePanel::PaintBackground() { if ( m_Frames.IsValidIndex( m_iCurrentImage ) && m_Frames[m_iCurrentImage] != NULL ) { IImage *pImage = m_Frames[m_iCurrentImage]; surface()->DrawSetColor( 255, 255, 255, 255 ); pImage->SetPos(0, 0); if ( m_bScaleImage ) { // Image size is stored in the bitmap, so temporarily set its size // to our panel size and then restore after we draw it. int imageWide, imageTall; pImage->GetSize( imageWide, imageTall ); int wide, tall; GetSize( wide, tall ); pImage->SetSize( wide, tall ); pImage->SetColor( Color( 255,255,255,255 ) ); pImage->Paint(); pImage->SetSize( imageWide, imageTall ); } else { pImage->Paint(); } } }