diff -r 000000000000 -r c316ab048e9d plugin/poi/landmarks/overlay/inc/Overlay.h --- /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 +#include + +#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_