--- a/uiacceltk/hitchcock/coretoolkit/src/HuiLayout.cpp Thu Aug 19 10:48:02 2010 +0300
+++ b/uiacceltk/hitchcock/coretoolkit/src/HuiLayout.cpp Tue Aug 31 16:07:35 2010 +0300
@@ -494,7 +494,7 @@
}
}
- if(iOpacity.Now() <= EPSILON && !Effect())
+ if(iOpacity.Now() <= EPSILON && (Effect() && !Effect()->IsSemitransparent()))
{
// This will not be visible due to being completely transparent.
return;
@@ -540,33 +540,12 @@
if (canUseEffectDrawing)
{
- Effectable()->EffectSetOpacityAdditive(0.0f, ETrue);
- // PrepareDrawL will update iEffectOpacity for current frame
- if(Effect()->PrepareDrawL(aGc, area))
- {
- if(iEffectOpacity <= 0.f)
- {
- if(Clipping())
- {
- // Restore original clipping rectangle.
- aGc.PopClip();
- }
-
-
- DrawBrushes(aGc, EHuiBrushLayerForeground);
-
- // Restore original transformation.
- Transform(aGc, EFalse);
- EnterLocalProjection(aGc, EFalse);
- return;
- }
-
- // Note that EHuiVisualFlagOpaqueHint improves performance a lot in cached effect drawing
- TBool transparent = !(Flags() & EHuiVisualFlagOpaqueHint) && iOpacity.Now() < 1.0f;
- TBool refreshCache = Changed();
- didDrawEffect = Effect()->CachedDraw(aGc, area, refreshCache, !transparent);
- }
+ // Note that EHuiVisualFlagOpaqueHint improves performance a lot in cached effect drawing
+ TBool transparent = !(Flags() & EHuiVisualFlagOpaqueHint) && iOpacity.Now() < 1.0f;
+ TBool refreshCache = Changed();
+ didDrawEffect = Effect()->CachedDraw(aGc, area, refreshCache, !transparent);
}
+
if ( !didDrawEffect )
{
// huilayout does not draw itself, only children.