Change HuiStatic.cpp to avoid VFP instructions in the static initialiser - avoids Bug 3937
/*
* 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:
*
*/
#ifndef HUIFXVISUALLAYER_
#define HUIFXVISUALLAYER_
class CHuiFxParameterManager;
#include "HuiFxLayer.h"
#include "HuiFxParameter.h"
#include "HuiCmdBufferBrush.h" // MHuiEffectable
class CHuiFxVisualLayer: public CHuiFxLayer
{
public:
IMPORT_C static CHuiFxVisualLayer* NewL(MHuiEffectable* aVisual); // param mandatory
IMPORT_C ~CHuiFxVisualLayer();
IMPORT_C TBool PrepareDrawL(CHuiFxEngine& aEngine);
IMPORT_C void ReleaseAllCachedRenderTargets(CHuiFxEngine& aEngine);
IMPORT_C void Draw(CHuiFxEngine& aEngine, CHuiGc& aGc, CHuiFxRenderbuffer& aTarget, CHuiFxRenderbuffer& aSource, TBool aHasSurface);
IMPORT_C TBool VisualArea( TRect& aRect );
IMPORT_C void AdvanceTime(TReal32 aElapsedTime);
IMPORT_C TBool Changed() const;
IMPORT_C TBool Margin(TMargins &m);
IMPORT_C MHuiFxParameter* Parameter(const TDesC& aName);
void SetSourceType( const THuiFxVisualSrcType aSrcType );
THuiFxVisualSrcType SourceType() const;
void SetExtBitmapFileL( TDesC& aFilename );
TBool IsSemitransparent() const;
void SetVisualContentState(TBool aChanged, TBool aOpaque);
public: // effect cache
IMPORT_C CHuiFxVisualLayer *CloneL() const;
IMPORT_C void SetExtRect( TRect *aExtRect );
IMPORT_C void SetVisual( CHuiVisual *aVisual );
IMPORT_C void SetVisual( MHuiEffectable *aVisual );
void FxmlVisualInputs(RArray<THuiFxVisualSrcType> &aArray);
void SetFxmlUsesOpaqueHint(TBool aValue);
TBool FxmlUsesOpaqueHint() const;
protected:
IMPORT_C void ConstructL(MHuiEffectable* aVisual);
void RegisterParameterL(const TDesC& aName, TRgb* aValue);
void RegisterParameterL(const TDesC& aName, TReal32* aValue);
private:
void ApplyTransformations(CHuiGc& aGc);
//CHuiVisual* iVisual;
MHuiEffectable * iVisual;
CHuiFxParameterManager* iParameterManager;
THuiFxVisualSrcType iSrcType; // default is the visual itself
TReal32 iTranslationX;
TReal32 iTranslationY;
TReal32 iTranslationZ;
TReal32 iScaleX;
TReal32 iScaleY;
TReal32 iScaleZ;
TReal32 iScaleOriginX;
TReal32 iScaleOriginY;
TReal32 iScaleOriginZ;
TReal32 iRotationOriginX;
TReal32 iRotationOriginY;
TReal32 iRotationOriginZ;
TReal32 iRotationAngle;
TReal32 iRotationAxisX;
TReal32 iRotationAxisY;
TReal32 iRotationAxisZ;
TReal32 iSkewAngleX;
TReal32 iSkewAngleY;
TReal32 iSkewAngleZ;
TReal32 iSkewOriginX;
TReal32 iSkewOriginY;
TReal32 iSkewOriginZ;
HBufC* iExtBitmapFile;
TReal32 iOpacity;
TBool iOpaqueHint;
CHuiFxEngine* iEngine; // not own
CHuiFxRenderbuffer* iRenderBuffer; // owned
TBool iVisualContentChanged;
TBool iVisualContentOpaque;
};
#endif /*HUIFXVISUALLAYER_*/