/* ui/label.cc This file is part of the Osirion project and is distributed under the terms of the GNU General Public License version 2 */ #include "math/vector2f.h" #include "ui/paint.h" #include "ui/label.h" using math::Vector2f; namespace ui { Label::Label(Widget *parent, const char *text) : Widget(parent) { set_label("label"); set_text(text); set_alignment(AlignLeft | AlignTop); } Label::~Label() { } void Label::print(size_t indent) { std::string marker(""); con_print << aux::pad_left(marker, indent*2) << label() << " \"" << text() << "\"" << std::endl; } void Label::set_text(const char *text) { if (text) label_text.assign(text); else label_text.clear(); } void Label::set_text(std::string const &text) { label_text.assign(text); } void Label::set_alignment(unsigned int alignment) { label_alignment = alignment; } void Label::draw() { Widget::draw(); draw_text(); } void Label::draw_text() { if (!label_text.size()) return; paint::color(palette()->foreground()); paint::text(global_location(), size(), font(), text(), alignment()); } }