diff -r dec420019252 -r 7d91903f795f videoplayback/videoplaybackcontrols/src/mpxvideoplaybackbutton.cpp --- a/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackbutton.cpp Tue Feb 02 00:12:10 2010 +0200 +++ b/videoplayback/videoplaybackcontrols/src/mpxvideoplaybackbutton.cpp Fri Feb 19 22:52:52 2010 +0200 @@ -15,7 +15,7 @@ * */ -// Version : %version: 8 % +// Version : %version: 9 % @@ -39,11 +39,13 @@ // Symbian 2nd phase constructor can leave. // ------------------------------------------------------------------------------------------------- // -void CMPXVideoPlaybackButton::ConstructL( TRect aRect, const TDesC &aIconPath ) +void CMPXVideoPlaybackButton::ConstructL( CMPXVideoPlaybackControlsController* aController, + TRect aRect, const TDesC &aIconPath ) { MPX_DEBUG(_L("CMPXVideoPlaybackButton::ConstructL()")); iIConPath = aIconPath.AllocL(); + iController = aController; SetRect( aRect ); } @@ -53,14 +55,15 @@ // Two-phased constructor. // ------------------------------------------------------------------------------------------------- // -CMPXVideoPlaybackButton* CMPXVideoPlaybackButton::NewL( TRect aRect, const TDesC &aIconPath) +CMPXVideoPlaybackButton* CMPXVideoPlaybackButton::NewL( CMPXVideoPlaybackControlsController* aController, + TRect aRect, const TDesC &aIconPath) { MPX_DEBUG(_L("CMPXVideoPlaybackButton::NewL()")); CMPXVideoPlaybackButton* self = new ( ELeave ) CMPXVideoPlaybackButton(); CleanupStack::PushL( self ); - self->ConstructL( aRect, aIconPath ); + self->ConstructL( aController, aRect, aIconPath ); CleanupStack::Pop(); return self; } @@ -193,17 +196,20 @@ CWindowGc& gc = SystemGc(); gc.SetClippingRect( aRect ); - if ( Window().DisplayMode() == EColor16MAP ) + if ( iController->SetBackgroundBlack() ) { - gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); - gc.SetBrushColor( TRgb::Color16MAP( 255 ) ); - gc.Clear( aRect ); - } - else if ( Window().DisplayMode() == EColor16MA ) - { - gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); - gc.SetBrushColor( TRgb::Color16MA( 0 ) ); - gc.Clear( aRect ); + if ( Window().DisplayMode() == EColor16MAP ) + { + gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); + gc.SetBrushColor( TRgb::Color16MAP( 255 ) ); + gc.Clear( aRect ); + } + else if ( Window().DisplayMode() == EColor16MA ) + { + gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); + gc.SetBrushColor( TRgb::Color16MA( 0 ) ); + gc.Clear( aRect ); + } } else {