Commit f56161ec authored by Erwan Tulou's avatar Erwan Tulou Committed by Jean-Baptiste Kempf

skins2 : fully support transparency for buttons.

Signed-off-by: default avatarJean-Baptiste Kempf <jb@videolan.org>
parent 31526d52
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
AnimBitmap::AnimBitmap( intf_thread_t *pIntf, const GenericBitmap &rBitmap ): AnimBitmap::AnimBitmap( intf_thread_t *pIntf, const GenericBitmap &rBitmap ):
SkinObject( pIntf ), m_pImage( NULL ), m_curFrame( 0 ), m_pTimer( NULL ), SkinObject( pIntf ), m_pImage( NULL ), m_curFrame( 0 ), m_pTimer( NULL ),
m_cmdNextFrame( this ) m_cmdNextFrame( this ), m_rBitmap( rBitmap )
{ {
// Build the graphics // Build the graphics
OSFactory *pOsFactory = OSFactory::instance( pIntf ); OSFactory *pOsFactory = OSFactory::instance( pIntf );
...@@ -73,8 +73,14 @@ void AnimBitmap::draw( OSGraphics &rImage, int xDest, int yDest ) ...@@ -73,8 +73,14 @@ void AnimBitmap::draw( OSGraphics &rImage, int xDest, int yDest )
// Draw the current frame // Draw the current frame
int height = m_pImage->getHeight() / m_nbFrames; int height = m_pImage->getHeight() / m_nbFrames;
int ySrc = height * m_curFrame; 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 );
} }
......
...@@ -59,6 +59,8 @@ class AnimBitmap: public SkinObject, public Box, ...@@ -59,6 +59,8 @@ class AnimBitmap: public SkinObject, public Box,
virtual int getHeight() const; virtual int getHeight() const;
private: private:
/// Bitmap stored
const GenericBitmap &m_rBitmap;
/// Graphics to store the bitmap /// Graphics to store the bitmap
OSGraphics *m_pImage; OSGraphics *m_pImage;
/// Number of frames /// Number of frames
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment