equal
deleted
inserted
replaced
46 |
46 |
47 #include <coecntrl.h> |
47 #include <coecntrl.h> |
48 #include <uiacceltk/huidisplaybackgrounditem.h> |
48 #include <uiacceltk/huidisplaybackgrounditem.h> |
49 #include "huiskinbackroundlayout.h" |
49 #include "huiskinbackroundlayout.h" |
50 #include "HuiFxEngine.h" |
50 #include "HuiFxEngine.h" |
|
51 #include "huiextension.h" |
51 |
52 |
52 const TUid KHuiInternalFbsBitmapBufferGcUid = {0x2000e5a3}; |
53 const TUid KHuiInternalFbsBitmapBufferGcUid = {0x2000e5a3}; |
53 |
54 |
54 //#define HUI_DEBUG_PRINT_PERFORMANCE_INTERVAL |
55 //#define HUI_DEBUG_PRINT_PERFORMANCE_INTERVAL |
55 |
56 |
930 iRosterObservers[i].NotifyRosterDrawEnd(*this); |
931 iRosterObservers[i].NotifyRosterDrawEnd(*this); |
931 } |
932 } |
932 |
933 |
933 if (iForegroundTexture) |
934 if (iForegroundTexture) |
934 { |
935 { |
|
936 UpdateForegroundTexture(dirtyRect); |
935 DrawForegroundTexture(); |
937 DrawForegroundTexture(); |
936 } |
938 } |
937 |
939 |
938 // Return to the clipping rectangle that was in use previously. |
940 // Return to the clipping rectangle that was in use previously. |
939 iGc->PopClip(); |
941 iGc->PopClip(); |
1618 EXPORT_C CHuiTexture* CHuiDisplay::ForegroundTexture() const |
1620 EXPORT_C CHuiTexture* CHuiDisplay::ForegroundTexture() const |
1619 { |
1621 { |
1620 return iForegroundTexture; |
1622 return iForegroundTexture; |
1621 } |
1623 } |
1622 |
1624 |
|
1625 void CHuiDisplay::UpdateForegroundTexture(const TRect& aRect) |
|
1626 { |
|
1627 if (iForegroundTexture && iForegroundBitmap && !aRect.IsEmpty()) |
|
1628 { |
|
1629 TRAP_IGNORE(DoUpdateForegroundTextureL(aRect)); |
|
1630 } |
|
1631 } |
|
1632 |
|
1633 void CHuiDisplay::DoUpdateForegroundTextureL(const TRect& aRect) |
|
1634 { |
|
1635 // First try to upload with faster mechanism |
|
1636 THuiTexturePartialBitmapUploadParams params; |
|
1637 params.iErrorCode = KErrNotSupported; |
|
1638 params.iRect = aRect; |
|
1639 params.iBitmap = iForegroundBitmap; |
|
1640 TAny* ptr = ¶ms; |
|
1641 |
|
1642 MHuiTexture* texture = iForegroundTexture; |
|
1643 texture->TextureExtension(KHuiTexturePartialBitmapUploadUid, &ptr); |
|
1644 if ( params.iErrorCode != KErrNone ) |
|
1645 { |
|
1646 iForegroundTexture->UploadL(*iForegroundBitmap, NULL); |
|
1647 } |
|
1648 } |
1623 |
1649 |
1624 void CHuiDisplay::DrawForegroundTexture() |
1650 void CHuiDisplay::DrawForegroundTexture() |
1625 { |
1651 { |
1626 if (iForegroundTexture) |
1652 if (iForegroundTexture) |
1627 { |
1653 { |