#include "Label.hpp" #include "Window.hpp" #include "pango/pango-layout.h" #include namespace Raven { void Label::set_text(std::string text) { m_text = text; if (window()) { fit_text(text); } } void Label::on_init() { fit_text(m_text); set_did_init(true); set_do_background_fill(false); } void Label::on_paint() { auto painter = window()->painter(); auto text_color = styles()->label_text_color(); painter.source_rgb(text_color); painter.set_pango_font_description(styles()->controls_font_description()); painter.text(current_geometry(), m_text, PaintTextAlign::Left, PANGO_ELLIPSIZE_NONE, true); painter.fill(); } }