/* client/map.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_MAP_H__ #define __INCLUDED_CLIENT_MAP_H__ #include "core/entity.h" #include "core/info.h" #include "ui/label.h" #include "ui/scrollpane.h" #include "ui/window.h" namespace client { class Map : public ui::Window { public: Map(ui::Widget *parent = 0); virtual ~Map(); inline unsigned int hover() const { return map_hover; } /// set the map target void set_target(const core::Entity *entity); /// toggle the map window void toggle(); /// hide the map window virtual void hide(); /// show the map window virtual void show(); /// called when the widget receives a key press virtual bool on_keypress(const int key, const unsigned int modifier); protected: virtual void resize(); virtual void draw(); ui::Label *map_targetlabel; ui::ScrollPane *map_scrollpane; unsigned int map_hover; const core::Entity *map_target; const core::Info *map_inforecord; unsigned long map_infotimestamp; ui::Text map_infotext; }; } // namespace client #endif // __INCLUDED_CLIENT_MAP_H__