diff -r 7c5dd702d6d3 -r f93c875b566e uiacceltk/hitchcock/coretoolkit/src/HuiDisplay.cpp --- a/uiacceltk/hitchcock/coretoolkit/src/HuiDisplay.cpp Tue May 11 17:03:00 2010 +0300 +++ b/uiacceltk/hitchcock/coretoolkit/src/HuiDisplay.cpp Tue May 25 13:39:57 2010 +0300 @@ -582,6 +582,11 @@ } // We must only transform the (new) dirtyregion, not combine or anything else here aDirtyRegion = transformedNewDirtyRect; + + if(iScanningAlfContent) + { + SetAlfContentChanged(ETrue); + } } @@ -633,6 +638,7 @@ startTime.UniversalTime(); #endif + SetAlfContentChanged(EFalse); // Prevent display refresh, if the display is on background. if(!iOnForeground || IsScreenBufferLocked()) @@ -1612,6 +1618,21 @@ #endif } +void CHuiDisplay::ScanningAlfContent(TBool aScanning ) + { + iScanningAlfContent = aScanning; + } + +void CHuiDisplay::SetAlfContentChanged(TBool aChanged) + { + iDisplayContainsChangedAlfContent = aChanged; + } + +TBool CHuiDisplay::AlfContentChanged() + { + return iDisplayContainsChangedAlfContent; + } + void CHuiDisplay::ClipDirtyRect(TRect& aRect, TRect aClippingRect) { if (aRect.Intersects(aClippingRect)) @@ -1771,36 +1792,33 @@ void CHuiDisplay::DoBackgroundClear() { - if(iForegroundTextureTransparency) // alf application is visible -> clear background as requested + // Clear background for the dirty area + TRect dirtyRect = iTempDirtyRegions[iCurrentDirtyIndx]; + if (iBackgroundItems.Count() != 0) { - // Clear background for the dirty area - TRect dirtyRect = iTempDirtyRegions[iCurrentDirtyIndx]; - if (iBackgroundItems.Count() != 0) + ClearWithBackgroundItems(dirtyRect); + } + else + { + switch (iClearBackground) { - ClearWithBackgroundItems(dirtyRect); - } - else - { - switch (iClearBackground) + case EClearWithColor: { - case EClearWithColor: - { - ClearWithColor(dirtyRect); - break; - } - case EClearWithSkinBackground: - { - ClearWithSkinBackground(dirtyRect); - break; - } - case EClearNone: - default: - { - // Don't do anything - break; - } - } - } + ClearWithColor(dirtyRect); + break; + } + case EClearWithSkinBackground: + { + ClearWithSkinBackground(dirtyRect); + break; + } + case EClearNone: + default: + { + // Don't do anything + break; + } + } } }