diff options
Diffstat (limited to 'src/client/hud.h')
-rw-r--r-- | src/client/hud.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/client/hud.h b/src/client/hud.h new file mode 100644 index 0000000..6882239 --- /dev/null +++ b/src/client/hud.h @@ -0,0 +1,48 @@ +/* + client/hud.h + This file is part of the Osirion project and is distributed under + the terms and conditions of the GNU General Public License version 2 +*/ + +#ifndef __INCLUDED_CLIENT_HUD_H__ +#define __INCLUDED_CLIENT_HUD_H__ + +#include "ui/bitmap.h" +#include "ui/toolbar.h" +#include "ui/widget.h" + +namespace client +{ + +/// widget that contains HUD elements +/** + * The contains all user interface elements + * that are only visible if the client is connected + * and the core is running an interactive module + **/ +class HUD : public ui::Widget { +public: + /// create a new HUD widget + HUD(ui::Widget *parent=0); + +protected: + /// draw hud elements + virtual void draw(); + + /// rearrange child widgets + virtual void resize(); + +private: + + void draw_offscreen_target(core::Entity *entity, bool is_active_target); + + void draw_target(core::Entity *entity, bool is_active_target); + + ui::Bitmap *hud_center; + ui::Toolbar *hud_toolbar; +}; + +} + +#endif // __INCLUDED_CLIENT_HUD_H__ + |