multimediacommscontroller/mmccvideosourcesink/src/mccredrawhandler.cpp
branchRCL_3
changeset 19 3f7c7e6eea8a
parent 11 a5ac35ca6d81
child 20 4da1f672912e
equal deleted inserted replaced
18:817c922b90eb 19:3f7c7e6eea8a
    59 void CMccRedrawHandler::BlackDrawingL( TBool aIsEnabled )
    59 void CMccRedrawHandler::BlackDrawingL( TBool aIsEnabled )
    60     {
    60     {
    61     __V_SOURCESINK_CONTROLL_INT1( "CMccRedrawHandler::BlackDrawingL, enabled:", 
    61     __V_SOURCESINK_CONTROLL_INT1( "CMccRedrawHandler::BlackDrawingL, enabled:", 
    62                                   aIsEnabled )
    62                                   aIsEnabled )
    63     
    63     
       
    64     iDrawBlack = aIsEnabled;
    64     
    65     
    65     if ( DoRedrawing() )
    66     if ( DoRedrawing() )
    66         {
    67         {
    67         StartRedrawing();
    68         StartRedrawing();
    68         }
    69         }
   113     RWindow& aWindow, 
   114     RWindow& aWindow, 
   114     CWindowGc& aGc ) :
   115     CWindowGc& aGc ) :
   115     CActive( CActive::EPriorityStandard ),
   116     CActive( CActive::EPriorityStandard ),
   116     iWsSession( aWsSession ),
   117     iWsSession( aWsSession ),
   117     iWindow( aWindow ),
   118     iWindow( aWindow ),
   118     iGc( aGc )
   119     iGc( aGc ),
       
   120     iDrawBlack( EFalse )
   119     {
   121     {
   120     CActiveScheduler::Add( this );
   122     CActiveScheduler::Add( this );
   121     }
   123     }
   122 
   124 
   123 // -----------------------------------------------------------------------------
   125 // -----------------------------------------------------------------------------
   146         
   148         
   147     iGc.Activate( iWindow ); 
   149     iGc.Activate( iWindow ); 
   148     iWindow.Invalidate( aRect );
   150     iWindow.Invalidate( aRect );
   149     iWindow.BeginRedraw( aRect );
   151     iWindow.BeginRedraw( aRect );
   150 
   152 
   151     if ( iWindow.DisplayMode() >= EColor16MA )
   153     if ( iDrawBlack )
       
   154         {
       
   155         iGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
       
   156         iGc.SetBrushColor( KRgbBlack );
       
   157         iGc.Clear( aRect );
       
   158         iDrawBlack = EFalse;
       
   159         }
       
   160     else if ( iWindow.DisplayMode() >= EColor16MA )
   152         { 
   161         { 
   153         // Need to set alpha mode, otherwise video cannot be seen
   162         // Need to set alpha mode, otherwise video cannot be seen
   154     	iGc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha );
   163     	iGc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha );
   155     	iGc.SetBrushColor( TRgb( 0, 0 ) );
   164     	iGc.SetBrushColor( TRgb( 0, 0 ) );
   156     	iGc.Clear( aRect );
   165     	iGc.Clear( aRect );
   171 // CMccRedrawHandler::DoRedrawing
   180 // CMccRedrawHandler::DoRedrawing
   172 // -----------------------------------------------------------------------------
   181 // -----------------------------------------------------------------------------
   173 //
   182 //
   174 TBool CMccRedrawHandler::DoRedrawing() const
   183 TBool CMccRedrawHandler::DoRedrawing() const
   175     {
   184     {
   176     return ( iWindow.DisplayMode() >= EColor16MA );
   185     return ( iDrawBlack || iWindow.DisplayMode() >= EColor16MA );
   177     }
   186     }
   178 
   187 
   179 // -----------------------------------------------------------------------------
   188 // -----------------------------------------------------------------------------
   180 // CMccRedrawHandler::StartRedrawing
   189 // CMccRedrawHandler::StartRedrawing
   181 // -----------------------------------------------------------------------------
   190 // -----------------------------------------------------------------------------