uiacceltk/hitchcock/coretoolkit/src/HuiFxEngine.cpp
branchRCL_3
changeset 9 3ac8bf5c5014
parent 8 46927d61fef3
equal deleted inserted replaced
8:46927d61fef3 9:3ac8bf5c5014
    75 #endif
    75 #endif
    76 #ifndef HUIFX_EFFECTCACHE_ENABLED
    76 #ifndef HUIFX_EFFECTCACHE_ENABLED
    77     return EFalse;
    77     return EFalse;
    78 #endif
    78 #endif
    79     }
    79     }
       
    80 EXPORT_C TBool CHuiFxEngine::FxmlUsesOpaqueHint(const TDesC &aFileName)
       
    81     {
       
    82 #ifdef HUIFX_EFFECTCACHE_ENABLED
       
    83     return iCache->FxmlUsesOpaqueHint(aFileName);
       
    84 #endif
       
    85 #ifndef HUIFX_EFFECTCACHE_ENABLED
       
    86     return EFalse;
       
    87 #endif    
       
    88     }
    80 
    89 
    81 TBool CHuiFxEngine::FxmlUsesInput1(CHuiFxEffect& aEffect)
    90 TBool CHuiFxEngine::FxmlUsesInput1(CHuiFxEffect& aEffect)
    82     {
    91     {
    83     RArray<THuiFxVisualSrcType> array;
    92     RArray<THuiFxVisualSrcType> array;
    84     aEffect.FxmlVisualInputs(array);
    93     aEffect.FxmlVisualInputs(array);
   285         if (!(effect->EffectFlags() & KHuiFadeEffectFlag) && !effect->Changed())
   294         if (!(effect->EffectFlags() & KHuiFadeEffectFlag) && !effect->Changed())
   286             {
   295             {
   287 #ifdef HUIFX_TRACE
   296 #ifdef HUIFX_TRACE
   288             RDebug::Printf("void CHuiFxEngine::NotifyEffectEndObservers() calling NotifyEffectEndObserver");
   297             RDebug::Printf("void CHuiFxEngine::NotifyEffectEndObservers() calling NotifyEffectEndObserver");
   289 #endif
   298 #endif
   290             effect->NotifyEffectEndObserver();
   299             if (!effect->NotifyEffectEndObserver())
       
   300                 {
       
   301 				// this effect is not in effect cleanupstack and does not have end observer on coretoolkit
       
   302 				// side. However, it might have observer on alf side, that is notified from RemoveEffect.
       
   303 				// Alf clients are responsible for destroying their own effects
       
   304                 RemoveEffect(effect);
       
   305                 }
   291             }
   306             }
   292         }    
   307         }    
   293     }
   308     }
   294 
   309 
   295 EXPORT_C void CHuiFxEngine::AdvanceTime(TReal32 aElapsedTime)
   310 EXPORT_C void CHuiFxEngine::AdvanceTime(TReal32 aElapsedTime)
   364     RDebug::Print(_L("CHuiFxEngine::RemoveEffect - 0x%x "), aEffect);
   379     RDebug::Print(_L("CHuiFxEngine::RemoveEffect - 0x%x "), aEffect);
   365 #endif    
   380 #endif    
   366     TInt i = iActiveEffects.Find(aEffect);
   381     TInt i = iActiveEffects.Find(aEffect);
   367     if (i >= 0)
   382     if (i >= 0)
   368         {
   383         {
       
   384 		// Note, will effecsts will be drawn until they are destroyed. Removing 
       
   385 		// from iActiveEffects list only stops timeline updates.
   369         iActiveEffects.Remove(i);
   386         iActiveEffects.Remove(i);
   370         if (iEffectObserver)
   387         if (iEffectObserver)
   371             {
   388             {
   372             iEffectObserver->EffectComplete(aEffect);
   389             iEffectObserver->EffectComplete(aEffect);
   373             }
   390             }