Commit 9d5e75a7 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Merge branch 1.0-bugfix into master

parents b13a8009 f56161ec
...@@ -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
......
...@@ -92,7 +92,6 @@ static int Open (vlc_object_t *obj, const char *varname, bool ptr) ...@@ -92,7 +92,6 @@ static int Open (vlc_object_t *obj, const char *varname, bool ptr)
else else
val = (void *)(uintptr_t)var_GetInteger (obj, varname); val = (void *)(uintptr_t)var_GetInteger (obj, varname);
var_Destroy (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 /* Keep a list of busy drawables, so we don't overlap videos if there are
* more than one video track in the stream. */ * more than one video track in the stream. */
...@@ -123,7 +122,6 @@ skip: ...@@ -123,7 +122,6 @@ skip:
val = NULL; val = NULL;
} }
vlc_mutex_unlock (&serializer); vlc_mutex_unlock (&serializer);
msg_Err (wnd, "%zu, %p", n, val);
if (val == NULL) if (val == NULL)
return VLC_EGENERIC; return VLC_EGENERIC;
......
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