equal
deleted
inserted
replaced
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 |