// Ryzom - MMORPG Framework // Copyright (C) 2010 Winch Gate Property Limited // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as // published by the Free Software Foundation, either version 3 of the // License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . #ifndef RY_VIEW_RADAR_H #define RY_VIEW_RADAR_H #include "nel/gui/view_base.h" #include "nel/3d/u_texture.h" #include "nel/gui/view_renderer.h" /** * class implementing a radar view * \author Matthieu 'TrapII' Besson * \author Nevrax France * \date 2003 September */ class CViewRadar : public CViewBase { public: // Update CViewRadar::parse() if you change this enum enum TRadarSpotId { Std = 0, MissionList, MissionAuto, MissionStep, NbRadarSpotIds }; /// Constructor CViewRadar(const TCtorParam ¶m); bool parse(xmlNodePtr cur,CInterfaceGroup * parentGroup); virtual void updateCoords (); /// Draw the view virtual void draw (); REFLECT_EXPORT_START(CViewRadar, CViewBase) REFLECT_FLOAT ("world_size", getWorldSize, setWorldSize); REFLECT_EXPORT_END void setWorldSize(float f) { _WorldSize = f; } float getWorldSize() const { return (float)_WorldSize; } void setUseCamera(bool b) { _UseCamera = b; } protected: double _WorldSize; bool _UseCamera; struct CRadarSpotDesc { CViewRenderer::CTextureId TextureId; CViewRenderer::CTextureId MiniTextureId; bool isMissionSpot; sint32 TxW; sint32 TxH; sint32 MTxW; sint32 MTxH; }; private: CRadarSpotDesc _SpotDescriptions[NbRadarSpotIds]; class CDBMissionIconqObs : public NLMISC::ICDBNode::IPropertyObserver { public: virtual void update( NLMISC::ICDBNode *node); bool _displayMissionSpots; }; CDBMissionIconqObs _MissionIconsObs; class CDBMiniMissionSpotsObs : public NLMISC::ICDBNode::IPropertyObserver { public: virtual void update( NLMISC::ICDBNode *node); bool _displayMiniMissionSpots; }; CDBMiniMissionSpotsObs _MiniMissionSpotsObs; }; #endif // RY_VIEW_RADAR_H /* End of view_radar.h */