GLabel.h 903 B

123456789101112131415161718192021222324252627282930313233
  1. #pragma once
  2. #include "GWidget.h"
  3. #include <AK/AKString.h>
  4. #include <SharedGraphics/Painter.h>
  5. class GraphicsBitmap;
  6. class GLabel final : public GWidget {
  7. public:
  8. explicit GLabel(GWidget* parent);
  9. virtual ~GLabel() override;
  10. String text() const { return m_text; }
  11. void set_text(String&&);
  12. void set_icon(RetainPtr<GraphicsBitmap>&&);
  13. const GraphicsBitmap* icon() const { return m_icon.ptr(); }
  14. GraphicsBitmap* icon() { return m_icon.ptr(); }
  15. TextAlignment text_alignment() const { return m_text_alignment; }
  16. void set_text_alignment(TextAlignment text_alignment) { m_text_alignment = text_alignment; }
  17. private:
  18. virtual void paint_event(GPaintEvent&) override;
  19. virtual const char* class_name() const override { return "GLabel"; }
  20. String m_text;
  21. RetainPtr<GraphicsBitmap> m_icon;
  22. TextAlignment m_text_alignment { TextAlignment::Center };
  23. };