AnimBitmap::AnimBitmap( intf_thread_t *pIntf, const GenericBitmap &rBitmap ):
SkinObject( pIntf ), m_pImage( NULL ), m_curFrame( 0 ), m_pTimer( NULL ),
- m_cmdNextFrame( this )
+ m_cmdNextFrame( this ), m_rBitmap( rBitmap )
{
// Build the graphics
OSFactory *pOsFactory = OSFactory::instance( pIntf );
// Draw the current frame
int height = m_pImage->getHeight() / m_nbFrames;
int ySrc = height * m_curFrame;
- rImage.drawGraphics( *m_pImage, 0, ySrc, xDest, yDest,
- m_pImage->getWidth(), height );
+
+ // The old way .... transparency was not taken care of
+ // rImage.drawGraphics( *m_pImage, 0, ySrc, xDest, yDest,
+ // m_pImage->getWidth(), height );
+
+ // A new way .... needs to be tested thoroughly
+ rImage.drawBitmap( m_rBitmap, 0, ySrc, xDest, yDest,
+ m_pImage->getWidth(), height, true );
}
else
val = (void *)(uintptr_t)var_GetInteger (obj, varname);
var_Destroy (obj, varname);
- msg_Err (wnd, "%zu, %p", n, val);
/* Keep a list of busy drawables, so we don't overlap videos if there are
* more than one video track in the stream. */
val = NULL;
}
vlc_mutex_unlock (&serializer);
- msg_Err (wnd, "%zu, %p", n, val);
if (val == NULL)
return VLC_EGENERIC;