/* client/mapwidget.h This file is part of the Osirion project and is distributed under the terms of the GNU General Public License version 2 */ #ifndef __INCLUDED_CLIENT_MAPWIDGET_H__ #define __INCLUDED_CLIENT_MAPWIDGET_H__ #include "core/zone.h" #include "ui/widget.h" namespace client { class MapWidget : public ui::Widget { public: MapWidget(ui::Widget *parent = 0); virtual ~MapWidget(); void set_zoom(const float zoom); void set_zone(core::Zone *zone); void set_target(const core::Entity *entity); inline unsigned int hover() const { return mapwidget_hover_id; } inline const core::Entity *target() const { return mapwidget_target; } inline core::Zone *zone() const { return mapwidget_zone; } protected: virtual void draw(); /// called when the widget receives a key press virtual bool on_keypress(const int key, const unsigned int modifier); private: float mapwidget_zoom; core::Zone *mapwidget_zone; const core::Entity *mapwidget_target; unsigned int mapwidget_hover_id; }; // class MapWidget } // namespace client #endif // __INCLUDED_CLIENT_MAPWIDGET_H__