00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00015 #ifndef __OPENVGENGINE_H__
00016 #define __OPENVGENGINE_H__
00017
00018 #include <VG/openvg.h>
00019 #include <EGL/egl.h>
00020 #include "engine.h"
00021
00022 const TInt KImageSize = 128;
00023
00024
00025
00026 const TInt KMaxDisplayCoversExample3 = 40;
00027 const TInt KMaxDisplayLeftExample3 = -3;
00028 const TInt KMaxDisplayRightExample3 = 3;
00029
00030
00031
00032 const TInt KMaxCoversExample3 = 40;
00033
00038 class COpenVGEngine : public CBase, public MEngine
00039 {
00040 public:
00041
00042 static COpenVGEngine* NewL(TSize aSize,EGLDisplay& aDisplay, EGLSurface& aSurface, EGLContext& aContext);
00043 virtual ~COpenVGEngine();
00044 TInt GetSpeed();
00045
00046 void ActivateL();
00047 void Deactivate();
00048 void Step();
00049 TBool IsPending();
00050 TKeyResponse HandleKeyEventL(const TKeyEvent& aKeyEvent);
00051
00052
00053 private:
00054 COpenVGEngine(TSize aSize,EGLDisplay& aDisplay, EGLSurface& aSurface, EGLContext& aContext);
00055
00056 void DrawCover(TInt i);
00057
00058 void NextCover();
00059 void PreviousCover();
00060
00061 void ToggleCoverReflection();
00062 VGfloat GetMiddleCoverScalingFactor(VGfloat coverPosition);
00063
00064
00065 private:
00069 EGLDisplay& iDisplay;
00073 EGLSurface& iSurface;
00077 EGLContext& iContext;
00081 VGImage iImage;
00085 VGfloat iCoverLocation[KMaxCoversExample3];
00089 VGint iWantedCover;
00093 TBool iHasPendingDraw;
00097 VGfloat iSpeedOffset;
00101 TBool iShowMirror;
00105 TSize iSurfaceSize;
00109 VGfloat iSpeed;
00113 RArray<VGImage> iImages;
00117 TInt iCurrentImageIndex;
00121 VGPaint iShadowPaint;
00122 };
00123
00124
00125 #endif