--- a/uiacceltk/hitchcock/coretoolkit/src/HuiFxEngine.cpp Tue Feb 02 07:56:43 2010 +0200
+++ b/uiacceltk/hitchcock/coretoolkit/src/HuiFxEngine.cpp Fri Mar 19 09:43:21 2010 +0200
@@ -77,6 +77,26 @@
return EFalse;
#endif
}
+
+TBool CHuiFxEngine::FxmlUsesInput1(CHuiFxEffect& aEffect)
+ {
+ RArray<THuiFxVisualSrcType> array;
+ aEffect.FxmlVisualInputs(array);
+
+ TInt c = array.Count();
+ for(TInt i = 0; i<c; i++)
+ {
+ THuiFxVisualSrcType val = array[i];
+ if (val == EVisualSrcInput1)
+ {
+ array.Close();
+ return ETrue;
+ }
+ }
+ array.Close();
+ return EFalse;
+ }
+
EXPORT_C void CHuiFxEngine::RegisterEffectL(const TDesC &aFileName)
{
@@ -150,7 +170,6 @@
#ifdef HUIFX_EFFECTCACHE_ENABLED
CHuiFxEffectCacheEffectNode *node = new (ELeave) CHuiFxEffectCacheEffectNode(aFileName, aEffect, aVisual, &iExtRect, this);
node->SetEffectEndObserver( aEffectEndObserver, aHandle );
- aFlags |= KHuiFxDelayRunUntilFirstFrameHasBeenDrawn;
node->SetEffectFlags( aFlags );
CleanupStack::PushL(node);
iCache->FindOrCreateL(node); // takes ownership
@@ -206,7 +225,6 @@
aFlags |= KHuiFxWaitGroupSyncronization;
node->SetEffectGroup(aGroup);
}
- aFlags |= KHuiFxDelayRunUntilFirstFrameHasBeenDrawn;
node->SetEffectFlags( aFlags );
CleanupStack::PushL(node);
@@ -347,6 +365,12 @@
CHuiDisplay* display = &CHuiStatic::Env().PrimaryDisplay();
return display->VisibleArea().Size().iHeight; // was DefaultRenderbuffer()->Size().iHeight
}
+ case EReferencePointDisplayHeightMinusVisualTop:
+ {
+ CHuiDisplay* display = &CHuiStatic::Env().PrimaryDisplay();
+ TReal32 height = display->VisibleArea().Size().iHeight; // was DefaultRenderbuffer()->Size().iHeight
+ return height;
+ }
default:
break;
}
@@ -566,6 +590,11 @@
TBool CHuiFxEngine::HasActiveEffects() const
{
+ // Don't report active effects if in SW-rendering mode
+ if(iLowGraphicsMemoryMode) // != Normal
+ {
+ return EFalse;
+ }
return iActiveEffects.Count() > 0;
}