graphicstest/uibench/s60/src/openvgengine.h
changeset 0 5d03bc08d59c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicstest/uibench/s60/src/openvgengine.h	Tue Feb 02 01:47:50 2010 +0200
@@ -0,0 +1,83 @@
+ // Copyright (c) 2009 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 OPENVGENGINE_H_
+#define OPENVGENGINE_H_
+
+
+#include "engine.h"
+
+#include <VG/openvg.h>
+#include <EGL/egl.h>
+
+
+const TInt KMaxDisplayCoversExample3 = 40;
+const TInt KMaxDisplayLeftExample3 = -3;
+const TInt KMaxDisplayRightExample3 = 3;
+
+// the max number of covers visible on the screen at any given time
+const TInt KMaxCoversExample3 = 40;
+
+
+class  COpenVGEngine : public CBase, public MEngine
+	{
+public: 
+	static COpenVGEngine* NewL(RWindow& aWindow, EGLDisplay& aDisplay, EGLSurface& aSurface, EGLContext& aContext);
+	~COpenVGEngine();
+	TInt GetSpeed();
+	
+	// From MEngine
+	void ActivateL();
+	void Deactivate();	
+	void Step();
+	TBool IsPending();
+	void Refresh();
+	TKeyResponse HandleKeyEventL(const TKeyEvent& aKeyEvent);
+	
+private: 
+	COpenVGEngine(RWindow& aWindow, EGLDisplay& aDisplay, EGLSurface& aSurface, EGLContext& aContext);
+	void DrawCover(TInt i);
+	void NextCover();
+	void PreviousCover();		
+	void ToggleCoverReflection();
+	VGfloat GetMiddleCoverScalingFactor(VGfloat coverPosition);
+	
+private:
+    RWindow& iWindow;
+    EGLDisplay& iDisplay;
+    EGLSurface& iSurface;
+    EGLContext& iContext;
+    
+	TPoint iOldPos;
+	TBool isResize;
+		
+	VGfloat iCoverLocation[KMaxCoversExample3];
+	VGint iWantedCover;
+    TBool iHasPendingDraw;
+	TBool iShowCoverImage;
+	VGfloat iSpeedOffset;
+	TBool iShowMirror;
+	
+	TSize iSurfaceSize;
+	
+	VGfloat iSpeed;
+	RArray<VGImage> iImages;
+	TInt iCurrentImageIndex;	
+
+	VGPaint iShadowPaint;
+	};
+
+#endif