/* 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_GALAXYMAPWIDGET_H__ #define __INCLUDED_CLIENT_GALAXYMAPWIDGET_H__ #include "core/zone.h" #include "ui/widget.h" namespace client { class GalaxyMapWidget : public ui::Widget { public: GalaxyMapWidget(ui::Widget *parent = 0); virtual ~GalaxyMapWidget(); void set_zoom(const float zoom); void set_zone(core::Zone *zone); inline unsigned int hover() const { return galaxymapwidget_hover_id; } inline core::Zone *zone() const { return galaxymapwidget_zone; } protected: /** * @brief draw event handler * */ virtual void draw(); /** * @brief mouse button press event handler * */ virtual bool on_mousepress(const unsigned int button); /** * @brief mouse button release event handler * */ virtual bool on_mouserelease(const unsigned int button); private: float galaxymapwidget_zoom; core::Zone *galaxymapwidget_zone; unsigned int galaxymapwidget_hover_id; }; // class GalaxyMapWidget } // namespace client #endif // __INCLUDED_CLIENT_GALAXYMAPWIDGET_H__