--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/uiacceltk/hitchcock/coretoolkit/inc/HuiFxLayer.h Tue Feb 02 07:56:43 2010 +0200
@@ -0,0 +1,100 @@
+/*
+* 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 HUIFXLAYER_
+#define HUIFXLAYER_
+
+#include "HuiFxEngine.h"
+#include "HuiFxRenderbuffer.h"
+
+//FORWARD DECLARATIONS
+class MHuiEffectable;
+
+class CHuiFxLayer: public CBase
+ {
+public:
+ IMPORT_C virtual ~CHuiFxLayer();
+
+ IMPORT_C virtual TBool PrepareDrawL(CHuiFxEngine& aEngine);
+ virtual void Draw(CHuiFxEngine& aEngine, CHuiGc& aGc, CHuiFxRenderbuffer& aTarget, CHuiFxRenderbuffer& aSource) = 0;
+ IMPORT_C virtual TBool VisualArea(TRect& aRect);
+ IMPORT_C virtual TBool Margin( TMargins &m );
+ IMPORT_C virtual void AdvanceTime(TReal32 aElapsedTime);
+ IMPORT_C virtual TBool Changed() const;
+
+ IMPORT_C THuiFxLayerType Type();
+
+ IMPORT_C void SetBlendingMode(THuiFxBlendingMode aOp);
+ IMPORT_C THuiFxBlendingMode BlendingMode() const;
+
+ IMPORT_C void SetDisplayArea(const TRect& aRect);
+ IMPORT_C void SetSourceRect(const TRect& aRect);
+ IMPORT_C void SetTargetRect(const TRect& aRect);
+ IMPORT_C void SetVisualRect(const TRect& aRect);
+
+ IMPORT_C const TRect& SourceRect() const;
+ IMPORT_C const TRect& TargetRect() const;
+ IMPORT_C const TRect& VisualRect() const;
+public: // effect cache
+ IMPORT_C virtual CHuiFxLayer *CloneL() const=0;
+ IMPORT_C virtual void SetExtRect( TRect *aExtRect )=0;
+ IMPORT_C virtual void SetVisual( CHuiVisual *aVisual )=0;
+ IMPORT_C virtual void SetVisual( MHuiEffectable *aVisual )=0;
+ IMPORT_C void CopyFromL(const CHuiFxLayer *aOldLayer);
+
+
+ // Internal flag to tell wheter layer is animated
+ virtual TBool IsAnimated() const;
+ void SetAnimated(TBool aAnimated);
+
+ // Internal flag to tell wheter layer is transformed
+ virtual TBool IsTransformed() const;
+ void SetTransformed(TBool aTransformed);
+
+ // Internal flag to tell wheter layer is filtered
+ virtual TBool IsFiltered() const;
+
+ // Internal flag to tell wheter margin is enabled
+ void EnableMargin(TBool aEnable);
+ virtual void EnableMarginApplyChildren(TBool aEnable);
+ TBool IsMarginEnabled() const;
+
+ // Internal flag to tell wheter transparency is enabled
+ virtual TBool IsSemitransparent() const;
+
+ virtual void FxmlVisualInputs(RArray<THuiFxVisualSrcType> &aArray) { }
+protected:
+ IMPORT_C CHuiFxLayer();
+ IMPORT_C void ConstructL( THuiFxLayerType aType );
+
+protected:
+ TRect iDisplayArea; // used for clipping the effects to the real display area
+
+private:
+ THuiFxBlendingMode iBlendingOp;
+ THuiFxLayerType iLayerType;
+ TRect iSourceRect;
+ TRect iTargetRect;
+ TRect iVisualRect;
+ TBool iAnimated;
+ TBool iTransformed;
+ TBool iMarginEnabled;
+ };
+
+#endif /*HUIFXLAYER_*/