--- a/multimediacommscontroller/mmccvideosourcesink/src/mccredrawhandler.cpp Thu Aug 19 10:18:22 2010 +0300
+++ b/multimediacommscontroller/mmccvideosourcesink/src/mccredrawhandler.cpp Tue Aug 31 15:35:13 2010 +0300
@@ -61,6 +61,7 @@
__V_SOURCESINK_CONTROLL_INT1( "CMccRedrawHandler::BlackDrawingL, enabled:",
aIsEnabled )
+ iDrawBlack = aIsEnabled;
if ( DoRedrawing() )
{
@@ -115,7 +116,8 @@
CActive( CActive::EPriorityStandard ),
iWsSession( aWsSession ),
iWindow( aWindow ),
- iGc( aGc )
+ iGc( aGc ),
+ iDrawBlack( EFalse )
{
CActiveScheduler::Add( this );
}
@@ -148,7 +150,14 @@
iWindow.Invalidate( aRect );
iWindow.BeginRedraw( aRect );
- if ( iWindow.DisplayMode() >= EColor16MA )
+ if ( iDrawBlack )
+ {
+ iGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
+ iGc.SetBrushColor( KRgbBlack );
+ iGc.Clear( aRect );
+ iDrawBlack = EFalse;
+ }
+ else if ( iWindow.DisplayMode() >= EColor16MA )
{
// Need to set alpha mode, otherwise video cannot be seen
iGc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha );
@@ -173,7 +182,7 @@
//
TBool CMccRedrawHandler::DoRedrawing() const
{
- return ( iWindow.DisplayMode() >= EColor16MA );
+ return ( iDrawBlack || iWindow.DisplayMode() >= EColor16MA );
}
// -----------------------------------------------------------------------------