uiacceltk/hitchcock/coretoolkit/inc/HuiFxVisualLayer.h
changeset 0 15bf7259bb7c
child 11 46927d61fef3
child 19 f5bac0badc7e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/uiacceltk/hitchcock/coretoolkit/inc/HuiFxVisualLayer.h	Tue Feb 02 07:56:43 2010 +0200
@@ -0,0 +1,99 @@
+/*
+* 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);
+    IMPORT_C ~CHuiFxVisualLayer();
+    IMPORT_C TBool PrepareDrawL(CHuiFxEngine& aEngine);
+    IMPORT_C void Draw(CHuiFxEngine& aEngine, CHuiGc& aGc, CHuiFxRenderbuffer& aTarget, CHuiFxRenderbuffer& aSource);
+    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;
+    
+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);
+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;
+
+    };
+
+#endif /*HUIFXVISUALLAYER_*/