diff options
author | Stijn Buys <ingar@osirion.org> | 2009-01-10 15:36:15 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2009-01-10 15:36:15 +0000 |
commit | 272d229094309bc5875287a5063f818c58c5f4f8 (patch) | |
tree | fb9a84748c0a88bfa0e59f63be51455fc239becc /src/client/hud.h | |
parent | 44500292f5a964036e9d915a38a2773bf5aa765d (diff) |
hud widget, drawing code reorganization
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__ + |