From 272d229094309bc5875287a5063f818c58c5f4f8 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Sat, 10 Jan 2009 15:36:15 +0000 Subject: hud widget, drawing code reorganization --- src/client/hud.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/client/hud.h (limited to 'src/client/hud.h') 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__ + -- cgit v1.2.3