/* client/hudplayerstatus.cc This file is part of the Osirion project and is distributed under the terms and conditions of the GNU General Public License version 2 */ #include "client/hudplayerstatus.h" #include "core/core.h" #include "core/application.h" #include "ui/ui.h" #include "ui/paint.h" namespace client { HUDPlayerStatus::HUDPlayerStatus(ui::Widget *parent) : ui::Widget(parent) { set_border(true); set_background(true); set_font(ui::root()->font_tiny()); } void HUDPlayerStatus::draw_background() { ui::Paint::draw_material(global_location(), size(), "ui/window"); } void HUDPlayerStatus::draw() { const float padding = font()->width() * 0.25f; math::Vector2f pos(global_location()); pos[0] += padding; pos[1] += padding; math::Vector2f s(width() - 2.0f * padding, height() - 2.0f * padding); std::ostringstream playerinfostr; playerinfostr << "^B" << core::localplayer()->name() << '\n'; if (core::localcontrol()->info()) { core::game()->request_info(core::localcontrol()->info()->id()); playerinfostr << "^B" << core::localcontrol()->info()->name() << '\n'; } else { playerinfostr << '\n'; } playerinfostr << "^NCredits: " << core::localplayer()->credits(); ui::Paint::set_color(palette()->foreground()); ui::Paint::draw_label(pos, s, font(), playerinfostr.str(), ui::AlignLeft | ui::AlignTop); } bool HUDPlayerStatus::on_keypress(const int key, const unsigned int modifier) { return false; } } // namespace client