Label.cpp 677 B

12345678910111213141516171819202122232425262728293031323334
  1. #include "Label.h"
  2. #include "Painter.h"
  3. Label::Label(Widget* parent)
  4. : Widget(parent)
  5. {
  6. }
  7. Label::~Label()
  8. {
  9. }
  10. void Label::setText(String&& text)
  11. {
  12. if (text == m_text)
  13. return;
  14. m_text = move(text);
  15. update();
  16. }
  17. void Label::paintEvent(PaintEvent&)
  18. {
  19. Painter painter(*this);
  20. painter.fillRect({ 0, 0, width(), height() }, backgroundColor());
  21. if (!text().is_empty())
  22. painter.drawText({ 4, 4, width(), height() }, text(), Painter::TextAlignment::TopLeft, foregroundColor());
  23. }
  24. void Label::mouseMoveEvent(MouseEvent& event)
  25. {
  26. printf("Label::mouseMoveEvent: x=%d, y=%d\n", event.x(), event.y());
  27. Widget::mouseMoveEvent(event);
  28. }