--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/plugin/poi/landmarks/overlay/inc/Overlay.h Fri Jun 25 12:50:05 2010 +0200
@@ -0,0 +1,86 @@
+/*
+ * Name : Overlay.h
+ * Description :
+ * Project : This file is part of OpenMAR, an Open Mobile Augmented Reality browser
+ * Website : http://OpenMAR.org
+ *
+ * Copyright (c) 2010 David Caabeiro
+ *
+ * All rights reserved. This program and the accompanying materials are made available
+ * under the terms of the Eclipse Public License v1.0 which accompanies this
+ * distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ */
+
+#ifndef OVERLAY_H_
+#define OVERLAY_H_
+
+#include <e32base.h>
+#include <GLES/egl.h>
+
+#include "POIOverlay.h"
+
+#include "Matrix4d.h"
+#include "Position.h"
+
+class RWindow;
+class CWsBitmap;
+
+class CAccelerometer;
+class CMagnetometer;
+class CAutoRotation;
+class CManager;
+
+/**
+ * @brief Points of interest overlay
+ *
+ * Uses orientation and position to request POIs around the current location
+ */
+class COverlay : public OpenMAR::CPOIOverlay,
+ public MPositionObserver
+{
+public:
+ static COverlay* NewL(SParameter& aParameter);
+ ~COverlay();
+
+protected:
+ COverlay(SParameter& aParameter);
+ void ConstructL();
+
+public:
+ void StartL();
+ void Stop();
+ const CFbsBitmap& RenderScene();
+
+protected:
+ // From MPositionObserver
+ void PositionUpdateL(TInt aError, const TPosition& aPosition);
+
+public:
+ TInt GetFocusedPOI();
+
+private:
+ CPosition* iPosition;
+ CAccelerometer* iAccelerometer;
+ CMagnetometer* iMagnetometer;
+ CAutoRotation* iAutoRotation;
+
+ CManager* iManager;
+
+private:
+ RWindow& iWindow;
+ TRect iRect;
+
+ EGLDisplay iEglDisplay;
+ EGLSurface iEglSurface;
+ EGLConfig iConfig;
+ EGLContext iEglContext;
+
+ CWsBitmap* iPixmap;
+
+private:
+ Matrix4d iProjection;
+ Matrix4d iModelView;
+};
+
+#endif // OVERLAY_H_