/*
* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:
*
*/
#include "HuiFxLayer.h"
EXPORT_C CHuiFxLayer::CHuiFxLayer() :
iLayerType( ELayerTypeUnknown )
{
#ifdef HUIFX_TRACE
RDebug::Print(_L("CHuiFxLayer::CHuiFxLayer - 0x%x "), this);
#endif
}
EXPORT_C CHuiFxLayer::~CHuiFxLayer()
{
#ifdef HUIFX_TRACE
RDebug::Print(_L("CHuiFxLayer::~CHuiFxLayer - 0x%x "), this);
#endif
}
EXPORT_C void CHuiFxLayer::ConstructL( THuiFxLayerType aType )
{
iBlendingOp = EBlendingModeReplace;
iLayerType = aType;
iSourceRect = TRect(0, 0, 0, 0);
iTargetRect = TRect(0, 0, 0, 0);
iVisualRect = TRect(0, 0, 0, 0);
iAnimated = EFalse;
iTransformed = EFalse;
iMarginEnabled = ETrue;
}
EXPORT_C void CHuiFxLayer::CopyFromL(const CHuiFxLayer *aOldLayer)
{
iBlendingOp = aOldLayer->iBlendingOp;
iLayerType = aOldLayer->iLayerType;
iSourceRect = aOldLayer->iSourceRect;
iTargetRect = aOldLayer->iTargetRect;
iVisualRect = aOldLayer->iVisualRect;
iAnimated = aOldLayer->iAnimated;
iTransformed = aOldLayer->iTransformed;
iMarginEnabled = aOldLayer->iMarginEnabled;
}
EXPORT_C TBool CHuiFxLayer::PrepareDrawL(CHuiFxEngine& /*aEngine*/)
{
// Nothing to do
return ETrue;
}
EXPORT_C void CHuiFxLayer::ReleaseAllCachedRenderTargets(CHuiFxEngine& /*aEngine*/)
{
// Nothing to do
}
EXPORT_C TBool CHuiFxLayer::VisualArea( TRect& /*aRect*/ )
{
// No area in base class
return EFalse;
}
EXPORT_C TBool CHuiFxLayer::Margin( TMargins & /* aMargin */ )
{
// empty implementation in base class
return EFalse;
}
EXPORT_C TBool CHuiFxLayer::Changed() const
{
return EFalse;
}
EXPORT_C void CHuiFxLayer::AdvanceTime(TReal32 /*aElapsedTime*/)
{
// Nothing to do
}
EXPORT_C THuiFxLayerType CHuiFxLayer::Type()
{
return iLayerType;
}
EXPORT_C void CHuiFxLayer::SetBlendingMode(THuiFxBlendingMode aOp)
{
iBlendingOp = aOp;
}
EXPORT_C THuiFxBlendingMode CHuiFxLayer::BlendingMode() const
{
return iBlendingOp;
}
EXPORT_C void CHuiFxLayer::SetDisplayArea(const TRect& aRect)
{
iDisplayArea = aRect;
}
EXPORT_C void CHuiFxLayer::SetSourceRect(const TRect& aRect)
{
#ifdef HUIFX_TRACE
RDebug::Print(_L("CHuiFxLayer::SetSourceRect - 0x%x (%d,%d,%d,%d))"), this, aRect.iTl.iX, aRect.iTl.iY, aRect.iBr.iX, aRect.iBr.iY);
#endif
iSourceRect = aRect;
}
EXPORT_C void CHuiFxLayer::SetTargetRect(const TRect& aRect)
{
#ifdef HUIFX_TRACE
RDebug::Print(_L("CHuiFxLayer::SetTargetRect - 0x%x (%d,%d,%d,%d))"), this, aRect.iTl.iX, aRect.iTl.iY, aRect.iBr.iX, aRect.iBr.iY);
#endif
iTargetRect = aRect;
}
EXPORT_C void CHuiFxLayer::SetVisualRect(const TRect& aRect)
{
#ifdef HUIFX_TRACE
RDebug::Print(_L("CHuiFxLayer::SetVisualRect - 0x%x (%d,%d,%d,%d))"), this, aRect.iTl.iX, aRect.iTl.iY, aRect.iBr.iX, aRect.iBr.iY);
#endif
iVisualRect = aRect;
}
EXPORT_C const TRect& CHuiFxLayer::SourceRect() const
{
return iSourceRect;
}
EXPORT_C const TRect& CHuiFxLayer::TargetRect() const
{
return iTargetRect;
}
EXPORT_C const TRect& CHuiFxLayer::VisualRect() const
{
return iVisualRect;
}
TBool CHuiFxLayer::IsAnimated() const
{
return iAnimated;
}
void CHuiFxLayer::SetAnimated(TBool aAnimated)
{
iAnimated = aAnimated;
}
TBool CHuiFxLayer::IsTransformed() const
{
return iTransformed;
}
void CHuiFxLayer::SetTransformed(TBool aTransformed)
{
iTransformed = aTransformed;
}
void CHuiFxLayer::EnableMargin(TBool aEnable)
{
iMarginEnabled = aEnable;
EnableMarginApplyChildren(aEnable);
}
void CHuiFxLayer::EnableMarginApplyChildren(TBool /*aEnable*/)
{
/* empty in baseclass */
}
void CHuiFxLayer::SetVisualContentState(TBool /*aChanged*/, TBool /*aOpaque*/)
{
/* empty in baseclass */
}
TBool CHuiFxLayer::IsMarginEnabled() const
{
return iMarginEnabled;
}
TBool CHuiFxLayer::IsFiltered() const
{
return EFalse;
}
TBool CHuiFxLayer::IsSemitransparent() const
{
return EFalse;
}
TBool CHuiFxLayer::AlwaysReadSurfacePixels() const
{
return iAlwaysReadSurfacePixels;
}
void CHuiFxLayer::SetAlwaysReadSurfacePixels(TBool aAlwaysReadSurfacePixels)
{
iAlwaysReadSurfacePixels = aAlwaysReadSurfacePixels;
}