uiacceltk/hitchcock/coretoolkit/src/HuiDisplay.cpp
branchRCL_3
changeset 7 88b23e2e82e1
parent 6 10534483575f
child 8 46927d61fef3
equal deleted inserted replaced
6:10534483575f 7:88b23e2e82e1
   634     
   634     
   635     // Prevent display refresh, if the display is on background.
   635     // Prevent display refresh, if the display is on background.
   636     if(!iOnForeground || IsScreenBufferLocked())
   636     if(!iOnForeground || IsScreenBufferLocked())
   637         {
   637         {
   638         return EFalse;
   638         return EFalse;
       
   639         }
       
   640     
       
   641     if (!iForegroundTextureTransparency && iForegroundTexture)
       
   642         {
       
   643         // When we can blit foreground texture, we shouldn't need any textures in skin side.
       
   644         iEnv.Skin().ReleaseCachedTextures();
   639         }
   645         }
   640     
   646     
   641     TBool useDirtyRects = (RenderSurface().Flags() & MHuiRenderSurface::EFlagUseDirtyRects) 
   647     TBool useDirtyRects = (RenderSurface().Flags() & MHuiRenderSurface::EFlagUseDirtyRects) 
   642     					  == MHuiRenderSurface::EFlagUseDirtyRects;
   648     					  == MHuiRenderSurface::EFlagUseDirtyRects;
   643  	
   649  	
   849         ClipDirtyRect(dirtyRect, VisibleAreaClippingRect());
   855         ClipDirtyRect(dirtyRect, VisibleAreaClippingRect());
   850         
   856         
   851         iGc->PushClip();
   857         iGc->PushClip();
   852         iGc->Clip(dirtyRect);        
   858         iGc->Clip(dirtyRect);        
   853         
   859         
   854         if ( iForegroundBitmapGc )
   860         if ( iForegroundBitmapGc && !RosterImpl().IsVisibleContentFrozen() )
   855             {
   861             {
   856             // If we are in SW rendering mode, then SW bitmap may be blended.
   862             // If we are in SW rendering mode, then SW bitmap may be blended.
   857             // However, it's possible that nothing is drawn below, so clear
   863             // However, it's possible that nothing is drawn below, so clear
   858             // background.
   864             // background.
   859             const TRgb oldBgColor = iBackgroundColor;
   865             const TRgb oldBgColor = iBackgroundColor;
  1626     }
  1632     }
  1627 
  1633 
  1628 EXPORT_C void CHuiDisplay::SetForegroundTextureOptions(TBool aTransparency)
  1634 EXPORT_C void CHuiDisplay::SetForegroundTextureOptions(TBool aTransparency)
  1629     {
  1635     {
  1630     iForegroundTextureTransparency = aTransparency;
  1636     iForegroundTextureTransparency = aTransparency;
       
  1637 
       
  1638     if (!iForegroundTextureTransparency && iForegroundTexture)
       
  1639         {
       
  1640         // When we can blit foreground texture, we shouldn't need any textures in skin side.
       
  1641         iEnv.Skin().ReleaseCachedTextures();
       
  1642         }
  1631     }
  1643     }
  1632 
  1644 
  1633 void CHuiDisplay::UpdateForegroundTexture(const TRect& aRect)
  1645 void CHuiDisplay::UpdateForegroundTexture(const TRect& aRect)
  1634     {
  1646     {
  1635     if (iForegroundTexture && iForegroundBitmap && !aRect.IsEmpty())
  1647     if (iForegroundTexture && iForegroundBitmap && !aRect.IsEmpty())
  1655         }
  1667         }
  1656     }
  1668     }
  1657 
  1669 
  1658 void CHuiDisplay::DrawForegroundTexture()
  1670 void CHuiDisplay::DrawForegroundTexture()
  1659     {
  1671     {
  1660     if (iForegroundTexture)
  1672     if (iForegroundTexture && !RosterImpl().IsVisibleContentFrozen() )
  1661         {
  1673         {
  1662         THuiQuality originalQuality = iGc->Quality();
  1674         THuiQuality originalQuality = iGc->Quality();
  1663         if ( originalQuality != EHuiQualityFast )
  1675         if ( originalQuality != EHuiQualityFast )
  1664             {
  1676             {
  1665             // Enforce fast quality to be used - we want one to one mapping
  1677             // Enforce fast quality to be used - we want one to one mapping